首先知乎日报的API 是这样的
但是我只会解析stories 这个数组 内的数据
以下是bean类 stories类就不列出 如果有需要 再更改
public class Latest {
private String date;
private List<Stories> stories;
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public List<Stories> getStories() {
return stories;
}
public void setStories(List<Stories> stories) {
this.stories = stories;
}
}
public interface ZhiHuService {
@GET("4/news/latest")
Observable<Latest> getLatest();
.......
}
public class RetrofitManager {
private ZhiHuService mService;
private OkHttpClient mBuilder;
private Retrofit retrofit;
private File cacheFile;
private int cacheSize;
private Cache cache;
public static RetrofitManager builder(){
return new RetrofitManager();
}
private RetrofitManager() {
cacheFile = new File(AppContext.getContext().getCacheDir(),"response");//设置缓存路径
cacheSize = 50 * 1024 * 1024; // 10 MiB 设置缓存大小
cache = new Cache(cacheFile, cacheSize);
mBuilder = new OkHttpClient.Builder()
.addInterceptor(netInterceptor)
.addNetworkInterceptor(netInterceptor)
.cache(cache)
.build();
retrofit = new Retrofit.Builder()
.client(mBuilder)
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.baseUrl(API.BASE_ZHIHU_URL)
.build();
mService = retrofit.create(ZhiHuService.class);
}
.......
public Observable<Latest> getLatest(){
return mService.getLatest();
}
获取当日消息的部分代码
private void loadLatestNews(){
RetrofitManager.builder().getLatest()
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Subscriber<Latest>() {
@Override
public void onCompleted() {
mRecyclerView.setAdapter(adapter);
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(Latest latest) {
list.addAll(latest.getStories());
}
});
}
问题 : 如何获取日期并且添加到 Recyclerview中
可以在我所列出的代码中更改嘛
如果不可以可以列举下思路吗
谢谢
日期只有天,你在item里面放置日期是不是很奇怪,不如用分类,把数据通过日进行分割。