retrofit
一开始都不知道搜什么,在安卓网络请求框架对比
http://blog.csdn.net/chenhuakang/article/details/51220067
这里看到Retrofit
git:
https://github.com/square/retrofit
在这里看着比较好:
使用retrofit框架的网络请求方法使用例子,同时+MVP +rxjava + rxandroid使用
http://blog.csdn.net/qq_16628781/article/details/51455320
Retrofit 基本使用教程
http://blog.csdn.net/jiangxuqaz/article/details/50759239
Android应用架构之Retrofit使用
http://blog.csdn.net/liuhongwei123888/article/details/50375283
Android应用架构之Retrofit、RxAndroid使用
http://blog.csdn.net/liuhongwei123888/article/details/50375897
给 Android 开发者的 RxJava 详解【http://gank.io/post/560e15be2dca930e00da1083】
public static void main(String... args) throws IOException {
// Create a very simple REST adapter which points the GitHub API.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
//这里的build,还可以用.client来设置client,如new OkHttpClient.Builder().build()。
//而OkHttpClient又可以addInterceptor来设置
// Create an instance of our GitHub API interface.
GitHub github = retrofit.create(GitHub.class);
// Create a call instance for looking up Retrofit contributors.
Call<List<Contributor>> call = github.contributors("square", "retrofit");
// Fetch and print a list of the contributors to the library.
List<Contributor> contributors = call.execute().body();
//这里,直接调用就主线程中了,可以用execute(callback)来处理,也可以用RxAndroid
for (Contributor contributor : contributors) {
System.out.println(contributor.login + " (" + contributor.contributions + ")");
}
}
要使用retrofit,
①加
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
这个加,不仅可以直接在gradle中写,可以在module setting中添加,搜索就有最新版了。
注意的是搜rxandroid有,搜rxa就没有了,可能是太短会有太多的搜索结果。
②然后,
// Create a very simple REST adapter which points the GitHub API.
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(API_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
这里的build,还可以用.client来设置client,如new OkHttpClient.Builder().build()。
而OkHttpClient又可以addInterceptor来设置
BaseUrl是必须的,且必须是正确的地址
③
// Create an instance of our GitHub API interface.
GitHub github = retrofit.create(GitHub.class);
④
// Create a call instance for looking up Retrofit contributors.
Call<List<Contributor>> call = github.contributors("square", "retrofit");
⑤
List<Contributor> contributors = call.execute().body();
//这里,直接调用就主线程中了,可以用execute(callback)来处理,也可以用RxAndroid 要使用rxandroid,
①
//加了这个才能用rxandroid,否则会报错Unable to create call adapter for rx.Observable<java.lang.Object>
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
//与retrofit相关的rxandroid
compile 'io.reactivex:rxandroid:1.1.0'
compile 'io.reactivex:rxjava:1.1.0'
②创建retrofit时
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
我一开始没注意这个呢,还以为是adapter的问题
③方法中的返加值改为
Observable
④.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe() subscribe
/səb'skraɪb/
vt. 签署;赞成;捐助
vi. 订阅;捐款;认购;赞成;签署
observe
/əb'zɜːv/
vt. 观察;遵守;说;注意到;评论
vt. 庆祝
vi. 观察;说;注意到;评论
页:
[1]