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: 表示当前文件可以被其他应用写入
*/
}
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: 表示当前文件可以被其他应用写入
*/
}
相关文章推荐
- Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?
- Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?
- Android数据存储方式:SharePreference、SQLite、ContentProvider
- Android数据存储方式:SharePreference、SQLite、ContentProvider有什么不同?
- Android 常见的数据存储方式
- Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File
- Android数据的四种存储方式
- android系列:数据存储的几种方式
- Android数据的四种存储方式
- Android五种数据存储方式
- Android数据的四种存储方式
- Android数据存储方式
- Android数据的存储方式
- Android中的SharedPreferences存储数据方式
- Android 四大数据存储方式
- Android数据存储方式(一)文件
- android数据的几种存储方式
- Android的数据存储方式 总结
- android 数据存储五种方式总结
- Android中5种数据存储方式