网址:
http://blog.csdn.net/jackyu613/archive/2011/01/13/6136620.aspx
原作者写的非常好,翻译的也非常好
1、当编写本地应用程序时,可以使用property_get和property_set 这两个API来读取/设置属性。要使用它们,我们需要include cutils/properties.h,并链接libcutils库。
即:
#include <cutils/properties.h>
在Android.mk里添加
LOCAL_STATIC_LIBRARIES:=libcutils
2、"Android在Java库中提供System.getProperty和System.setProperty方法,我们Java程序可以通过他们来设置和获得属性。
但是请注意!虽然从语法上面看Java的代码和Native代码非常相近,但是Java版本存储把属性存在其他地方,而不是我们上面提到的属性系统中。在JVM中有一个hash表来维护Java的属性。所以Java属性和Android属性是不同的,不能用Java API(System.getProperty和System.setProperty)来设置系统属性。也不能通过Native的方法(property_get和property_set)设置Java的属性。
更新: Andrew 指出android.os.SystemProperties可以操作Android系统属性(虽然这个类倾向于内部使用)。这个类通过JNI调用Native的property_get和property_set方法来获得和设置属性。"
上面这一段刚开始没有看懂。原来:
System.getProperty和System.setProperty方法不能设置android系统属性;
android.os.SystemProperties可以操作Android系统属性。
3、java中怎么使用SystemProperties.set和SystemProperties.get呢?
如果是在源码中: import android.os.SystemProperties;
如果是sdk中的应用程序:
导入库: :android-sdk-path/platforms/android-8/data/layoutlib.jar
然后import android.os.SystemProperties;