您的位置:首页 > 移动开发 > Android开发

Android数据存储方式之:SharePreference

2015-03-26 14:46 429 查看
做开发肯定离不了数据,因为编程=算法+数据。做Android应用开发常用到的数据存储方式有以下五种:

1 ,使用SharedPreferences存储数据

2, 文件存储数据

3 ,SQLite数据库存储数据

4 ,使用ContentProvider存储数据

5, 网络存储数据

今天就简单介绍下第一种存储方式:使用SharedPreferences存储数据。

---------------------------使用SharedPreferences存储数据-----------------------------------------------------

SharePreference 是一个轻量级的存储机制。只能存储一些基础类型,以xml文件为载体。文件存放路径为data/data/包名/share_prefs/文件名.xml存储的时候类似于Map,key-Value值对。存放数据的时候需要调用到SharePreference接口的一个editor属性,通过editor进行数据添加,移除等操作数据,而且必须调用editor的commit方法。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/LinearLayout1"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" >

<EditText

android:id="@+id/input_edt"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:hint="请输入保存内容" />

<Button

android:id="@+id/save_btn"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="保存数据" />

</LinearLayout>

----------------存取数据操作----------------------------------

public class MainActivity extends Activity implements OnClickListener {

/**内容输入框 */

private EditText inputEdt;

/**保存按钮 */

private Button saveBtn;

/**SharedPreferences*/

private SharedPreferences mSharedPreferences;

/**Editor*/

private Editor mEditor;

private static final String S***E_FILE_NAME = "save_spref";

private static final String S***E_FILE_KEY = "save_key";

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

findViewsById();

mSharedPreferences = getSharedPreferences(S***E_FILE_NAME, MODE_PRIVATE);

mEditor = mSharedPreferences.edit();

/**如果要取得对应的值*/

String getContent = mSharedPreferences.getString(S***E_FILE_KEY, "");

inputEdt.setText(getContent);

}

private void findViewsById() {

inputEdt = (EditText) findViewById(R.id.input_edt);

saveBtn = (Button) findViewById(R.id.save_btn);

saveBtn.setOnClickListener(this);

}

@Override

public void onClick(View v) {

if (v.getId() == R.id.save_btn) {

String content = inputEdt.getText().toString();

mEditor.putString(S***E_FILE_KEY, content);

}

}

/**

* mSharedPreferences=getSharedPreferences(S***E_FILE_NAME, MODE_PRIVATE);//

方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上;

方法的第二个参数指定文件的操作模式,共有四种操作模式。

四种操作模式分别为:

1. MODE_APPEND: 追加方式存储

2. MODE_PRIVATE: 私有方式存储,其他应用无法访问

3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取

4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入

*/

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: