Base-Android快速开发框架(一)--概述
首先简单介绍一下Base。Base是本人长期以来经过10来款APP总结出来的一个Android快速开发框架。包含数据缓存模块、工具包、第三方组件包、网络模块、数据解析、常用主界面布局等。可以快速的开发Android应用,适合新手入门以及快速开发。
当然Base里面也引用了很多第三方的框架,并非所有都是原创。当然所引用的模块也是这么多项目累积出来的,比较稳定、好用的,可避免少走弯路。
接下来大概分几个阶段介绍,包含整体框架介绍、数据缓存、网络模块、常用第三方组件包、常用主界面布局等,在介绍的途中也会分享一些做项目的经验。最后把源码上到github,希望有大神加入,一起来完善、优化。
简单粗暴,先上下整体的介绍。
UI层:主要封装BaseActivity、BaseAdapter、BaseFragment。
业务层:处理好界面的业务逻辑,让UI层只关注初始化控件、初始化数据库、绑定数据。
网络层:使用AsyncHttpClient,为异步的网络加载框架。后续根据服务器约定的接口业务,制定CustomAsyncHttpClient。并带有URL管理及MD5加密管理。
数据解析层:采用FastJson,封装有JsonUtil类,可对json进行直接的对象、集合互转。
数据层:采用ORM框架,通过标注形式,自动创建数据库及表,对数据库进行对象操作。对xml文件存储、对象序列号存储、以及数据的持久化存储, 配置文件(shared perference)等。
组件及工具:组件汇集了如圆形图片、下拉刷新、瀑布流、侧滑、以及其他自定义的组件,工具包包含一些常用的日期时间、字符、加密、文件、图片处理等。
第三方sdk:友盟分享、极光推送、环形IM等的集成,支付宝、微信、银联支付等的集成;
Base-Android快速开发框架(一)--概述的更多相关文章
- Android快速开发框架ZBLibrary源码分享
坐标标准库ZBLibrary,是一个MVP架构的Android快速开发框架,提供一套开发标准(UI,Data,Listener)以及模板和工具类并规范代码. 封装层级少,简单高效兼容性好.Androi ...
- AndroidAnnotations(Code Diet)android快速开发框架
最近用了一款很不错的android快速开发框架,1000行的代码瞬间变成几百行,不用你会后悔的 特点: (1) 依赖注入:包括view,extras,系统服务,资源等等(2) 简单的线程模型,通过an ...
- [原] Android快速开发框架-AndroidFine,GitHub开源
Android快速开发框架 UI组件,不止是简单整合,更易用 沉浸式状态栏,界面更漂亮 左滑返回,非常流畅 简单.可复用.易扩展的底部导航 PagerSlidingTabStrip,导航标签文字颜色和 ...
- Android快速开发框架汇总
知乎贴:Android 开发有什么好的架构么? 里面这篇不错:Architecting Android…The clean way? 知乎贴: 一.如果对App的性能.包size有要求,对代码有洁癖不 ...
- Android 快速开发框架XUtils
转载自:http://www.apkbus.com/forum.php?mod=viewthread&tid=241060&highlight=xUtils 最近搜了一些框架供初学者学 ...
- 使用android快速开发框架afinal的FinalDb操作android数据库
http://my.oschina.net/yangfuhai/blog/87459 今天给大家介绍下#afinal#来操作android的数据库sqlite. #afinal#是一个android的 ...
- android 快速开发框架
https://github.com/lipanquan/LPQRapidDevelopmentFramework 依赖LPQLibrary https://github.com/lipanquan/ ...
- Android 快速开发框架:推荐10个框架:afinal、ThinkAndroid、andBase、KJFrameForAndroid、SmartAndroid、dhroid..
对于Android初学者以及对于我们菜鸟,这些大神们开发的轻量级框架非常有用(更别说开源的了). 下面转载这10个框架的介绍:(按顺序来吧没有什么排名). 一. Afinal 官方介绍: Afina ...
- 常用Android快速开发框架
在做项目的过程中遇到了很多困难,于是收集了一些快速开发的框架,使用后大大提高了项目开发速度,无论什么项目都可以使用的到,在此分享给大家,希望能对大家有帮助!(个人建议:有时间的同学可以看一下这些优秀框 ...
随机推荐
- 读书笔记 (一) ———Fundamentals of Multiagent Systems with NetLogo Examples by Prof. Jose M Vidal
在网上发现Prof. Jose M Vidal用NetLogo仿真Multi-agent system的视频,随后下载他的著作Fundamentals of Multiagent Systems wi ...
- 1176: [Balkan2007]Mokia - BZOJ
Description维护一个W*W的矩阵,每次操作可以增加某格子的权值,或询问某子矩阵的总权值. 修改操作数M<=160000,询问数Q<=10000,W<=2000000.Inp ...
- CSS+DIV:父DIV相对定位+子DIV绝对定位
如何在一个div内将一个div进行绝对定位呢?很简单,把父div的position属性设为relative,子div的position属性设为absolute就可以了... 示例: <html& ...
- django 的mysql数据配置
原地址:http://blog.csdn.net/gamesofsailing/article/details/21465327 在成功安装python-mysql后,开始配置django的mysql ...
- hdu 3032 Nim or not Nim? 博弈论
这题是Lasker’s Nim. Clearly the Sprague-Grundy function for the one-pile game satisfies g(0) = 0 and g( ...
- MAT使用总结
最近在做项目的时候遇到一个内存泄漏,最后通过MAT定位了问题, 先介绍一下MAT的一些基本概念: Shallow Heap:对象本身占用内存的大小,不包含对其他对象的引用,也就是对象头加成员变量(不是 ...
- codeforces #313 div1 A
捕获一只野生大水题! 首先我们知道边长为L的正三角形含有边长为1的小正三角形为L^2个 那么我们可以通过在六边形的正上,左下,右下补充正三角形使得原图形变成正三角形 然后再将补充的减去即可 #incl ...
- [itint5]棋盘漫步
要注意dp[0][0]要初始化为1. int totalPath(vector<vector<bool> > &blocked) { int m = blocked.s ...
- Let's go! (Ubuntu下搭建Go语言环境)
自2009年Go语言发布以来,我一直在关注Go语言,如今Go语言已经发展到1.2版本,而且也收到越来越多的人关注这门语言.Go语言设计的目的就是为了解决执行数度快但是编译数度并不理想(如C++)以及编 ...
- 解决 IntelliJ 乱码问题
原文:解决 IntelliJ 乱码问题 汉字符在IntelliJ的控制台输出乱码.编译器在编译的时候,把汉字符编译成非UTF-8而引起乱码.我是在做Jsoup解析的时候出现的错误,其实归根结底确实编译 ...