android自定义控件打包成jar文件
内容纲要
• Android自定义View封装的必要性
• Android自定义View难于封装成jar包的原因
• Android自动生成的R类简介
• Android打包R类的解决方案
• 用反射方式实现解决方案
• 注意事项
View封装必要性
• 封装是为了复用
• 封装是为了积累成果,避免“重复发明轮子”。
• 而做为手机客服端开发,视图界面的开发工作量已经是主要
工作类容之一。从而更显出View的封装的必要性,和实用性
难封装的原因
• 系统自动生成的R类如果被打到jar包中后,就失去了索引资源的作
用。导致封装成jar包的view无法获取对应资源。因为R类的属性值
是在应用编译打包时由系统自动分配的。
R类简介
• R是在程序编译时自动生成的,相当于资源字典或索引。
• R类结构示例如下图:
打包R类的解决方案
• 问题
R类打包之后失效,实际是因为R类的内部类里面的属性失效,因
为打包之后这些属性的值就固定了,但是实际项目中这些值是在编译
时有系统自动分配的,无法在编译前固定。
• 解决思路
如果能在view初始化(及程序运行时),执行一个初始化过程,
将此时项目中R内部类的对应值,复制给view jar包中的R内部类的对
应值,则能解决这个问题。由于各个View jar包中的R类内部类的属
性个数和属性名是不确定的,所以使用java反射机制来实现上述思路 。
解决方案
注意事项
相关推荐
Nostalgiachild 2020-11-13
韩伟佳 2020-10-09
wuleihenbang 2020-09-16
zzqLivecn 2020-07-09
chenjinlong 2020-06-10
yinbaoshiguang 2020-06-09
sgafdsg 2020-06-04
ustcrding 2020-06-03
chenjinlong 2020-06-03
AndroidGA 2020-06-01
安辉 2020-05-27
绿豆饼 2020-05-26
CNETNews 2020-05-26
xilove0 2020-05-12
绿豆饼 2020-05-12
ChainDestiny 2020-05-07
doomvsjing 2020-05-07
hqulyc 2020-05-05
lyccsu 2020-04-30