现在在移动大潮流的带动下,移动支付,互联网金融的兴起,正在推动着中国互联网+快速发展,一切的推动的前提是要有一个成型的实体来支撑,这个实体就是互联网服务,现在智能手机随处可见,4G网络也正处于快速发展阶段,wifi更是随处可见,在各种便利前提条件下,移动互联网顺势而起,曾几何时,我们的手机还就是一个通话工具,打打电话,发发短信而已,别无他用,随着iphone ios以及android等只能手机系统出现之后,出现了大批的移动应用开发人员,有些是以公司形式开发,有些是个人独立开发创业,不管是什么形式,都使移动平台的服务越来越多样化,越来越个性化,在这个竞争激烈的行业,如何才能在同等的时间内创造最大化的利润,这就需要我们提高生产率,那么如何提高我们的生产率呢?有句话叫上阵杀敌,兵器先行,为什么这么说呢,因为赤手空拳很难至敌人与死地,所以,任何生产都需要借助一些工具,开发也不例外,现在开发工具太多了,选择一个自己喜欢的熟悉的即可,有了工具只是第一步,那接下来还需要什么呢?先那个例子说一下吧,现在给你一个功能让你开发,你可能直接拿工具用基本的java来进行开发了,但是你有没有发现,你好多模块需要自己来实现,而且具体效果没有经过时间和大范围测试,用户体验性等方面都是未知的,所以,为了避免这些问题,引入了第二个提高效率的,那就是框架。框架就是别人封装好的,针对现有需求做的一些工具类,通过这些既有实现,可以快速开发适用,高效的互联网应用。所以,综上所述,提高开发效率共需要一下几个前提:
如果你对以上几点都已经掌握了,那你已经可以在移动互联网的世界遨游了,只要你有想法,你就可以创造奇迹,因为Everything is possable,所以放开怀抱,走向Android。
下面我们进入今天的正题,就是什么是ThinkAndroid?
ThinkAndroid是一个免费的开源的、简易的、遵循Apache2开源协议发布的Android开发框架,其开发宗旨是简单、快速的进行 Android应用程序的开发,包含Android mvc、简易sqlite orm、ioc模块、封装Android httpclitent的http模块, 具有快速构建文件缓存功能,无需考虑缓存文件的格式,都可以非常轻松的实现缓存,它还基于文件缓存模块实现了图片缓存功能, 在android中加载的图片的时候,对oom的问题,和对加载图片错位的问题都轻易解决。他还包括了一个手机开发中经常应用的实用工具类, 如日志管理,配置文件管理,android下载器模块,网络切换检测等等工具(https://github.com/white-cat/ThinkAndroid)
ThinkAndroid共有如下一个模块,稍后我会详细介绍每个模块
MVC模块:实现视图与模型的分离。
ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
数据库模块:android中的orm框架,使用了线程池对sqlite进行操作。
http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
下载器模块:可以简单的实现多线程下载、后台下载、断点续传、对下载进行控制、如开始、暂停、删除等等。
网络状态检测模块:当网络状态改变时,对其进行检测。
下面我们详细介绍一下。
MVC对于做过Web开发的人来说一点都不陌生,MVC是模型-试图-控制器的缩写,通过层次划分,可以有效降低模块之间的耦合性,提高扩展能力,而且MVC经历的多年的验证和考验,可以稳定高效的满足我们的需求,所以ThinkAndrod也借鉴了MVC的优秀架构设计思想,将架构分离,实现视图和控制器相分离。同时ThinkAndroid将acticity之间的跳转进行了封装,使用doActivity()方法实现,同时重载很多方法共我们选择,如果感觉不是特别好还可以继承后自己重写。同时页面空间直接注入我觉得也给我们实际开发提供了很多便捷,提高了复用性,还有很多功能今天就不再写了,51后会根据每个模块逐一详解,希望大家可以多多指点,写得不对的还希望大家给予纠正。