Android java方法实现调用系统属性

本文介绍了在Android应用开发中如何正确地设置和获取系统属性。由于Java API中的System.getProperty和System.setProperty方法无法用于Android系统属性,文章推荐使用android.os.SystemProperties类中的get和set方法,并说明了如何在Eclipse项目中引入必要的库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     最近在写一个测试apk时需要调用Android的系统属性来设置相关的标志位,但在使用标准的java库中的System.getProperty和System.setProperty方法并不能获得Android中的系统属性,而且会出现空指针崩溃。查阅相关资料发现,虽然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的属性。

      虽然不能通过上述的方法得到Android的系统属性值,但Android提供了另一个api来获取这些值,即调用android.os.SystemProperties中的SystemProperties.get()和SystemProperties.set()方法来实现Android系统属性的设置和获取。但需要注意的是在eclipse的工程中我们直接用import来导入android.os.SystemProperties会报错提示找不到这个包名。经过查询android.os.SystemProperties在layoutlib.jar库文件中,此库文件在sdk\platforms\android-xxx\data\中,手动导入到工程的库文件里就OK了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值