1. 目前Android开发已经成熟到了极致,拥有大量的成熟开源框架和第三方库以及AndroidStudio等优秀的工具,可以说开发非常的方便。那么拿到一个项目后,到底该考虑哪些模块呢?下面列出了一个Android互联网app大多需要涵盖的模块,其中有些事功能上的,有些是控件上的,以供参考
启动页面
功能引导(类似于viewpager)
登陆与注册
忘记密码/修改密码
主界面
侧边栏(SlideingMenu, DrawerLayout)
Material Design 定制theme到AndroidManifest的application theme中
ORM框架(无需再用contentprovider或者sqlitedatebasehelper之类的古董工具了)
规划各种业务Bean文件(配合ORM框架)
Http请求框架(推荐volley)
JSON解析和构建框架(Gson,不要用jackson因为比较大,除非需要用嵌套的需求)
设计一个好的请求基类(BaseRequest、BaseResponse)
JWT
BaseActivity和BaseFragment(把公用的代码写在里面,比如检测网络、弹出alertdialog等等)
定制一个Application类代替默认的(很多第三方框架需要把一些代码写到定制的Application类里面)
消息推送(比如友盟)
用户反馈(比如友盟)
数据统计(比如友盟)
更新(比如友盟)
数据备份和恢复
点赞、评论、收藏模块
About界面
在线crash log上报(比如腾讯的bugly)
快速开发框架(这里推荐使用butterknife和eventbus)
内存泄漏检测工具(leakcanary)
图片加载库(Glide)
加密解密(RSA)
带有删除的EditText
定制下拉加载的控件
listview/recyclerview的基础adapter
定制搜索框
工具类(比如sharepreference,File,ScreenDesity,Sql,字符串处理,dpsp互转等等)
底部加载更多
自定义alertdialog等对话框(可以写在BaseActivity中)
通用的popupwindow
快速返回顶部按钮
Toolbar代替actionbar
各种新式的Material design兼容控件
界面滑动冲突的问题(横竖冲突、同向冲突)
离线登录功能
bitmap缓存策略
2. 当软件开发到一定时间后,有一个Android Studio的工具不可不用,即Android Lint,它可以帮你发现代码中潜在的问题,当然有的可能是误报,解决的时候需要一一审查。使用这个功能的步骤如下图:
3. 最后项目要发布了,那么久需要混淆和打包了,前者关于混淆网上有很多相关的文章,这里需要注意的是很多你所使用的第三方库都需要在混淆的时候给剔除,因为他们是基于反射机制的。这点需要你在使用每个第三方库的时候多看他们的说明书多加小心。其次,混淆后一定要打个包重新回归测试一下,以免出现因混淆而导致的问题。
对于后者打包的问题,可以参考我的另一篇文章