- public class SPActivity extends Activity {
- /**使用SharedPreferences 来储存与读取数据**/
- SharedPreferences mShared = null;
- /**程序中可以同时存在多个SharedPreferences数据, 根据SharedPreferences的名称就可以拿到对象**/
- public final static String SHARED_MAIN = "main";
- /**SharedPreferences中储存数据的Key名称**/
- public final static String KEY_NAME = "name";
- public final static String KEY_NUMBER = "number";
- /**SharedPreferences中储存数据的路径**/
- public final static String DATA_URL = "/data/data/";
- public final static String SHARED_MAIN_XML = "main.xml";
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- setContentView(R.layout.sharedpreferences);
- /**拿到名称是SHARED_MAIN 的SharedPreferences对象**/
- mShared = getSharedPreferences(SHARED_MAIN, Context.MODE_PRIVATE);
- /**拿到SharedPreferences中保存的数值 第二个参数为如果SharedPreferences中没有保存就赋一个默认值**/
- String name = mShared.getString(KEY_NAME, "数据库中没有储存姓名");
- String number = mShared.getString(KEY_NUMBER, "数据库中没有储存号码");
- final EditText editName = (EditText)findViewById(R.id.sp_et0);
- final EditText editNumber = (EditText)findViewById(R.id.sp_et1);
- editName.setHint("上次输入的姓名为【 " +name+"】");
- editNumber.setHint("上次输入的号码为【 " +number+"】");
- Button button0 = (Button)findViewById(R.id.sp_button0);
- /**监听按钮点击后保存用户输入信息到SharedPreferences中**/
- button0.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- /**拿到用户输入的信息**/
- String name = editName.getText().toString();
- String number = editNumber.getText().toString();
- /**开始保存入SharedPreferences**/
- Editor editor = mShared.edit();
- editor.putString(KEY_NAME, name);
- editor.putString(KEY_NUMBER, number);
- /**put完毕必需要commit()否则无法保存**/
- editor.commit();
- ShowDialog("保存SharedPreferences成功");
- }
- });
- Button button1 = (Button)findViewById(R.id.sp_button1);
- button1.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- /**开始清除SharedPreferences中保存的内容**/
- Editor editor = mShared.edit();
- editor.remove(KEY_NAME);
- editor.remove(KEY_NUMBER);
- //editor.clear();
- editor.commit();
- ShowDialog("清除SharedPreferences数据成功");
- }
- });
- Button button2 = (Button)findViewById(R.id.sp_button2);
- button2.setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View arg0) {
- /** 删除SharedPreferences文件 **/
- File file = new File(DATA_URL + getPackageName().toString()
- + "/shared_prefs", SHARED_MAIN_XML);
- if (file.exists()) {
- file.delete();
- }
- ShowDialog("删除SharedPreferences文件成功");
- }
- });
- super.onCreate(savedInstanceState);
- }
- public void ShowDialog(String string) {
- AlertDialog.Builder builder = new AlertDialog.Builder(SPActivity.this);
- builder.setIcon(R.drawable.icon);
- builder.setTitle(string);
- builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
- public void onClick(DialogInterface dialog, int whichButton) {
- finish();
- }
- });
- builder.show();
- }
- }
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- >
- <ImageView android:id="@+id/sp_image"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:src="@drawable/image"
- android:layout_gravity="center"
- />
- <EditText android:id="@+id/sp_et0"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:hint="请输入你的姓名">
- </EditText>
- <EditText android:id="@+id/sp_et1"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:hint="请输入你的号码">
- </EditText>
- <Button android:id="@+id/sp_button0"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="保存输入内容shared">
- </Button>
- <Button android:id="@+id/sp_button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="清除shared保存内容">
- </Button>
- <Button android:id="@+id/sp_button2"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="删除shared文件">
- </Button>
- </LinearLayout>
相关推荐
在压缩包文件"SharePre"中,可能包含了一个简单的Android项目,用于演示上述的SharedPreferences操作。这个项目可能有一个Activity或Fragment,展示了如何在用户界面中输入数据并将其保存到SharedPreferences,以及...
1. 避免在主线程中进行大量SharedPreferences操作,可能会阻塞UI。 2. 在使用SharedPreferences时,最好先检查key是否存在,避免空指针异常。 3. 尽量避免存储敏感信息,因为SharedPreferences是明文存储的,安全性...
"Android-Kotlin的一个小型Rx驱动sharedpreferences库"就是这样一个库,它将 RxJava2 的功能与 Kotlin 的简洁性相结合,为开发者提供了更加高效和易于使用的SharedPreferences操作。 首先,这个库的核心思想是通过...
在实际项目中,我们常常会将SharedPreferences操作封装成一个工具类,提供静态方法供其他组件调用,以提高代码的可维护性和复用性。 通过分析`SharedPreferencesTest`这个示例,你可以更深入地理解如何在Android...
《Bulldog:简化SharedPreferences操作的开源库》 在Android开发中,SharedPreferences是一个常用的轻量级持久化数据存储方式,用于保存应用的简单配置数据,如键值对。然而,传统的SharedPreferences操作往往需要...
`SharedPreferences.Editor`的操作会先在内存中进行,直到调用`apply()`或`commit()`时才写入磁盘,这样避免了并发冲突。 除了基本的读写操作,还可以使用`remove()`删除某个键值对,`clear()`清空所有数据。另外,...
此外,虽然这种方式可以解决临时存储List的问题,但它并不适合大量或频繁的数据操作,因为SharedPreferences不是设计来处理复杂数据结构的。对于复杂数据存储,推荐使用SQLite数据库或者Room库,或者使用现代的云...
SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于应用程序保存一些简单的配置信息,如用户设置、应用状态等。它的操作简单,适用于不需要复杂数据库存储的场景。在Android开发中,...
**Android中的SharedPreferences** SharedPreferences是Android系统提供的一种轻量级的数据存储机制,主要用于应用程序保存简单的配置信息,如用户设置、应用状态等。它采用键值对(key-value pairs)的形式存储...
在Android应用开发中,SharedPreferences是保存...对于那些关心数据安全且希望简化SharedPreferences操作的开发者来说,这是一个非常有价值的工具。在实际项目中,可以结合这个库来实现更安全、更高效的偏好设置管理。
【Android中的DataStore替代SharedPreferences】 Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序...
二、SharedPreferences操作API 1. `getSharedPreferences(String name, int mode)`: 通过此方法获取SharedPreferences对象,name是配置文件的名称,mode是访问模式。 2. `edit()`: 返回一个`SharedPreferences....
接着,`1-120Z4013T50-L.png`可能是用来辅助说明SharedPreferences操作的图表或流程图。通过这张图片,我们可以直观地了解SharedPreferences在Android应用中的使用流程,比如创建实例、保存数据、读取数据等步骤。 ...
- 避免在主线程中执行耗时的SharedPreferences操作,可能造成界面卡顿。 6. **示例代码** 下面是一个简单的SharedPreferences使用示例: ```java SharedPreferences preferences = getSharedPreferences(...
注意,为了安全性和性能,跨应用共享SharedPreferences时,应谨慎处理数据的读写操作,避免出现数据冲突或安全漏洞。同时,对于敏感信息,考虑加密存储,以提高数据安全性。 在给定的压缩包文件中,...
总的来说,rxkprefs是一个旨在简化Android应用中SharedPreferences操作的RXJava驱动的Kotlin库。它通过提供一个更高效、更易于理解和维护的API,改善了原生SharedPreferences API的不足,同时也为开发者带来了RXJava...
在这个"SharedPreferences例子"中,我们将深入探讨如何使用SharedPreferences进行数据的保存、更改和删除操作。 首先,理解SharedPreferences的基本概念至关重要。SharedPreferences是一个键值对存储系统,它可以...