对Android属性系统的应用

2025-11-15 19:38:36

 在Android系统里,为了让C和JAVA语言间可进行数据传输,除了使用JNI机制来处理,还可以使用属性系统来处理,这样更方便,也更容易处理。

方法/步骤

在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。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
相关推荐
  • 阅读量:167
  • 阅读量:127
  • 阅读量:94
  • 阅读量:60
  • 阅读量:159
  • 猜你喜欢