android开发笔记之Systemproperties数据读写

      对于整个系统全局通用的,跨APP应用共享的一些简单的数据,有二个比较好的处理方式。

     一个是在设置DB数据库中保存一个数据,这个方法在《如何在设置DB数据库中保存一个数据》有比较详细的说明。

   

  另外一个就是Systemproperties:

import android.os.SystemProperties;


获取数据:

String vipPassStr = SystemProperties.get("persist.sys.hyvip.password", HYVIP_FUNCTION_DEFAULT_PASSWORD);


设置数据:

 SystemProperties.set("persist.sys.hyvip.password", "set_default_value");



     需要注意的是android属性的名称是有一定的格式要求的,如下:前缀必须用system\core\init\property_service.c中定义的前缀,

进行系统属性设置的程序也必须有system或root权限,

如何将android程序的权限提升到system权限?方法是这样的:

1、在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system"。

2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE := platform。

经过以上两步就可以把ap的权限提升到system权限了。但是用这种方法提升权限有两个弊端,如下:

1、程序的拥有都必须有程序的源码;

2、程序的拥有都还必须有android开发环境,就是说自己能make整个android系统。



参考资料:

1.Android SystemProperties设置/取得系统属性的用法总结

http://blog.csdn.net/ameyume/article/details/8056492

2.ystemProperties与Settings.system

http://blog.csdn.net/xxxsz/article/details/7480354


你可能感兴趣的:(android)