安卓 框架

韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha

安卓 框架 html

========java


android-framework

 

1. 缓存android

名称                                                                     描述git

DiskLruCache                                        Java实现基于LRU的磁盘缓存github

2.图片加载ajax

名称                                                                           描述算法

Android Universal Image Loader         一个强大的加载,缓存,展现图片的库sql

Picasso                                                  一个强大的图片下载与缓存的库数据库

Fresco                                                 一个用于管理图像和他们使用的内存的库编程

Glide一个图片加载和缓存的库

3. 图片处理

名称                                                                       描述

Picasso-transformations                     一个为Picasso提供多种图片变换的库

Glide-transformations                        一个为Glide提供多种图片变换的库

Android-gpuimage                             基于OpenGL的Android过滤器

4. 网络请求

名称                                                              描述

Android Async HTTP                        Android异步HTTP库

AndroidAsync                                     异步Socket,HTTP(客户端+服务器),WebSocket,和socket.io库。基于NIO而不是线程。

OkHttp                                           一个Http与Http/2的客户端

Retrofit                                           类型安全的Http客户端

Volley                                             Google推出的Android异步网络请求框架和图片加载框架

5. 网络解析

名称                                                     描述

Gson                一个Java序列化/反序列化库,能够将JSON和java对象互相转换

Jackson            能够轻松地将Java对象转换成json对象和xml文档,一样也能够将json、xml转 换成Java对象

Fastjson            Java上一个快速的JSON解析器/生成器

HtmlPaser        一种用来解析单个独立html或嵌套html的方式

Jsoup               一个以最好的DOM,CSS和jQuery解析html的库

6. 数据库

名称                                                       描述

OrmLite                            JDBC和Android的轻量级ORM java包

Sugar                               用超级简单的方法处理Android数据库

GreenDAO                       一种轻快地将对象映射到SQLite数据库的ORM解决方案

ActiveAndroid                 以活动记录方式为Android SQLite提供持久化

SQLBrite                         SQLiteOpenHelper 和ContentResolver的轻量级包装

Realm                             移动数据库:一个SQLite和ORM的替换品

7. 依赖注入

名称                                                       描述

ButterKnife                                   将Android视图和回调方法绑定到字段和方法上

Dagger2                                       一个Android和java快速依赖注射器。

AndroidAnotations                       快速安卓开发。易于维护

RoboGuice                                   Android平台的Google Guice

8. 图表

名称                                                        描述

WilliamChart                                  建立图表的Android库

HelloCharts                                   兼容到API8的Android图表库

MPAndroidChart                            一个强大的Android图表视图/图形库

9. 后台处理

名称                                                        描述

Tape                                                  一个轻快的,事务性的,基于文件的FIFO的库

Android Priority Job Queue                一个专门为Android轻松调度任务的工做队列

10. 事件总线

名称                                                        描述

EventBus                         安卓优化的事件总线,简化了活动、片断、线程、服务等的通讯

Otto                                一个基于Guava的加强的事件总线

11. 响应式编程

名称                                                         描述

RxJava                             JVM上的响应式扩展

RxJavaJoins                      为RxJava提供Joins操做

RxAndroid                      Android上的响应式扩展,在RxJava基础上添加了Android线程调度

RxBinding                       提供用RxJava绑定Android UI的API

Agera                             Android上的响应式编程

12. Log框架

名称                                                         描述

Logger                           简单,漂亮,强大的Android日志工具

Hugo                              在调试版本上注解的触发方法进行日志记录

Timber                            一个小的,可扩展的日志工具

13. 测试框架

名称                                                         描述

Mockito                         Java编写的Mocking单元测试框架

Robotium                       Android UI 测试

Robolectric                    Android单元测试框架

Android自带不少测试工具:JUnit,Monkeyrunner,UiAutomator,Espresso等

14. 调试框架

名称                                                                         描述

Stetho                             调试Android应用的桥梁,使得能够利用Chrome开发者工具进行调试

15. 性能优化

名称                                                    描述

LeakCanary                              内存泄漏检测工具

ACRA                                       Android应用程序崩溃报告

========

一、volley

