一个快速开发APP的框架:AndroidQuick
项目地址:
https://github.com/ddnosh/AndroidQuick
AndroidQuick
Android快速开发框架
项目简介
AndroidQuick项目旨在提供一套让能Android开发者快速开发APP的框架。
AndroidQuick从开发一个APP所涉及到的常用的架构、模块、功能等方面出发,向Android开发者提供一套快速开发框架,避免开发过程中重复造轮子。
AndroidQuick分为两大部分:sample和core,以下有具体介绍。
适用范围
由于本框架目的是为了快速开发一款APP,因此所提供的功能主要是APP经常用到的功能,并不包含所有Android开发可能涉及到的功能。
如果需要了解Android开发过程中需要的更多功能,请参考另一个项目:https://github.com/ddnosh/SEOP
本项目适用于以下几种情形:
- 开发一款新的APP;
- 对现有APP进行重构设计;
- 常用实现的代码示例;
工程目录
- core
- sample
- GreenDaoGenerator
sample
sample提供了架构、模块、功能的实现示例;
core
core封装了通用的实现,我们将其打包成一个aar包,提供给APP引用。
引用方式:compile ‘la.xiong.androidquick:AndroidQuick:latest.release’
功能说明
- sample
- 目录结构
- Module
- MVP
- MVP for Activity
- MVP for Fragment
- Network
- Retrofit+CommonUrl
- Retrofit+DifferentUrl
- Retrofit+Download
- Retrofit+CommonUrl+Get
- Common Http
- Database
- GreenDao
- OrmLite
- Image
- Glide
- Bus
- EventBus
- IOC
- ButterKnife
- Dagger2
- Task
- Task-Scheduler
- Task-RxJava
- MVP
- Function
- UI
- Fragment
- CommonFragment
- Fragmentation
- Adapter
- CommonAdapter
- MultiViewTypeAdapter
- BaseRecycleViewAdapterHelper
- Bar-Top
- DefaultToolbar
- CommonToolbar
- Bar-Bottom
- RadioButton
- BottomBar
- Dialog
- DialogActivity
- LoadingDialog
- CommonDialog
- DialogFragment
- DialogActivity
- Tab
- SmartTabLayout
- FlycoTabLayout
- Refresh
- SwipeRefreshLayout
- SmartRefreshLayout
- Banner
- WebView
- DataBinding
- VaryPageStatus
- Fragment
- Permission
- Permission-Camara
- Permission-Fragment-Call
- Json
- RaJava
- SharedPreferences
- UI
- Architecture
- OneLayout-MultipleViews
- OneView-MultipleModules
- WebView-JavaScripts
- Other
- Code
- RxLifecycle
- Lambda
- Module
- 功能说明
- BaseActivity
抽象类,继承自QuickActivity,实现了一些QuickActivity的抽象方法;
- BaseTActivity
抽象类,采用MVP架构,并用泛型实现,并引入dagger2库;
- BaseVActivity
抽象类,引入DataBinding的支持;
- BaseTVActivity
抽象类,相比BaseTActivity,增加了DataBinding的支持;
- BaseFActivity
抽象类,用于配合Fragmentation组件使用;
- BaseFragment、BaseTFragment、BaseVFragment、BaseTVFragment、BaseFFragment
功能类同于对应的Activity;
- 开源组件
- Dagger2
- GreenDao
- MarkDown
- Banner
- SmartTabLayout
- FlycoTabLayout
- FastJson
- Fragmentation
- RxJava
- BaseRecyclerViewAdapterHelper
- 目录结构
- Core
- 功能说明
- QuickActivity
- 多状态页面(loading、empty、error、networkerror)
- 设备信息
- 页面转场动画
- ButterKnife 8+ support
- DataBinding support
- 沉浸式标题栏
- 默认toolbar
- ActivityManager
- EventBus
- Network status monitor
- 页面跳转
- Android 6.0+权限控制
- 包含LoadingDialog和CommonDialog
- QuickFragment
基本类同QuickActivity,注意fragment生命周期。
- Adapter
- CommonAdapter
通用adapter类 - MultiItemCommonAdapter
增加ItemType支持的通用adapter类 - BaseRecyclerViewAdapterHelper
第三方开源adapter库
- Dialog
- for activity
- LoadingDialog
- CommonDialog
- for fragment
- CommonDialog
- 多分辨率适配
实现原理:http://blog.csdn.net/ddnosh/article/details/78941302
- 网络请求
HttpURLConnection封装
加入Retrofit2支持- 图片处理
加入Glide支持
- styles.xml
提供上百种style支持,满足各种UI风格设计
- tools
DialogUtil、FileUtil、GsonHelper、IOUtil、LogUtil、NetUtil、ReflectUtil、SpUtil、StringUtil、ToastUtil
- task
异步任务处理机制
- eventbus
集成通用传递事件
- 开源组件
- EvnentBus
- ButterKnife
- Retrofit+OkHttp
- Gson
- Glide
- immersion
- RxLifecycle
- 功能说明
- GreenDaoGenerator
GreenDao生成数据库文件示例工程
更多相关文章
- Android(安卓)AndroidManifest.xml文件的android:supportsRtl属
- Android的多媒体框架OpenCore(PacketVideo)介绍
- 第15章 Android启动过程 [Android应用开发与系统改造实战]
- Android(安卓)支持多屏幕机制
- Android(安卓)SDK 2.2 开发环境搭建
- android中使用sqlite、复制assets下的数据库到SD卡、支持大于1M
- Android开发资源完全汇总
- 4款手机中必备的APP,用过之后一定会让你舍不得卸载
- Android开发者e周报 第4期