Tag: 改造2

构建一个在内部使用Retrofit的库,包装响应

我正在尝试构建一个基本上包装我们的api的库。 基本上,我想要的结构是这样的: MySDK mySDK = new MySDK(“username”, “password”); mySDK.getPlaylistInfo(“3423”, 2323, new CustomCallback(){ //on response //on failure }); 因此,对于vanilla Retrofit,api调用通常类似于以下内容: ApiService api = retrofit.create(ApiService.class); Call call = api.getPlaylistInfo() call.enqueue(new Callback() { @Override public void onResponse(Call call, Response response) { //handle response } @Override public void onFailure(Call call, Throwable t) { //handle failure } }); 基本上,我如何将改装回调系统包装到我自己的系统中? 注意,需要这样做的原因是在传递最终响应之前预处理从api返回的数据。

使用令牌和ID添加标头

我在获取经过身份validation的用户时遇到问题。 在它之前我得到了令牌和用户ID。 现在我需要使用访问令牌和id从服务器获取用户。 我有标题格式 现在我试图使用拦截器添加带有用户令牌和id的头。 我的代码: Interceptor interceptor = new Interceptor() { @Override public okhttp3.Response intercept(Chain chain) throws IOException { Request newRequest = chain.request().newBuilder() .addHeader(“Accept”, “application/json”) .addHeader(“authorization”, token) <-?? .addHeader("driver_id", id) <-?? .build(); return chain.proceed(newRequest); } }; OkHttpClient.Builder okHttpBuilder = new OkHttpClient.Builder(); okHttpBuilder.addInterceptor(interceptor); OkHttpClient okHttpClient = okHttpBuilder.build(); Retrofit retrofit = new Retrofit.Builder() .baseUrl(BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .client(okHttpClient) […]

没有模型类的改造2

我想问一下Retrofit 2.0 所有这些时间,我只知道使用GSON Converter进行Retrofit并获得该对象。 但我不知道如何使用这样的API获取数据https://hacker-news.firebaseio.com/v0/topstories.json?print=pretty 我正在尝试显示所有热门故事,并在我首先加载所有热门故事后获取对象。 我只知道这样的旧式风格: http : //pastebin.com/JMpwjH8H

Kotlin 1.2.21 + SimpleXml 2.3.0 – 消耗List错误(必须标记set get方法)

我正在尝试通过Retrofit 2使用SimpleXML来使用XML。经过几个小时与Kotlin的斗争,我决定尝试Java版本然后转换到Kotlin。 Java版本运行良好…… 错误: java.lang.RuntimeException: org.simpleframework.xml.core.MethodException: Annotation @org.simpleframework.xml.ElementList(data=false, empty=true, entry=, inline=true, name=entry, required=true, type=void) must mark a set or get method 我需要一个能够使用该XML的Kotlin模型类。 这是输入: someid somedate someid2 somedate2 Java模型类版本(工作正常): @Root(name = “feed”, strict = false) public class MFeed { @ElementList(name = “entry”, inline = true) private List entriesList; public MFeed(List entriesList) { this.entriesList = entriesList; } […]