初学者---Android (简单总结)Retrofit请求方式之get,post
2017-11-22 20:38
471 查看
自己用过的,没有坑
更多,看这里【Android】Retrofit 2.0 的使用
1.封装一个公用的工场Retrofit,(以及添加拦截器)
常用依赖:
//get请求,无参数 @GET("product/getCatagory") Observable<Catagory> getCatagory(); /** * 根据newsid获取对应的资讯数据 * @param newsId * @return call */ //有参数 @GET("News/{newsId}") Call<News> getNews(@Path("newsId") String newsId); //若需要重新定义接口地址可以使用@Url //Map @GET Call<List<CaigenActivitySubjectsBean>> getActivitySubjectsList( @Url String url, @QueryMap Map<String, String> map); //post有参数 @FormUrlEncoded @POST("user/login") Observable<UserBean> getLogin(@Field("mobile") String mobile, @Field("password") String password); //post有参数(使用map集合) @FormUrlEncoded//读参数进行urlEncoded @POST("/product/getProductCatagory") Observable<ProductCatagory> getProductCatagory(@FieldMap HashMap<String,String> map);
更多,看这里【Android】Retrofit 2.0 的使用
1.封装一个公用的工场Retrofit,(以及添加拦截器)
public class RetrofitFactory { //构造 private RetrofitFactory() { } private static OkHttpClient httpClient = new OkHttpClient.Builder() // .addInterceptor(new LoggingInterceptor())//添加拦截器 .connectTimeout(30, TimeUnit.SECONDS) .readTimeout(30, TimeUnit.SECONDS) .build(); private static ApiServer retrofitService = new Retrofit.Builder() .baseUrl(Api.LOGIN_REG) .addConverterFactory(GsonConverterFactory.create()) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .client(httpClient)//添加拦截器 .build() .create(ApiServer.class); //单列模式 public static ApiServer getInstance() { return retrofitService; } }2.使用
//使用(结合Rejava使用) Observable<HomeBean> home = RetroFactory.getInstance().getHome(); home.subscribeOn(Schedulers.io())//订阅 .observeOn(AndroidSchedulers.mainThread())//切换到主线程 .subscribe(new Observer<HomeBean>() {//订阅观察者 @Override public void onCompleted() { Log.d(TAG, "onCompleted:--------- "); } //异常 @Override public void onError(Throwable e) { Log.d(TAG, "onError:--------- "); } //得到数据 @Override public void onNext(HomeBean homeBean) { Logger.d(homeBean.getCode()+homeBean.getMsg()); } });
常用依赖:
// Toast依赖 Toasty compile 'com.github.GrenderG:Toasty:1.2.5' // logger日志的使用 compile 'com.orhanobut:logger:2.1.1' /*xRecyclerview*/ compile 'com.jcodecraeer:xrecyclerview:1.3.2' /*recyclerview*/ compile 'com.github.liuguangqiang.SuperRecyclerView:super-recyclerview:0.1.2' //retrofit2+okhttp3+rxandroid compile 'com.squareup.retrofit2:retrofit:2.0.1' compile 'com.squareup.retrofit2:converter-gson:2.0.1' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1' compile 'io.reactivex:rxandroid:1.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' //fresco compile 'com.facebook.fresco:fresco:0.14.1' /*二维码依赖*/ compile 'cn.yipianfengye.android:zxing-library:2.2' /*轮播图*/ compile 'com.youth.banner:banner:1.4.9' /*banner的iamge加载*/ compile 'com.github.bumptech.glide:glide:3.7.0' /*imgageloader*/ compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' // eventbus compile 'org.greenrobot:eventbus:3.0.0'
相关文章推荐
- Retrofit简单封装使用--Post请求封装请求体、Get请求通过参数、map方式构建url
- [Android] Retrofit2.0 GET和POST方式请求
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- android之使用get和post方式向服务器提交请求
- android的http请求get和post请求方式
- 总结:SpringMVC 中 GET 和 POST 方式请求中的中文乱码问题
- Android使用HttpClient完成Post和Get方式的联网请求
- HTTP协议中GET、POST和HEAD的介绍(请求方式总结)
- post请求方式和get请求方式等网络请求方式总结
- android 向serverGet和Post请求的两种方式,android向server发送文件,自己组装协议和借助第三方开源
- Android 网络请求方式之HttpClient,GET,POST,PUT请求使用方法
- android中用get和post方式向服务器提交请求
- Android传统HTTP请求get----post方式提交数据(包含乱码问题)
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- Android 以Http协议 使用get和post方式请求站点
- Android使用HttpClient以Post、Get请求服务器发送数据的方式(普通和json)
- Android请求服务器的两种方式--post, get的区别
- Android 网络请求通用的get与post方式
- Android 通讯方式(发送Post、Get请求)
- Android与Apache交互的POST和GET方式请求源码