Android抽取Module问题总结

来源:互联网 发布:日常工作提醒软件 编辑:程序博客网 时间:2024/05/21 00:19

最近项目不算太忙,要将登录这块抽成Model的形式,在以后如果公司还有开发其他项目,直接可以引用,因为项目是AndroidStudio,毫无疑问,要创建module的依赖了(相当于eclipse的jar包形式)

1 创建module--》选择 Android Library--》xxModel(注意包名不要和宿主项目的包名一样,可以在宿主包名后加上xxModel,显得专业一些,起码可以表示是公司的model吧)。

2 创建好后,在宿主也就是app的gradle里依赖这个module(compile project(‘xxModel’),然后AndroidStudio会提示AsycNow,要求重新编译项目,你点击即可。

3 前两步完成后,基本上这个xxModel就做好了,你可以从宿主app拷贝(最好不要拷贝,下面会说一些注意事项),或者自己写相关基类,相关的界面,最好是可构造出来的界面以及自定义的组合控件,方便宿主直接继承,少写代码的目的,业务逻辑的话当然要在宿主app里完成,model里边的只是一些公用,常用的控件,业务的耦合还是要在宿主app内完成。

注意事项(是我的血泪史)

1 当时从宿主app复制布局,图片等到module里,拷贝完没有删宿主app里的布局,而module里边的布局名字等都和宿主app的一致,导致一直报错,最常见的是这种错误,ClassCastException  com.xxx.xxx.widget cannot be cast xx.widget,是因为布局layout的名字一样,导致在module里,也是优先使用宿主app里的布局,更改module的布局名字或者把宿主app 里相同的需要抽取的布局删掉即可

2 我这个自定义控件报错比较多,注意自定义控件的包名要写全部,可能还是拷贝的问题,最好自己建立重新命名吧

3 既然要抽取模块,就别给自己留有退路,复制完直接删掉宿主app里拷贝相关的布局图片等,就不会发生此类问题,写个博客,以此留念,希望大家不要犯和我相同的问题!

1 0
原创粉丝点击