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: 表示当前文件可以被其他应用写入
*/
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值