android

184 阅读3分钟

Android中的SharedPreferences存储数据方式 SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的用户名和密码。只能在同一个包内使用,不能在不同的包之间使用,其实也就是说只能在创建它的应用中使用,其他应用无法使用。 修改和存储数据 1).根据Context的getSharedPrerences(key,【模式】)方法获取SharedPreference对象。 2).利用SharedPreference的editor()方法获取Editor对象。 3).通过Editor的putXXX()方法,将键值对存储数据。 4).通过Editor的commit()方法将数据提交到SharedPreference内。 获取SharedPreferences对应有3种方法: (1)Context类中的getSharedPreferences()方法 getSharedPreferences(String name,int mode); 参数name:保存的文件名,若该文件不存在,则会在创建Editor时创建。 参数mode:三种形式 MODE_PRICATE:指定该sharedPreferences数据只能被本应用程序读、写。 MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读、但不能写。 MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。 (2)Activity类中的getPreferences()方法 (3)PreferenceManager类中的getDefaultSHaaredPreferences()方法区别: 调用Context对象的getSharePreferences()方法获得的SharedPreferences对象可以被统一应用程序下的其他组件共享。 调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用。 上述实在同一个应用程序中进行数据存储,若需要操作另外一个应用中的Sharedpreference。 1)在创建SharedPref 2)Android中的SharedPreferences存储数据方式 3)SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的用户名和密码。只能在同一个包内使用,不能在不同的包之间使用,其实也就是说只能在创建它的应用中使用,其他应用无法使用。 4)修改和存储数据 5)1).根据Context的getSharedPrerences(key,【模式】)方法获取SharedPreference对象。 6)2).利用SharedPreference的editor()方法获取Editor对象。 7)3).通过Editor的putXXX()方法,将键值对存储数据。 8)4).通过Editor的commit()方法将数据提交到SharedPreference内。 9)获取SharedPreferences对应有3种方法: 10)(1)Context类中的getSharedPreferences()方法 11)getSharedPreferences(String name,int mode); 12)参数name:保存的文件名,若该文件不存在,则会在创建Editor时创建。 13)参数mode:三种形式 14)MODE_PRICATE:指定该sharedPreferences数据只能被本应用程序读、写。 15)MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读、但不能写。 16)MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。 17)(2)Activity类中的getPreferences()方法 18)(3)PreferenceManager类中的getDefaultSHaaredPreferences()方法区别: 19)调用Context对象的getSharePreferences()方法获得的SharedPreferences对象可以被统一应用程序下的其他组件共享。 20)调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用。 21)上述实在同一个应用程序中进行数据存储,若需要操作另外一个应用中的Sharedpreference。 22)1在创建SharedPreferences时,指定MODE_WORLD_READABL模式,表明该SharedPreferences数据可以被其他程序读取。 23)2)创建其他应用程序对应的Context; 24)Context pvCount = createPackageContex(String packname,Context.CONTEXT_JGNORE_SECURITY);这里的packname就是其他程序的包。 25)3)使用其他程序的的Context获取对应的SharedPreferences read = pvCount.getSharePreferences(“lock”,Context.MODE_WORLD_READABLE); 26)4)如果是写入数据,使用Editor接口即可,所有其他造作均和前面一致。 27)获得Shared Preferences中的数据,用Sharedpreferences对象的getString(String key,String default);若没有对应的键,则返回值为default。 28)但是SharedPreferences中能存储boolean、float、int、String、long这五种基本数据类型。