Android数据存储方式之:SharePreference

    做开发肯定离不了数据,因为编程=算法+数据。做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 SAVE_FILE_NAME = "save_spref";
private static final String SAVE_FILE_KEY = "save_key";


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewsById();
mSharedPreferences = getSharedPreferences(SAVE_FILE_NAME, MODE_PRIVATE);
mEditor = mSharedPreferences.edit();
/**如果要取得对应的值*/
String getContent = mSharedPreferences.getString(SAVE_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(SAVE_FILE_KEY, content);
}
}
/**
* mSharedPreferences=getSharedPreferences(SAVE_FILE_NAME, MODE_PRIVATE);//
方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上;
方法的第二个参数指定文件的操作模式,共有四种操作模式。
四种操作模式分别为:
1. MODE_APPEND: 追加方式存储
2. MODE_PRIVATE: 私有方式存储,其他应用无法访问
3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取
4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入
*/
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。