`

SharedPreferences 操作

 
阅读更多
  1. public class SPActivity extends Activity {  
  2.      
  3.     /**使用SharedPreferences 来储存与读取数据**/  
  4.     SharedPreferences mShared = null;  
  5.   
  6.     /**程序中可以同时存在多个SharedPreferences数据, 根据SharedPreferences的名称就可以拿到对象**/  
  7.     public final static String SHARED_MAIN = "main";  
  8.      
  9.     /**SharedPreferences中储存数据的Key名称**/  
  10.     public final static String KEY_NAME = "name";  
  11.     public final static String KEY_NUMBER = "number";  
  12.       
  13.     /**SharedPreferences中储存数据的路径**/  
  14.     public final static String DATA_URL = "/data/data/";  
  15.     public final static String SHARED_MAIN_XML = "main.xml";  
  16.       
  17.       
  18.     @Override  
  19.     protected void onCreate(Bundle savedInstanceState) {  
  20.     setContentView(R.layout.sharedpreferences);  
  21.     /**拿到名称是SHARED_MAIN 的SharedPreferences对象**/  
  22.     mShared = getSharedPreferences(SHARED_MAIN, Context.MODE_PRIVATE);  
  23.     /**拿到SharedPreferences中保存的数值 第二个参数为如果SharedPreferences中没有保存就赋一个默认值**/  
  24.     String name = mShared.getString(KEY_NAME, "数据库中没有储存姓名");  
  25.     String number = mShared.getString(KEY_NUMBER, "数据库中没有储存号码");  
  26.       
  27.     final EditText editName = (EditText)findViewById(R.id.sp_et0);  
  28.     final EditText editNumber = (EditText)findViewById(R.id.sp_et1);  
  29.     editName.setHint("上次输入的姓名为【 " +name+"】");  
  30.     editNumber.setHint("上次输入的号码为【 " +number+"】");  
  31.       
  32.     Button button0 = (Button)findViewById(R.id.sp_button0);  
  33.       
  34.     /**监听按钮点击后保存用户输入信息到SharedPreferences中**/  
  35.     button0.setOnClickListener(new  OnClickListener() {  
  36.           
  37.         @Override  
  38.         public void onClick(View arg0) {  
  39.         /**拿到用户输入的信息**/  
  40.         String name = editName.getText().toString();  
  41.         String number = editNumber.getText().toString();  
  42.         /**开始保存入SharedPreferences**/  
  43.         Editor editor = mShared.edit();  
  44.         editor.putString(KEY_NAME, name);  
  45.         editor.putString(KEY_NUMBER, number);  
  46.         /**put完毕必需要commit()否则无法保存**/  
  47.         editor.commit();  
  48.         ShowDialog("保存SharedPreferences成功");  
  49.           
  50.         }  
  51.     });  
  52.       
  53.     Button button1 = (Button)findViewById(R.id.sp_button1);  
  54.     button1.setOnClickListener(new  OnClickListener() {  
  55.           
  56.         @Override  
  57.         public void onClick(View arg0) {  
  58.         /**开始清除SharedPreferences中保存的内容**/  
  59.         Editor editor = mShared.edit();  
  60.         editor.remove(KEY_NAME);  
  61.         editor.remove(KEY_NUMBER);  
  62.         //editor.clear();   
  63.         editor.commit();  
  64.         ShowDialog("清除SharedPreferences数据成功");  
  65.         }  
  66.     });  
  67.       
  68.     Button button2 = (Button)findViewById(R.id.sp_button2);  
  69.     button2.setOnClickListener(new OnClickListener() {  
  70.   
  71.         @Override  
  72.         public void onClick(View arg0) {  
  73.         /** 删除SharedPreferences文件 **/  
  74.         File file = new File(DATA_URL + getPackageName().toString()  
  75.             + "/shared_prefs", SHARED_MAIN_XML);  
  76.         if (file.exists()) {  
  77.             file.delete();  
  78.         }  
  79.         ShowDialog("删除SharedPreferences文件成功");  
  80.         }  
  81.     });  
  82.       
  83.       
  84.     super.onCreate(savedInstanceState);  
  85.     }  
  86.   
  87.     public void ShowDialog(String string) {  
  88.     AlertDialog.Builder builder = new AlertDialog.Builder(SPActivity.this);  
  89.     builder.setIcon(R.drawable.icon);  
  90.     builder.setTitle(string);  
  91.     builder.setPositiveButton("确定"new DialogInterface.OnClickListener() {  
  92.         public void onClick(DialogInterface dialog, int whichButton) {  
  93.         finish();  
  94.         }  
  95.     });  
  96.     builder.show();  
  97.     }  
  98. }  
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2.   
  3. <LinearLayout xmlns:Android="http://schemas.android.com/apk/res/android"  
  4.     android:layout_width="fill_parent"   
  5.     android:layout_height="fill_parent"  
  6.     android:orientation="vertical"  
  7.     >  
  8.     <ImageView android:id="@+id/sp_image"  
  9.         android:layout_width="wrap_content"  
  10.          android:layout_height="wrap_content"  
  11.         android:src="@drawable/image"  
  12.         android:layout_gravity="center"  
  13.         />  
  14.     <EditText android:id="@+id/sp_et0"  
  15.               android:layout_width="fill_parent"  
  16.               android:layout_height="wrap_content"  
  17.               android:hint="请输入你的姓名">  
  18.     </EditText>  
  19.     <EditText android:id="@+id/sp_et1"  
  20.               android:layout_width="fill_parent"  
  21.               android:layout_height="wrap_content"  
  22.               android:hint="请输入你的号码">  
  23.     </EditText>  
  24.     <Button   android:id="@+id/sp_button0"  
  25.               android:layout_width="wrap_content"  
  26.               android:layout_height="wrap_content"  
  27.               android:text="保存输入内容shared">  
  28.     </Button>  
  29.     <Button   android:id="@+id/sp_button1"  
  30.               android:layout_width="wrap_content"  
  31.               android:layout_height="wrap_content"  
  32.               android:text="清除shared保存内容">  
  33.     </Button>  
  34.     <Button   android:id="@+id/sp_button2"  
  35.               android:layout_width="wrap_content"  
  36.               android:layout_height="wrap_content"  
  37.               android:text="删除shared文件">  
  38.     </Button>  
  39. </LinearLayout>  
分享到:
评论

相关推荐

    android SharedPreferences小例子

    在压缩包文件"SharePre"中,可能包含了一个简单的Android项目,用于演示上述的SharedPreferences操作。这个项目可能有一个Activity或Fragment,展示了如何在用户界面中输入数据并将其保存到SharedPreferences,以及...

    SharedPreferences解析

    1. 避免在主线程中进行大量SharedPreferences操作,可能会阻塞UI。 2. 在使用SharedPreferences时,最好先检查key是否存在,避免空指针异常。 3. 尽量避免存储敏感信息,因为SharedPreferences是明文存储的,安全性...

    Android-Kotlin的一个小型Rx驱动sharedpreferences库

    "Android-Kotlin的一个小型Rx驱动sharedpreferences库"就是这样一个库,它将 RxJava2 的功能与 Kotlin 的简洁性相结合,为开发者提供了更加高效和易于使用的SharedPreferences操作。 首先,这个库的核心思想是通过...

    sharedpreferences数据库例子

    在实际项目中,我们常常会将SharedPreferences操作封装成一个工具类,提供静态方法供其他组件调用,以提高代码的可维护性和复用性。 通过分析`SharedPreferencesTest`这个示例,你可以更深入地理解如何在Android...

    Bulldog,为了简化对sharedpreferences的读写,不要再编写这样的代码prefs.edit().putstring(“somekey”,“somestring”).apply().zip

    《Bulldog:简化SharedPreferences操作的开源库》 在Android开发中,SharedPreferences是一个常用的轻量级持久化数据存储方式,用于保存应用的简单配置数据,如键值对。然而,传统的SharedPreferences操作往往需要...

    读写SharedPreferences中的数据

    `SharedPreferences.Editor`的操作会先在内存中进行,直到调用`apply()`或`commit()`时才写入磁盘,这样避免了并发冲突。 除了基本的读写操作,还可以使用`remove()`删除某个键值对,`clear()`清空所有数据。另外,...

    SharedPreferences存取list集合

    此外,虽然这种方式可以解决临时存储List的问题,但它并不适合大量或频繁的数据操作,因为SharedPreferences不是设计来处理复杂数据结构的。对于复杂数据存储,推荐使用SQLite数据库或者Room库,或者使用现代的云...

    SharedPreferences

    SharedPreferences是Android系统提供的一种轻量级的数据存储方式,主要用于应用程序保存一些简单的配置信息,如用户设置、应用状态等。它的操作简单,适用于不需要复杂数据库存储的场景。在Android开发中,...

    sharedpreferences

    **Android中的SharedPreferences** SharedPreferences是Android系统提供的一种轻量级的数据存储机制,主要用于应用程序保存简单的配置信息,如用户设置、应用状态等。它采用键值对(key-value pairs)的形式存储...

    Android-简单的shareprefer操作库可以选择是否加密

    在Android应用开发中,SharedPreferences是保存...对于那些关心数据安全且希望简化SharedPreferences操作的开发者来说,这是一个非常有价值的工具。在实际项目中,可以结合这个库来实现更安全、更高效的偏好设置管理。

    Android中DataStore替代SharedPreferences

    【Android中的DataStore替代SharedPreferences】 Android开发者们长期以来一直依赖SharedPreferences作为轻量级的数据存储解决方案,它的简单易用性使其在小规模数据存储方面受到了广泛欢迎。然而,随着应用程序...

    应用源码之(游戏保存之SharedPreference).zip

    二、SharedPreferences操作API 1. `getSharedPreferences(String name, int mode)`: 通过此方法获取SharedPreferences对象,name是配置文件的名称,mode是访问模式。 2. `edit()`: 返回一个`SharedPreferences....

    Android sharedPref学习源码.rar

    接着,`1-120Z4013T50-L.png`可能是用来辅助说明SharedPreferences操作的图表或流程图。通过这张图片,我们可以直观地了解SharedPreferences在Android应用中的使用流程,比如创建实例、保存数据、读取数据等步骤。 ...

    安卓Android源码——SharePreferencesSample.rar

    - 避免在主线程中执行耗时的SharedPreferences操作,可能造成界面卡顿。 6. **示例代码** 下面是一个简单的SharedPreferences使用示例: ```java SharedPreferences preferences = getSharedPreferences(...

    SharedPreferences文件在不同应用之间数据共享

    注意,为了安全性和性能,跨应用共享SharedPreferences时,应谨慎处理数据的读写操作,避免出现数据冲突或安全漏洞。同时,对于敏感信息,考虑加密存储,以提高数据安全性。 在给定的压缩包文件中,...

    rxkprefs,一个小型的,RX驱动的Kotlin共享首选项库。.zip

    总的来说,rxkprefs是一个旨在简化Android应用中SharedPreferences操作的RXJava驱动的Kotlin库。它通过提供一个更高效、更易于理解和维护的API,改善了原生SharedPreferences API的不足,同时也为开发者带来了RXJava...

    SharedPreferences例子

    在这个"SharedPreferences例子"中,我们将深入探讨如何使用SharedPreferences进行数据的保存、更改和删除操作。 首先,理解SharedPreferences的基本概念至关重要。SharedPreferences是一个键值对存储系统,它可以...

Global site tag (gtag.js) - Google Analytics