一个android应用的从无到有01

需求:

参考:wifi管家,架构我们自己控制累应用。

(领导说话就这样,一句话剩下的是需求拆解)

需求分析:

  • 首先wifi管家,分为三个内容板块,另加一个个人中心。
  • (首页)第一个内容中心主要是:设备控制类/体验为主
  • 第二个内容中心主要是:设备绑定,一键链接
  • 第三个内容中心主要是:新闻咨询
  • 首页右上角,是个人中心的入口

    根据需求选择合适的开发框架

    通过整体布局可以看到,整体可采用三个。
  • 开发框架的选择:MVC MVP MVVM;MVC简单易上手、MVP MVVM比较绕不建议新手使用。
  • 权衡是否使用开源的框架,还是自己写?开源的简单看懂文档就可以直接拿来用,可能有很多功能用不上。自己写建议用到什么写什么自己掌控。

这里我先尝试使用:使用之前建议现将代码demo熟悉过来

ThinkAndroid框架


项目地址:https://github.com/white-cat/ThinkAndroid

主要有以下模块:

(1) MVC模块:实现视图与模型的分离。

(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。

(3) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。

(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。

(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置

(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。

(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。

(8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印

(9) 下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。

(10) 网络状态检测模块:当网络状态改变时,对其进行检


框架确定好了,根据需求依赖,看看有没有开源的库和动画与需求匹配(当然可能准备的最后用不上,哈哈哈)

NotBoringActionBar

项目地址:https://github.com/flavienlaurent/NotBoringActionBar


由于人力变动等,外力条件该项目暂时搁置。

再次启动时间无限期推迟。