android 本地存储数组,Android 保存数组信息在本地
项目中有一个需求,从接口获取用户的权限信息。所有的权限信息是这样的:"authorities": ["1003","1002","1001"]每个数字代表一个权限,有权限就返回相应的数字,没有权限就不返回。如果是一个权限还好处理,在多个权限的时候就有点难了,后来搜到这篇文章可以用json把数组转成字符串,再储存起来。储存:List authorities = pms.authorities;//获
项目中有一个需求,从接口获取用户的权限信息。所有的权限信息是这样的:
"authorities": [
"1003",
"1002",
"1001"
]
每个数字代表一个权限,有权限就返回相应的数字,没有权限就不返回。
如果是一个权限还好处理,在多个权限的时候就有点难了,后来搜到这篇文章
可以用json把数组转成字符串,再储存起来。
储存:
List authorities = pms.authorities;//获得返回的json数组
JSONArray jsonArray = new JSONArray();
jsonArray.addAll(authorities);
SharedPreferences.Editor editor = prefs.edit();
editor.putString(“authorities”,jsonArray.toString());
editor.commit();
读取:
public static boolean hasAuthority(String authority) {
SharedPreferences sp = getSharedPreferences(“authorities”, Context.MODE_PRIVATE).
JSONArray jsonArray = JSON.parseArray(prefs.getString("authorities", "[]"));
return jsonArray.contains(authority);
}
使用时只需要执行hasAuthority方法,传入“1001” 就可以判断是否有1001的权限。
if (hasAuthority("1001")) {
执行有权限的操作
}
更多推荐
所有评论(0)