放在这两个标准资源库的Jcenter和Maven Central的library,可以直接取这两个资源库的网站查找library的最新版本。jCenter和Maven Central仓库
agera是一个能帮助Android开发者更好的开发函数式,异步和响应式程序的框架,要求Android的SDK版本在9以上。
Volly是Google官方出的一套小而巧的异步请求库,该框架封装的扩展性很强,支持HttpClient,HttpUrlConnection,甚至支持OkHttp,而且Volly里面也封装了ImageLoader。
Volly,OkHttp ,Retrofit都是比较好的开源网络库
添加依赖`compile 'com.squareup.okhttp3:okhttp:3.6.0'`
也要添加依赖 `compile 'com.squareup.okio:okio:1.11.0'`(因为OkHttp内部依赖Okio),该库的作用 `Okio is a new library that complements java.io and java.nio to make it much easier to access, store, and process your data.`使用它可以更容易访问,存储和处理数据。
`Okio`提供了两种数据类型`ByteString`和`Buffer`.
还需要添加网络访问权限<uses-permission android:name="android.permission.INTERNET"/>
OkHttp是一个开源的针对Java和Android程序,封装的一个高性能http请求库,用的是HttpUrlConnection进行网络请求的,但是使用时还需要自己再做一层封装,这样才能像使用一个框架一样更加顺手。
ClientOkHttp:OkHttp网络请求的对象
Request:是OkHttp中的访问的请求
Response:是网络请求的响应(回应)
GET a URL 直接向指定的资源URL发出请求,读取数据 POST to a SERVER 提交数据到服务端(提交表单或上传文件)
同步调用 client.newCall(request).execute();
异步调用 client.newCall(request).enqueue(new Callback(){...}) 使用enqueue()方法,将call放入请求队列中,然后将OkHttp会在线程池中进行网络访问。
参考 :
目前出的新的网络请求库,支持换底层OkHttp,URLConnection。
MVC(Model-View-Controler)
MVC(Model-View-Controller,模型-视图-控制器)模式
MVC,MVVM模式
参考MVP详解
MVVM , Model-View-ViewModel
- Model 代表数据对象层
- View 代表布局,layout
- ViewModel 代表绑定数据,将Model 和 View联系起来
ButterKnife是一个Android系统的View注入框架,能够通过‘注解’的方式来绑定View的属性或方法。
总的来说,ButterKnife 有以下使用:
View绑定Resource绑定非 Activity绑定View List绑定Listener绑定
一个注解框架,使用后可以减少一些代码量
添加依赖
这里以 Android Studio Gradle 为例,为项目添加 ButterKnife,注意两个步骤都要完成:
1.Project 的 build.gradle添加:
dependencies { classpath 'com.jakewharton:butterknife-gradle-plugin:8.5.1' }
-
App 的 build.gradle添加:apply plugin: 'com.jakewharton.butterknife'dependencies {compile 'com.jakewharton:butterknife:8.5.1'annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1' }
Android Butterknife Zelezny这个插件参考这里
Google官方的JSON解析库Gson
基于RxJava写的事件总线
EasyRecyclerView实际上不是RecyclerVIew,是FramLayout,是继承这个帧布局的布局管理器,在该布局管理器里包含RecyclerView组件。
包含:
protected RecyclerView mRecycler;//RecyclerView
protected ViewGroup mProgressView;//进度布局
protected ViewGroup mEmptyView;//数据为空布局
protected ViewGroup mErrorView;//数据出错布局
protected SwipeRefreshLayout mPtrLayout;//SwipeRefreshLayout刷新组件
当然还包括各组件的事件监听器等(未列出)
//高级的recyclerview,添加依赖:
compile 'com.jude:easyrecyclerview:4.2.6'(最新版)
compile 'com.android.support:recyclerview-v7:24.2.0'
参考作者的介绍 这里
更详细的介绍 C:\Users\Mr.Ye\Downloads\PDF资料文件/Android EasyRecyclerView详细讲解.pdf (已下载)
Android自带的一个数据绑定库,就是Android的一个Support库,Data Binding是一个实现数据和UI绑定的框架,是一个实现MVVM(Model-View-ViewModel)模式的工具,有了Data Binding在Android中也可以很方便地实现MVVM开发模式。在build.gradle文件中加上一下代码就可以使用了。
android{
....
dataBinding {//设置可以使用dataBinding,是一个support
enabled = true
}
}
参考官方文档