您的位置:首页 > 移动开发 > Android开发

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

2015-06-09 11:19 162 查看
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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: