Open fWX228941 opened 7 months ago
1.需求 在暗码工程模式的菜单功能中支持第三方添加制定的功能到菜单功能 标题工程模式
2.实现方案 通过meta-data方案,在三方应用的AndroidManifest.xml中,使用meta-data将该应用需要在其对应集群模式下显示的菜单项进行标识,一般是在响应菜单的activity项下进行配置。需要配置的内容包括名称,显示顺序,显示模式等。配置方法与说明如下:
指定要跳转的工程模式界面
<meta-data android:name="com.caltta.config.factory.name" android:value="XXX" /> 名字(默认Btrunc /公网/PDT)
<meta-data android:name="com.caltta.config.factory.order" android:value="XXX" /> 顺序(默认按照字母,Btrunc(100)/PDT(80)/公网(50))
取值范围是-200 - 200
3.示例 例如应用需要显示 GPS的工厂模式菜单项到菜单例表。其响应Activity配置如下: <activity android:name=".GPSTestActivity" android:exported="true">
<meta-data
android:name="com.caltta.config.factory.name"
android:value="测试的工程模式" />
<meta-data
android:name="com.caltta.config.factory.order"
android:value="80" />
</activity>
Features定制功能宏控策略
Features定制功能宏控实现
1.宏控目的
1.1.满足各项目的需求定制
1.2.宏控策略,业务的功能点与项目解耦
1.3.定制需求,需求的功能点可以通过宏控策略快速完成配置
应用层宏控
目的:用于系统应用、独立开发应用的功能控制策略
宏控集成
关键点
宏控方案中带有资源文件,所以无法以jar包的方式集成,而是以library的方式集成
不要混淆,Feature中几个负责读取标签的java类,比如Product,Model,Custom等是在运行期间反射构造,如果被混淆了,运行期间会因找不到该类而崩溃。
应用宏控初始化
Feature对象init(初始化)需要在Applicaion中调用
Eclipse集成方法 将Feature做为library导入
Android Studio集成方法
在settings.gradle文件,将Feature include到工程中
哪个Module需要使用Feature库,就在该Module的build.gradle中添加implements
系统应用集成方法
修改该应用的Android.mk文件,在include $(BUILD_PACKAGE) 中把Feature 添加进来
通用集成方法
直接把Feature相关的代码,复制到自己的应用中
宏控添加
在应用模块的res/valuse/feature_define.xml文件中,通过declare-styleable的方式进行Feature定义
attr 定义功能项的名称 format 定义类型
定义新功能宏只用在declare-styleable中添加如内容“
mata-data 方案