xml里面product的值在哪里设置的?

转载请注明出处:http://blog.csdn.net/droyon/article/details/39890469

在进行Android应用程序开发时,善于运用xml中的product配置,可以达到优化代码的目的。

例如:我们需要一个根据设备是否含有模拟sd卡存储区,显示不同的描述的需求,一般来说,我们需要这样来实现:

<string name="filter_apps_onsdcard">"含有模拟SD卡"</string>
<string name="filter_apps_nosdcard">"无模拟SD卡"</string>
String desc = "";
        if (Environment.isExternalStorageEmulated()) {
            desc = getString(R.string.filter_apps_onsdcard);
        }else{
            desc = getString(R.string.filter_apps_nosdcard);
        }

如果我们善用xml资源的写法,我们的代码可以这样写:
<string name="filter_apps_sdcard" product="default">"含有模拟SD卡"</string>
<string name="filter_apps_sdcard" product="nosdcard">"无模拟SD卡"</string>
String desc = "";
        desc = getString(R.string.filter_apps_sdcard);

在代码中省去了判断逻辑,我们的代码运行效率更高。那么问题来了, “挖掘机技术那家强”, 。


额,赤裸裸的被洗脑了。言归正传,看到上述的资源配置,我很想知道,product可以进行填写那些值或者取值来源。

其实product对应的值来源于“PRODUCT_CHARACTERISTICS”所对应的赋值。


在我们编译android系统时,根据不同的项目,会执行makefile文件,其中每个项目都可以对每个项目进行PRODUCT_CHARACTERISTICS赋值。例如:

./device/lge/hammerhead/device.mk

PRODUCT_CHARACTERISTICS := nosdcard
如果我们编译的android工程烧录到设备中,这个值会写入/system/build.prop中。
ro.build.characteristics=nosdcard
只不过,在build.prop中,这个属性为只读属性,不可更改。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