«

android数据存储读取1:SharedPreferences(对比IOS)

时间:2024-3-2 18:53     作者:韩俊     分类: Android


android中提供了一个轻量级的数据存储方法:SharedPreferences

IOS中同样也有一个轻量级的数据存储方法:preference

android相关类:SharedPreferences

IOS相关类:NSUserDefaults

android:

sharedPreference 的保存格式是xml。

保存路径:

/data/data/<packagename>/shared_prefs

使用场景非常的多,比如保存用户名 帐号 密码 或者应用的一些偏好设置 等等

使用起来也非常的简单:(分为读写两部分)

public staticboolean saveUserInfo(Context context, String number, String password) {

try {

// /data/data/包名/shared_prefs/test

SharedPreferences sp = context.getSharedPreferences("test", Context.MODE_PRIVATE);

// 获得一个编辑对象

Editor edit = sp.edit();

// 存数据

edit.putString("number", number);

edit.putString("password", password);

// 提交, 数据真正存储起来了.

edit.commit();

returntrue;

} catch (Exception e) {

e.printStackTrace();

}

returnfalse;

}


public static Map<String, String> getUserInfo(Context context) {

SharedPreferences sp = context.getSharedPreferences("test", Context.MODE_PRIVATE);

String number = sp.getString("number",null);

String password = sp.getString("password",null);

if(!TextUtils.isEmpty(number) && !TextUtils.isEmpty(password)) {

Map<String, String> userInfoMap = new HashMap<String, String>();

userInfoMap.put("number", number);

userInfoMap.put("password", password);

return userInfoMap;

}

returnnull;

}

这里保存文件的格式可以指定为:

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE权限以及 Context.MODE_PRIVATE。

sharedpreference 持久化数据非常的方便。同时不同的应用程序之间也可以用这个属性交互数据:

1.两个应用程序需要在AndroidManifest.xml中manifest节点里添加sharedUserId属性,并且要一样,而且还要有两级。

2.该preference创建时必须指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。
3.获取另外一个应用的context:

ContextotherAppsContext = createPackageContext("包名", Context.CONTEXT_IGNORE_SECURITY);

4.获取需要共享sharedPreference

SharedPreferencessharedPreferences=otherAppsContext.getSharedPreferences("test",Context.MODE_WORLD_READABLE);






标签: android

热门推荐