Android Retrofit2.0 查看log和JSON字符串(HttpLoggingInterceptor)

Retrofit2.0 怎么打印请求到的json字符串和查看log呢?

关键类:HttpLoggingInterceptor

关键代码:

HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient = new OkHttpClient.Builder().addInterceptor(logging).build();

详细代码:

public static Retrofit initRetrofit(){
       OkHttpClient httpClient = new OkHttpClient();
       if (BuildConfig.DEBUG) {
            HttpLoggingInterceptor logging = new HttpLoggingInterceptor();
logging.setLevel(HttpLoggingInterceptor.Level.BODY);
httpClient = new OkHttpClient.Builder().addInterceptor(logging).build();
        }
        Gson gson = new GsonBuilder()
                .setDateFormat("yyyy-MM-dd‘T‘HH:mm:ssZ")
                .create();//使用 gson coverter,统一日期请求格式
        return new Retrofit.Builder()
                .baseUrl(BaseUtil.getGlivecApiUrl())
                .addConverterFactory(GsonConverterFactory.create(gson))
                .client(httpClient)
                .build();
     }

    /**
     * 创建 RetrofitManage 服务
     *
     * @return ApiService
     */
    public static ApiService createApiService() {
        return initRetrofit().create(ApiService.class);
    }

.client(httpClient)属性切莫忘记配置。

retrofit:2.0.0-beta4的依赖:

compile ‘com.squareup.retrofit2:retrofit:2.0.0-beta4‘ // retrofit
compile ‘com.google.code.gson:gson:2.5‘ // gson
compile ‘com.squareup.retrofit2:converter-gson:2.0.0-beta4‘
compile ‘com.squareup.retrofit2:adapter-rxjava:2.0.0-beta4‘
compile ‘com.squareup.okhttp3:logging-interceptor:3.1.2‘
compile ‘com.squareup.okhttp3:okhttp:3.1.2‘

也可以这么写:

public class RxService {
    private static final String BASETESTURL = "http://apis.baidu.com/showapi_open_bus/";
    private static OkHttpClient okHttpClient = new OkHttpClient.Builder().addInterceptor
            (new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY)).build();
    private static Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(BASETESTURL)
            .client(okHttpClient)
            .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    private RxService() {
        //construct

    }

    public static <T> T createApi(Class<T> clazz) {

        return retrofit.create(clazz);
    }

}
时间: 2024-10-19 01:31:15

Android Retrofit2.0 查看log和JSON字符串(HttpLoggingInterceptor)的相关文章

Newtonsoft.Json.4.5.0 序列化与反序列化json字符串使用方法总结

在VS里下载安装: Json.NET 5.0.6 http://www.nuget.org/packages/Newtonsoft.Json/5.0.6 反序列化json字符串为List: json字符串如下: 1 {"docs": [{ 2 "uid": 2629577, 3 "nickname": "枕边疯电台", 4 "is_v": "true", 5 "category

[转]android中解析后台返回的json字符串

普通形式的:服务器端返回的json数据格式如下: {"userbean":{"Uid":"100196","Showname":"\u75af\u72c2\u7684\u7334\u5b50","Avtar":null,"State":1}} 分析代码如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21

C++ 基于rapidjson对json字符串的进行序列化与反序列化

json字符串的解析以封装在我们开发过程中经常见到, 尤其在socket通信上面, 在一次项目中碰到json字符串的进行解析, 而公司有没有封装好的库, 于是就自己基于开源的库进行了一次封装, 接下是使用案例, 如果感觉可以, 就去下载我的源代码自己编译一个库出来(能直接编译通过, 无任何依赖), 下载地址: 上传的CSDN资源正在审核当中, 如果现在需要请联系QQ:497725486, 等审核通过, 把链接贴上 jsonObjDefine.h #pragma once #include "..

Android 网络框架 Retrofit2.0介绍、使用和封装

前言 时至今日,Android的网络框架不再像之前那么到处都是,随着Google把 HttpClient直接删掉,似乎意味着Android越来越成熟.网络框架中的佼佼者Volley也不再那么光鲜,取而代之的是 Retrofit 和 okHttp. 感觉很像 OnePiece 中白胡子的离去象征着时代的变革,新时代的开始,多弗的垮台象征着七武海制度的取缔一样,不会使用Retrofit + okHttp + RxJava等一系列技术,就迈不进新时代的门槛,也不足以称为一个合格的开发者. 哈哈闲话不多

Java后台解析android端发送的JSON字符串

在设备通讯中,往往会用到数据交互.我们这里用的是通过HTTP协议发送JSON数据,android客户端把数据进行打包,发送到后台服务器,后台解析出来. //android客户端拼装JSON字符串 //如下的拼装结果为: {"data":[{"id":"12345","name":"张三"},{"id":"54321","name":"李四

基于Retrofit2.0+RxJava+Dragger2实现不一样的Android网络构架搭建(转载)

转载请注明出处:http://blog.csdn.net/finddreams/article/details/50849385#0-qzone-1-61707-d020d2d2a4e8d1a374a433f596ad1440   一起分享,一起进步.finddreams:http://blog.csdn.net/finddreams/article/details/50849385 众所周知,手机APP的核心就在于调用后台接口,展示相关信息,方便我们在手机上就能和外界交互.所以APP中网络框架

Android网络之Retrofit2.0使用和解析

Android网络之Retrofit2.0使用和解析 Retrofit2在项目中的使用 Android studio项目添加依赖 compile 'com.squareup.retrofit2:retrofit:2.0.1' 项目中使用样例 定义HTTP API使用接口 public interface GitHubService { @GET("users/{user}/repos") Call<List<Repo>> listRepos(@Path(&quo

Android 使用Retrofit2.0+OkHttp3.0实现缓存处理+Cookie持久化第三方库

1.Retrofit+OkHttp的缓存机制 1.1.第一点 在响应请求之后在 data/data/<包名>/cache 下建立一个response 文件夹,保存缓存数据. 1.2.第二点 这样我们就可以在请求的时候,如果判断到没有网络,自动读取缓存的数据. 1.3.第三点 同样这也可以实现,在我们没有网络的情况下,重新打开App可以浏览的之前显示过的内容. 1.4.第四点 也就是:判断网络,有网络,则从网络获取,并保存到缓存中,无网络,则从缓存中获取. 1.5.github地址+参考文章 g

Android学习笔记——log无法输出的解决方法和命令行查看log日志

本人邮箱:[email protected],欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblogs.com/JohnTsai/p/3983936.html. 知识点 1.log无法输出的解决方法 2.通过命令行(command line)查看Android调试的log日志 log无法输出的解决方法 今天调试Android程序,发现Eclipse不输出log日志了.这让我很烦恼,程序调试的log都没法看到了.Google搜索了一些资料.发现stackoverflow上有很