项目地址 https://github.com/smanikandan14/Volley-demo
(1) JSON,图像等的异步下载;
(2) 网络请求的排序(scheduling)
(3) 网络请求的优先级处理
(4) 缓存
(5) 多级别取消请求
(6) 和Activity和生命周期的联动(Activity结束时同时取消全部网络请求)

二、android-async-http

项目地址:https://github.com/loopj/android-async-http
文档介绍:http://loopj.com/android-async-http/
(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行http请求
(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences

三、Afinal框架

项目地址:https://github.com/yangfuhai/afinal
主要有四大模块:
(1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操做。
(2) 注解模块:android中的ioc框架,彻底注解方式就能够进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:经过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
(4) 图片缓存模块:经过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程当中出现的oom和android容器快速滑动时候出现的图片错位等现象。
FinalBitmap能够配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等。FinalBitmap的内存管理使用lru算法,
没有使用弱引用(android2.3之后google已经不建议使用弱引用,android2.3后强行回收软引用和弱引用,详情查看android官方文档),
更好的管理bitmap内存。FinalBitmap能够自定义下载器,用来扩展其余协议显示网络图片,好比ftp等。同时能够自定义bitmap显示器,
在imageview显示图片的时候播放动画等(默认是渐变更画显示)。

四、xUtils框架

项目地址:https://github.com/wyouflf/xUtils
主要有四大模块:
(1) 数据库模块:android中的orm框架,一行代码就能够进行增删改查;
支持事务,默认关闭;
可经过注解自定义表名,列名,外键,惟一性约束,NOT NULL约束,CHECK约束等(须要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
(2) 注解模块:android中的ioc框架,彻底注解方式就能够进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工做;
目前支持经常使用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
(3) 网络模块:支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过时时间和针对当前请求的过时时间。
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程当中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

五、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) 网络状态检测模块:当网络状态改变时,对其进行检

六、LoonAndroid

项目地址:https://github.com/gdpancheng/LoonAndroid
主要有如下模块:
(1) 自动注入框架(只须要继承框架内的application既可)
(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上如今全部的http请求)
(4) eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)
(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是不是重定向)
(9) 自动更新模块
(10) 一系列工具类

=======

图片加载:fresco
事件总线:eventbus
网络请求:retrofit rxjava
数据存储:
数据解析:Gson,我知道它速度不快,可是太好用了
图片处理: PhotoView subsampling-scale-image-view PhotoCropper
简单缓存: ASimpleCache
二维码: ZXing
新的百分比支持:
profile工具:leakcanary

=====
图片加载,UIL或者Picasso;
数据库,ormLite或者greenDao;
网络层,apcahe的http-common或者square的okhttp;
聊天,XMPP;
JSON解析,fastJson;
动画,NineOldAndroids。
====

图片加载Picasso

依赖注入Dagger

json解析Gson

网络请求Volley

组件通讯otto
===
网络请求 Retrofit+RxJava
框架搭建的简单教程 RxJava 与 Retrofit 结合的最佳实践
GitHub - tough1985/RxjavaRetrofitDemo: A demo show how to use Retrofit with Rxjava
依赖注入 dagger butterknife
dagger GitHub - square/dagger: A fast dependency injector for Android and Java.
butterknife GitHub - JakeWharton/butterknife: Bind Android views and callbacks to fields and methods.
UI MaterialDesign
MaterialDesign 中文介绍及官方文档 Material Design中文版_Material Design中文教程_Material Design开发中文手册[PDF]下载
控件使用 Android文集 | 阳春面的博客
Json解析 gson
GitHub - google/gson: A Java serialization/deserialization library that can convert Java Objects into JSON and back.
图片加载 picasso fresco
picasso简单教程 picasso-强大的Android图片下载缓存库
GitHub - square/picasso: A powerful image downloading and caching library for Android
fresco 简单教程 引入Fresco | Fresco
GitHub - facebook/fresco: An Android library for managing images and the memory they use.
视频 ijkplayer
bilibili的开源项目 基于ffplay的播放器
==========

数据库:OrmLite

网络层:LiteHttp

图片:BitMap集成,适用于图片加载,不会发生OOM

解析:FastJson,Gson

双向验证:license

======
butterknife,autolayout
======
相关文章
相关标签/搜索