MVP+Rectrofit+RXJAVA+Fresco
来源:互联网 发布:win10平板优化软件 编辑:程序博客网 时间:2024/05/29 16:30
依赖
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'compile 'com.github.bumptech.glide:glide:3.7.0'compile 'com.android.support:mediarouter-v7:25.0.0'compile 'com.android.support:appcompat-v7:25.0.0'compile 'com.android.support:recyclerview-v7:25.0.0'compile 'com.facebook.fresco:fresco:0.12.0'compile 'com.facebook.fresco:animated-base-support:0.12.0'
MODEL包里
IMODEL
public interface IModel { void getJson(String url);}
USERMODEL
public class UserModel implements IModel { ArrayList<HomeBean.NewslistBean> list; private OnFinish onFinish; public interface OnFinish{ void OnFinishListener(ArrayList<HomeBean.NewslistBean> list); } public void setOnFinish(OnFinish finish){ this.onFinish=finish; } @Override public void getJson(String url) { list = new ArrayList<>(); Retrofit retrofit = new Retrofit.Builder().baseUrl(url).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.create()).build(); ApiService apiService = retrofit.create(ApiService.class); final Observable<HomeBean> home = apiService.getHome(); home.subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<HomeBean>() { @Override public void onCompleted() { } @Override public void onError(Throwable e) { } @Override public void onNext(HomeBean homeBean) { list = (ArrayList<HomeBean.NewslistBean>) homeBean.getNewslist(); onFinish.OnFinishListener(list); } }); }}
IVIEW
public interface IView { void getUser(ArrayList<HomeBean.NewslistBean> list);}
UPresenter
public class UserPresenter implements UserModel.OnFinish { private final IView userView; private final UserModel userModel; public UserPresenter(IView userView) { this.userView = userView; this.userModel = new UserModel(); userModel.setOnFinish(this); } public void setNews(String url){ userModel.getJson(url); } @Override public void OnFinishListener(ArrayList<HomeBean.NewslistBean> list) { userView.getUser(list); }}
Main里面
implements IView
UserPresenter userPresenter;
userPresenter = new UserPresenter(this);userPresenter.setNews(API.URLONE);
@Overridepublic void getUser(ArrayList<HomeBean.NewslistBean> list) { adapter = new MyRecyclerAdapter(list,getActivity()); recycler.setAdapter(adapter);}
APIService
public interface ApiService { @GET("xbsjxw/page_1.json") Observable<XwbjBean> getNews(); @GET("tiyu/?key=691dce141baf9b719db22f6382ba5639&num=10") Observable<HomeBean> getHome();}
API
public class API { public static final String URL="http://mnews.gw.com.cn/wap/data/news/"; public static final String URLONE = "http://api.tianapi.com/";}
Fresco
布局
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/recycler_head" android:layout_width="90dp" android:layout_height="90dp" android:layout_marginTop="15dp" fresco:actualImageScaleType="centerCrop" fresco:roundAsCircle="true" fresco:placeholderImage="@drawable/icon_placeholder" fresco:placeholderImageScaleType="fitCenter" fresco:roundingBorderColor="#f8bcf3" fresco:roundingBorderWidth="5dp" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/id_num" android:layout_alignParentRight="true" android:layout_alignParentEnd="true" />
使用
SimpleDraweeView head;
head = (SimpleDraweeView) itemView.findViewById(R.id.recycler_head);
Uri imageuri = Uri.parse(list.get(position).getPicUrl());((MyViewHolder)holder).head.setImageURI(imageuri);
阅读全文
0 0
- MVP+Rectrofit+RXJAVA+Fresco
- MVP+Rectrofit+RXJAVA+Fresco
- MVP+Rectrofit+RXJAVA+Fresco
- android MVP+Rectrofit+RXJAVA+Fresco结合简单使用
- 简单实现Rectrofit+RXJAVA+Fresco
- MVP+Fresco+RxJava
- Retrofit+RxJava+Fresco+MVP
- MVP+Fresco+Rxjava
- Retrofit+RxJava+Fresco+MVP
- MVP+XRexyclerview+RxJava+Retrofit+Fresco
- MVP+Retrofit+RxJava+fresco+RecyclerView
- MVP+Retrotfit+RxJava+Fresco+banner
- MVP模式(Rxjava+retrofit+fresco)
- MVP+Fresco+RXJava+Retrofit+全选+反选
- MVP+Rxjava+Retrofit+Fresco网络请求数据
- 普通MVP+XRexyclerview+RxJava+Retrofit+Fresco
- MVP+RxJava+Retrofit+Fresco+屏幕适配
- MVP+Rxjava+Fresco+Retrofit实现Recyclerview列表展示
- 如何利用SEO建设企业的品牌与口碑
- 排序算法(Java)——那些年面试常见的排序算法
- Java连接Mysql数据库警告:Establishing SSL connection without server's identity verification is not recommend
- android webView 的 webSettings 最全的说明
- java打压缩包工具方法分享
- MVP+Rectrofit+RXJAVA+Fresco
- 使用ueditor小结
- Springboot 外置配置详解
- R
- 编码论——PNG格式图片编码
- 判断 $_SERVER['HTTP_REFERER'] 是否为空
- Java 读取excel 文件内容
- Jstorm基础架构
- android 无root读取数据库