Android属性系统都有哪些

 我来答
du子饿
2018-01-27 · TA获得超过7053个赞
知道大有可为答主
回答量:2825
采纳率:95%
帮助的人:178万
展开全部
  • 在Android系统里,为了让C和JAVA语言间可进行数据传输,除了使用JNI机制来处理,还可以使用属性系统来处理,这样更方便,也更容易处理,

  • 在JAVA语言里,我们可以使用SystemProperties.get/set来处理;而在C里面,我们可以使用property_get/set来处理,相应的例子如下:

  • 1、Java      

    import android.os.SystemProperties;       

    SystemProperties.set("persist.sys.language",zone.getID());       

    String.get("persist.sys.language");       

    其中以persist开头的属性会在/data/property目录下创建相应的文件,如果以ro开头则是只读,不可变更该属性值。

  • 2、C

    #include <cutils/properties.h>

    property_set("persist.sys.language","zh");

    property_get("persist.sys.language",pLang,"en");

    还需要包含libcutils库。

  • 看到上面的属性名了吧,相同的名字,这样就可以在C与JAVA之间进行属性或参数传递了,当然属性名也是有长度限制的,由PROP_NAME_MAX宏指定,而属性值也一样有限制,由PROP_VALUE_MAX宏指定,在Android源码里的frameworks/base/core/java/android/os/SystemProperties.java文件里可以查看到,对应的值分别是31和91。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式