android 数据存储--SharedPreferences

    xiaoxiao2021-12-14  21

    Demo下载:http://download.csdn.net/detail/qq_33220645/9700080

    当有一个相对较小的key-value集合需要保存时,可以使用SharedPreferences APIs。 SharedPreferences 对象指向一个保存key-value pairs的文件,并为读写他们提供了简单的方法。每个 SharedPreferences 文件均由framework管理,其既可以是私有的,也可以是共享的。 

    获取SharedPreference

    我们可以通过以下两种方法之一创建或者访问shared preference 文件:

    getSharedPreferences() — 如果需要多个通过名称参数来区分的shared preference文件, 名称可以通过第一个参数来指定。可在app中通过任何一个Context 执行该方法。getPreferences() — 当activity仅需要一个shared preference文件时。因为该方法会检索activity下默认的shared preference文件,并不需要提供文件名称。 /**  * SharedPreference数据持久化  * 其中mode的值有:  *Context.MODE_PRIVATE ----只能被本应用程序读写  *Context.MODE_WORLD_READBALE ---能被其他程序读取、但是不能写  *Context.MODE_WORLD_WRITEABLE ---能被其他程序读、写  */

    /** * SharedPreference数据持久化 * 其中mode的值有: *Context.MODE_PRIVATE ----只能被本应用程序读写 *Context.MODE_WORLD_READBALE ---能被其他程序读取、但是不能写 *Context.MODE_WORLD_WRITEABLE ---能被其他程序读、写 */ public class MainActivity extends AppCompatActivity { private EditText et_username,et_password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } private void initView() { et_username = (EditText) findViewById(R.id.et_username); et_password = (EditText) findViewById(R.id.et_password); } /** * 查看按钮点击事件 * @param view */ public void lookClick(View view) { SharedPreferences sp =getSharedPreferences("user",Context.MODE_PRIVATE); //sp.getString("username","")如果没有数据默认值为空串 Toast.makeText(getApplicationContext(),"用户名:"+sp.getString("username","")+"\n"+"密码:"+ sp.getString("password",""),Toast.LENGTH_SHORT).show(); } /** * 保存用户名和密码 * @param view */ public void saveClick(View view) { String name = et_username.getText().toString().trim(); String pwd = et_password.getText().toString().trim(); if(!"".equals(name)&&!"".equals(pwd)){ //实例化SharedPreferences对象(第一步) /** * 参数一:文件名称 * 参数二:访问模式 */ SharedPreferences sp =getSharedPreferences("user",Context.MODE_PRIVATE); //实例化SharedPreferences.Editor对象(第二步) SharedPreferences.Editor editor = sp.edit(); editor.putString("username",name); editor.putString("password",pwd); //提交当前数据 editor.commit(); Toast.makeText(getApplicationContext(),"用户名密码保存成功",Toast.LENGTH_SHORT).show(); } else { Toast.makeText(getApplicationContext(),"用户名密码不能为空",Toast.LENGTH_SHORT).show(); } } }

    SharedPreferences文件存储的位置为data->data->应用程序包名->shared_prefs中

    SharedPreferences清除数据

     SharedPreferences sp =getSharedPreferences("user",Context.MODE_PRIVATE);  sp.edit().clear().commit();

    以下为清除过以后的文件

    有数据的时候

    转载请注明原文地址: https://ju.6miu.com/read-964418.html

    最新回复(0)