1. 使用MVP框架搭建,分包明确,V层和M层解耦,通过接口完成V层和P层以及P层和M层通信,解决内存泄漏问题
  2. Retrofit做网络请求,封装网络请求工具类,使用单例模式,添加日志拦截器打印网络请求内容
  3. 集成Rxjava库,集成Gson库
  4. 请求轮播图接口,实现轮播图效果
  5. 使用RecyClerView做列表展示页面,使用ListView不得分,轮播图与列表上下联动
  6. 选择Fresco图片加载框架完成图片加载
  7. 使用Butterknife完成UI的初始化

Adapter.javapackage com.bwie.xiaqin.zhoukao1208.adapter;import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;import com.bwie.xiaqin.zhoukao1208.R;
import com.bwie.xiaqin.zhoukao1208.bean.lieBean;import java.util.List;/*** Created by lenovo on 2018/12/8.*/public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {private Context context;private List<lieBean.DataBean.DatasBean> list;public MyAdapter(Context context, List<lieBean.DataBean.DatasBean> list) {this.context = context;this.list = list;}@Overridepublic ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {//获得条目return new ViewHolder(View.inflate(context, R.layout.layout_adapter, null));}@Overridepublic void onBindViewHolder(ViewHolder holder, int position) {//        superChapterName;title;niceDate;chapterName/*** 将接口数据进行赋值* 由于没有图片,所以就没有获取*/holder.rxxp_te_getSuperChapterName.setText(list.get(position).getSuperChapterName());holder.rxxp_te_getNiceDate.setText(list.get(position).getNiceDate());holder.rxxp_te_getTitle.setText(list.get(position).getTitle());holder.rxxp_te_getChapterName.setText(list.get(position).getChapterName());}@Overridepublic int getItemCount() {return list.size();}public class ViewHolder extends RecyclerView.ViewHolder {TextView rxxp_te_getSuperChapterName;TextView rxxp_te_getNiceDate;TextView rxxp_te_getTitle;TextView rxxp_te_getChapterName;public ViewHolder(View itemView) {super(itemView);//获得控件idrxxp_te_getSuperChapterName = (TextView) itemView.findViewById(R.id.rxxp_te_getSuperChapterName);rxxp_te_getNiceDate = (TextView) itemView.findViewById(R.id.rxxp_te_getNiceDate);rxxp_te_getTitle = (TextView) itemView.findViewById(R.id.rxxp_te_getTitle);rxxp_te_getChapterName = (TextView) itemView.findViewById(R.id.rxxp_te_getChapterName);}}
}

App.java

package com.bwie.xiaqin.zhoukao1208.app;import android.app.Application;import com.facebook.drawee.backends.pipeline.Fresco;/*** Created by lenovo on 2018/12/8.*/public class App extends Application{@Overridepublic void onCreate() {super.onCreate();Fresco.initialize(this);}
}

baseAcitvity.java

package com.bwie.xiaqin.zhoukao1208.base.bactivity;import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;/*** Created by lenovo on 2018/12/8.*/public class BaseActivity extends AppCompatActivity{@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);}
}

BasePreseneter.java

package com.bwie.xiaqin.zhoukao1208.base.presenter;import com.bwie.xiaqin.zhoukao1208.base.BaseView;/*** Created by lenovo on 2018/12/8.*/public class BasePresenter<V extends BaseView> {private V iv;public void attachView(V iv){this.iv = iv;}public void detachView(){this.iv = null;}public V getView(){return iv;}
}

BaseView.java

package com.bwie.xiaqin.zhoukao1208.base;/*** Created by lenovo on 2018/12/8.*/public interface BaseView {
}

bean   bannerBean.java

package com.bwie.xiaqin.zhoukao1208.bean;import java.util.List;public class BannerBean {/*** data : [{"desc":"一起来做个App吧","id":10,"imagePath":"http://www.wanandroid.com/blogimgs/50c115c2-cf6c-4802-aa7b-a4334de444cd.png","isVisible":1,"order":3,"title":"一起来做个App吧","type":0,"url":"http://www.wanandroid.com/blog/show/2"},{"desc":"","id":4,"imagePath":"http://www.wanandroid.com/blogimgs/ab17e8f9-6b79-450b-8079-0f2287eb6f0f.png","isVisible":1,"order":0,"title":"看看别人的面经,搞定面试~","type":1,"url":"http://www.wanandroid.com/article/list/0?cid=73"},{"desc":"","id":3,"imagePath":"http://www.wanandroid.com/blogimgs/fb0ea461-e00a-482b-814f-4faca5761427.png","isVisible":1,"order":1,"title":"兄弟,要不要挑个项目学习下?","type":1,"url":"http://www.wanandroid.com/project"},{"desc":"","id":6,"imagePath":"http://www.wanandroid.com/blogimgs/62c1bd68-b5f3-4a3c-a649-7ca8c7dfabe6.png","isVisible":1,"order":1,"title":"我们新增了一个常用导航Tab~","type":1,"url":"http://www.wanandroid.com/navi"},{"desc":"","id":18,"imagePath":"http://www.wanandroid.com/blogimgs/00f83f1d-3c50-439f-b705-54a49fc3d90d.jpg","isVisible":1,"order":1,"title":"公众号文章列表强势上线","type":1,"url":"http://www.wanandroid.com/wxarticle/list/408/1"},{"desc":"","id":2,"imagePath":"http://www.wanandroid.com/blogimgs/90cf8c40-9489-4f9d-8936-02c9ebae31f0.png","isVisible":1,"order":2,"title":"JSON工具","type":1,"url":"http://www.wanandroid.com/tools/bejson"},{"desc":"","id":5,"imagePath":"http://www.wanandroid.com/blogimgs/acc23063-1884-4925-bdf8-0b0364a7243e.png","isVisible":1,"order":3,"title":"微信文章合集","type":1,"url":"http://www.wanandroid.com/blog/show/6"}]* errorCode : 0* errorMsg :*/private int errorCode;private String errorMsg;private List<DataBean> data;public int getErrorCode() {return errorCode;}public void setErrorCode(int errorCode) {this.errorCode = errorCode;}public String getErrorMsg() {return errorMsg;}public void setErrorMsg(String errorMsg) {this.errorMsg = errorMsg;}public List<DataBean> getData() {return data;}public void setData(List<DataBean> data) {this.data = data;}public static class DataBean {/*** desc : 一起来做个App吧* id : 10* imagePath : http://www.wanandroid.com/blogimgs/50c115c2-cf6c-4802-aa7b-a4334de444cd.png* isVisible : 1* order : 3* title : 一起来做个App吧* type : 0* url : http://www.wanandroid.com/blog/show/2*/private String desc;private int id;private String imagePath;private int isVisible;private int order;private String title;private int type;private String url;public String getDesc() {return desc;}public void setDesc(String desc) {this.desc = desc;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getImagePath() {return imagePath;}public void setImagePath(String imagePath) {this.imagePath = imagePath;}public int getIsVisible() {return isVisible;}public void setIsVisible(int isVisible) {this.isVisible = isVisible;}public int getOrder() {return order;}public void setOrder(int order) {this.order = order;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public int getType() {return type;}public void setType(int type) {this.type = type;}public String getUrl() {return url;}public void setUrl(String url) {this.url = url;}}
}

lieBean.java  列表

package com.bwie.xiaqin.zhoukao1208.bean;import java.util.List;public class lieBean {/*** data : {"curPage":1,"datas":[{"apkLink":"","author":" Ruheng","chapterId":390,"chapterName":"Git","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7632,"link":"https://juejin.im/post/599e14875188251240632702","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113919000,"superChapterId":390,"superChapterName":"项目管理","tags":[],"title":"一篇文章,教你学会Git","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"SupKing_a520","chapterId":171,"chapterName":"binder","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7631,"link":"https://www.jianshu.com/p/c1daf5653a47","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113884000,"superChapterId":171,"superChapterName":"framework","tags":[],"title":"Android:从源码角度来赏析Binder机制的优美","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":" Roll圈圈","chapterId":355,"chapterName":"他人收集","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7630,"link":"https://www.jianshu.com/p/2d1a3ba27e76","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113860000,"superChapterId":349,"superChapterName":"开放API","tags":[],"title":"开放通用Api,总有你喜欢的","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"辰之猫","chapterId":60,"chapterName":"Android Studio相关","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7629,"link":"https://www.jianshu.com/p/e54db232df62","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113821000,"superChapterId":60,"superChapterName":"开发环境","tags":[],"title":"让你明明白白的使用RecyclerView&mdash;&mdash;SnapHelper详解","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"鸿洋","chapterId":408,"chapterName":"鸿洋","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7633,"link":"https://mp.weixin.qq.com/s/cLhf-SSS3I5SkPEFd5Cxbw","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544112000000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/408/1"}],"title":"不到100行代码实现左右对齐TextView","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"code小生","chapterId":414,"chapterName":"code小生","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7634,"link":"https://mp.weixin.qq.com/s/i1GfYke-9419uYsZgCMiJg","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544112000000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/414/1"}],"title":"对 Kotlin 与 Java 编程语言的思考","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"郭霖","chapterId":409,"chapterName":"郭霖","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7635,"link":"https://mp.weixin.qq.com/s/cBISvWo8TnvlJ3oSKJ544g","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544112000000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/409/1"}],"title":"30张图带你彻底理解红黑树","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"辰之猫","chapterId":100,"chapterName":"RecyclerView","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7627,"link":"https://www.jianshu.com/p/d1ab5f6be73f","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544111204000,"superChapterId":179,"superChapterName":"5.+高新技术","tags":[],"title":"Android组件化&mdash;&mdash;SXRecyclerView","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"NightFarmer","chapterId":375,"chapterName":"Flutter","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7626,"link":"https://www.jianshu.com/p/26b32dc2087e","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544110868000,"superChapterId":375,"superChapterName":"跨平台","tags":[],"title":"Android工程内嵌Flutter,跨平台的渐进式解决方案","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"mandypig","chapterId":99,"chapterName":"具体案例","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7590,"link":"https://www.jianshu.com/p/7241ed34346a","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544110372000,"superChapterId":94,"superChapterName":"自定义控件","tags":[],"title":"不到100行代码实现左右对齐TextView","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"gityuan","chapterId":78,"chapterName":"性能优化","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7622,"link":"http://gityuan.com/2016/01/02/memory-analysis-command/","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544093713000,"superChapterId":79,"superChapterName":"热门专题","tags":[],"title":"Android内存分析命令","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"看书的小蜗牛","chapterId":86,"chapterName":"图片处理","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7621,"link":"https://www.jianshu.com/p/d5714e8987f3","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544092914000,"superChapterId":87,"superChapterName":"图片加载","tags":[],"title":"Android Bitmap变迁与原理解析(4.x-8.x)","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"鸿洋","chapterId":408,"chapterName":"鸿洋","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7623,"link":"https://mp.weixin.qq.com/s/Vt__FGCcWftanYW5ndyXmA","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544025600000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/408/1"}],"title":"RecyclerView库中被我们忽略的部分","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"code小生","chapterId":414,"chapterName":"code小生","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7624,"link":"https://mp.weixin.qq.com/s/99eQ1_9wzYYByNTIrzOVfA","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544025600000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/414/1"}],"title":"Android 设备唯一标识(多种实现方案)","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"Jamin_正宗红罐辣酱","chapterId":252,"chapterName":"奇怪的Bug","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7617,"link":"https://www.jianshu.com/p/18950c9b0ec9","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544005813000,"superChapterId":135,"superChapterName":"项目必备","tags":[],"title":"从Daemons到finalize timed out after 10 seconds","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"Jamin_正宗红罐辣酱","chapterId":252,"chapterName":"奇怪的Bug","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7616,"link":"https://www.jianshu.com/p/84e7a99e8467","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544005797000,"superChapterId":135,"superChapterName":"项目必备","tags":[],"title":"Android Crash的防护与追踪","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"鸿洋","chapterId":408,"chapterName":"鸿洋","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7618,"link":"https://mp.weixin.qq.com/s/WP8kUvcyHETlkDIdvGktdA","niceDate":"2018-12-05","origin":"","projectLink":"","publishTime":1543939200000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/408/1"}],"title":"Android高斯模糊你所不知道的坑","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"code小生","chapterId":414,"chapterName":"code小生","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7619,"link":"https://mp.weixin.qq.com/s/dq_wBsp1sUYA2M_oW9hv4Q","niceDate":"2018-12-05","origin":"","projectLink":"","publishTime":1543939200000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/414/1"}],"title":"OPPO Android 开发技术面总结","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"郭霖","chapterId":409,"chapterName":"郭霖","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7620,"link":"https://mp.weixin.qq.com/s/kcbEto2ljhhCSNknIWtbzA","niceDate":"2018-12-05","origin":"","projectLink":"","publishTime":1543939200000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/409/1"}],"title":"Android Monitor工具详解大全","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"zqljintu","chapterId":294,"chapterName":"完整项目","collect":false,"courseId":13,"desc":"网上有各种各样的免费API,在众里寻找后,最后发现何不将这些API集合在一个App中呢,鉴于个人能力有限,就选取了部分的API来创作。 感谢知乎日报的Api,提供了App中的日报板块。 感谢豆瓣的Api,提供了App中的电影板块。 感谢WanAndroid的Api,提供了开发板块。 感谢Gank.io的Api,提供了娱乐版块","envelopePic":"http://wanandroid.com/blogimgs/271a4c3f-8066-4038-b4e6-9e5756463403.png","fresh":false,"id":7612,"link":"http://www.wanandroid.com/blog/show/2445","niceDate":"2018-12-04","origin":"","projectLink":"https://github.com/zqljintu/Assembly-number","publishTime":1543928671000,"superChapterId":294,"superChapterName":"开源项目主Tab","tags":[{"name":"项目","url":"/project/list/1?cid=294"}],"title":"集结号//Assembly-number&mdash;&mdash;集合了多项内容的客户端","type":0,"userId":-1,"visible":1,"zan":0}],"offset":0,"over":false,"pageCount":289,"size":20,"total":5779}* errorCode : 0* errorMsg :*/private DataBean data;private int errorCode;private String errorMsg;public DataBean getData() {return data;}public void setData(DataBean data) {this.data = data;}public int getErrorCode() {return errorCode;}public void setErrorCode(int errorCode) {this.errorCode = errorCode;}public String getErrorMsg() {return errorMsg;}public void setErrorMsg(String errorMsg) {this.errorMsg = errorMsg;}public static class DataBean {/*** curPage : 1* datas : [{"apkLink":"","author":" Ruheng","chapterId":390,"chapterName":"Git","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7632,"link":"https://juejin.im/post/599e14875188251240632702","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113919000,"superChapterId":390,"superChapterName":"项目管理","tags":[],"title":"一篇文章,教你学会Git","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"SupKing_a520","chapterId":171,"chapterName":"binder","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7631,"link":"https://www.jianshu.com/p/c1daf5653a47","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113884000,"superChapterId":171,"superChapterName":"framework","tags":[],"title":"Android:从源码角度来赏析Binder机制的优美","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":" Roll圈圈","chapterId":355,"chapterName":"他人收集","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7630,"link":"https://www.jianshu.com/p/2d1a3ba27e76","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113860000,"superChapterId":349,"superChapterName":"开放API","tags":[],"title":"开放通用Api,总有你喜欢的","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"辰之猫","chapterId":60,"chapterName":"Android Studio相关","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7629,"link":"https://www.jianshu.com/p/e54db232df62","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544113821000,"superChapterId":60,"superChapterName":"开发环境","tags":[],"title":"让你明明白白的使用RecyclerView&mdash;&mdash;SnapHelper详解","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"鸿洋","chapterId":408,"chapterName":"鸿洋","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7633,"link":"https://mp.weixin.qq.com/s/cLhf-SSS3I5SkPEFd5Cxbw","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544112000000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/408/1"}],"title":"不到100行代码实现左右对齐TextView","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"code小生","chapterId":414,"chapterName":"code小生","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7634,"link":"https://mp.weixin.qq.com/s/i1GfYke-9419uYsZgCMiJg","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544112000000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/414/1"}],"title":"对 Kotlin 与 Java 编程语言的思考","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"郭霖","chapterId":409,"chapterName":"郭霖","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7635,"link":"https://mp.weixin.qq.com/s/cBISvWo8TnvlJ3oSKJ544g","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544112000000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/409/1"}],"title":"30张图带你彻底理解红黑树","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"辰之猫","chapterId":100,"chapterName":"RecyclerView","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7627,"link":"https://www.jianshu.com/p/d1ab5f6be73f","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544111204000,"superChapterId":179,"superChapterName":"5.+高新技术","tags":[],"title":"Android组件化&mdash;&mdash;SXRecyclerView","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"NightFarmer","chapterId":375,"chapterName":"Flutter","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7626,"link":"https://www.jianshu.com/p/26b32dc2087e","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544110868000,"superChapterId":375,"superChapterName":"跨平台","tags":[],"title":"Android工程内嵌Flutter,跨平台的渐进式解决方案","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"mandypig","chapterId":99,"chapterName":"具体案例","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7590,"link":"https://www.jianshu.com/p/7241ed34346a","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544110372000,"superChapterId":94,"superChapterName":"自定义控件","tags":[],"title":"不到100行代码实现左右对齐TextView","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"gityuan","chapterId":78,"chapterName":"性能优化","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7622,"link":"http://gityuan.com/2016/01/02/memory-analysis-command/","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544093713000,"superChapterId":79,"superChapterName":"热门专题","tags":[],"title":"Android内存分析命令","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"看书的小蜗牛","chapterId":86,"chapterName":"图片处理","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7621,"link":"https://www.jianshu.com/p/d5714e8987f3","niceDate":"1天前","origin":"","projectLink":"","publishTime":1544092914000,"superChapterId":87,"superChapterName":"图片加载","tags":[],"title":"Android Bitmap变迁与原理解析(4.x-8.x)","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"鸿洋","chapterId":408,"chapterName":"鸿洋","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7623,"link":"https://mp.weixin.qq.com/s/Vt__FGCcWftanYW5ndyXmA","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544025600000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/408/1"}],"title":"RecyclerView库中被我们忽略的部分","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"code小生","chapterId":414,"chapterName":"code小生","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7624,"link":"https://mp.weixin.qq.com/s/99eQ1_9wzYYByNTIrzOVfA","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544025600000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/414/1"}],"title":"Android 设备唯一标识(多种实现方案)","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"Jamin_正宗红罐辣酱","chapterId":252,"chapterName":"奇怪的Bug","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7617,"link":"https://www.jianshu.com/p/18950c9b0ec9","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544005813000,"superChapterId":135,"superChapterName":"项目必备","tags":[],"title":"从Daemons到finalize timed out after 10 seconds","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"Jamin_正宗红罐辣酱","chapterId":252,"chapterName":"奇怪的Bug","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7616,"link":"https://www.jianshu.com/p/84e7a99e8467","niceDate":"2天前","origin":"","projectLink":"","publishTime":1544005797000,"superChapterId":135,"superChapterName":"项目必备","tags":[],"title":"Android Crash的防护与追踪","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"鸿洋","chapterId":408,"chapterName":"鸿洋","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7618,"link":"https://mp.weixin.qq.com/s/WP8kUvcyHETlkDIdvGktdA","niceDate":"2018-12-05","origin":"","projectLink":"","publishTime":1543939200000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/408/1"}],"title":"Android高斯模糊你所不知道的坑","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"code小生","chapterId":414,"chapterName":"code小生","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7619,"link":"https://mp.weixin.qq.com/s/dq_wBsp1sUYA2M_oW9hv4Q","niceDate":"2018-12-05","origin":"","projectLink":"","publishTime":1543939200000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/414/1"}],"title":"OPPO Android 开发技术面总结","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"郭霖","chapterId":409,"chapterName":"郭霖","collect":false,"courseId":13,"desc":"","envelopePic":"","fresh":false,"id":7620,"link":"https://mp.weixin.qq.com/s/kcbEto2ljhhCSNknIWtbzA","niceDate":"2018-12-05","origin":"","projectLink":"","publishTime":1543939200000,"superChapterId":408,"superChapterName":"公众号","tags":[{"name":"公众号","url":"/wxarticle/list/409/1"}],"title":"Android Monitor工具详解大全","type":0,"userId":-1,"visible":1,"zan":0},{"apkLink":"","author":"zqljintu","chapterId":294,"chapterName":"完整项目","collect":false,"courseId":13,"desc":"网上有各种各样的免费API,在众里寻找后,最后发现何不将这些API集合在一个App中呢,鉴于个人能力有限,就选取了部分的API来创作。 感谢知乎日报的Api,提供了App中的日报板块。 感谢豆瓣的Api,提供了App中的电影板块。 感谢WanAndroid的Api,提供了开发板块。 感谢Gank.io的Api,提供了娱乐版块","envelopePic":"http://wanandroid.com/blogimgs/271a4c3f-8066-4038-b4e6-9e5756463403.png","fresh":false,"id":7612,"link":"http://www.wanandroid.com/blog/show/2445","niceDate":"2018-12-04","origin":"","projectLink":"https://github.com/zqljintu/Assembly-number","publishTime":1543928671000,"superChapterId":294,"superChapterName":"开源项目主Tab","tags":[{"name":"项目","url":"/project/list/1?cid=294"}],"title":"集结号//Assembly-number&mdash;&mdash;集合了多项内容的客户端","type":0,"userId":-1,"visible":1,"zan":0}]* offset : 0* over : false* pageCount : 289* size : 20* total : 5779*/private int curPage;private int offset;private boolean over;private int pageCount;private int size;private int total;private List<DatasBean> datas;public int getCurPage() {return curPage;}public void setCurPage(int curPage) {this.curPage = curPage;}public int getOffset() {return offset;}public void setOffset(int offset) {this.offset = offset;}public boolean isOver() {return over;}public void setOver(boolean over) {this.over = over;}public int getPageCount() {return pageCount;}public void setPageCount(int pageCount) {this.pageCount = pageCount;}public int getSize() {return size;}public void setSize(int size) {this.size = size;}public int getTotal() {return total;}public void setTotal(int total) {this.total = total;}public List<DatasBean> getDatas() {return datas;}public void setDatas(List<DatasBean> datas) {this.datas = datas;}public static class DatasBean {/*** apkLink :* author :  Ruheng* chapterId : 390* chapterName : Git* collect : false* courseId : 13* desc :* envelopePic :* fresh : false* id : 7632* link : https://juejin.im/post/599e14875188251240632702* niceDate : 1天前* origin :* projectLink :* publishTime : 1544113919000* superChapterId : 390* superChapterName : 项目管理* tags : []* title : 一篇文章,教你学会Git* type : 0* userId : -1* visible : 1* zan : 0*/private String apkLink;private String author;private int chapterId;private String chapterName;private boolean collect;private int courseId;private String desc;private String envelopePic;private boolean fresh;private int id;private String link;private String niceDate;private String origin;private String projectLink;private long publishTime;private int superChapterId;private String superChapterName;private String title;private int type;private int userId;private int visible;private int zan;private List<?> tags;public String getApkLink() {return apkLink;}public void setApkLink(String apkLink) {this.apkLink = apkLink;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}public int getChapterId() {return chapterId;}public void setChapterId(int chapterId) {this.chapterId = chapterId;}public String getChapterName() {return chapterName;}public void setChapterName(String chapterName) {this.chapterName = chapterName;}public boolean isCollect() {return collect;}public void setCollect(boolean collect) {this.collect = collect;}public int getCourseId() {return courseId;}public void setCourseId(int courseId) {this.courseId = courseId;}public String getDesc() {return desc;}public void setDesc(String desc) {this.desc = desc;}public String getEnvelopePic() {return envelopePic;}public void setEnvelopePic(String envelopePic) {this.envelopePic = envelopePic;}public boolean isFresh() {return fresh;}public void setFresh(boolean fresh) {this.fresh = fresh;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getLink() {return link;}public void setLink(String link) {this.link = link;}public String getNiceDate() {return niceDate;}public void setNiceDate(String niceDate) {this.niceDate = niceDate;}public String getOrigin() {return origin;}public void setOrigin(String origin) {this.origin = origin;}public String getProjectLink() {return projectLink;}public void setProjectLink(String projectLink) {this.projectLink = projectLink;}public long getPublishTime() {return publishTime;}public void setPublishTime(long publishTime) {this.publishTime = publishTime;}public int getSuperChapterId() {return superChapterId;}public void setSuperChapterId(int superChapterId) {this.superChapterId = superChapterId;}public String getSuperChapterName() {return superChapterName;}public void setSuperChapterName(String superChapterName) {this.superChapterName = superChapterName;}public String getTitle() {return title;}public void setTitle(String title) {this.title = title;}public int getType() {return type;}public void setType(int type) {this.type = type;}public int getUserId() {return userId;}public void setUserId(int userId) {this.userId = userId;}public int getVisible() {return visible;}public void setVisible(int visible) {this.visible = visible;}public int getZan() {return zan;}public void setZan(int zan) {this.zan = zan;}public List<?> getTags() {return tags;}public void setTags(List<?> tags) {this.tags = tags;}}}
}

home  View.java

package com.bwie.xiaqin.zhoukao1208.home.view;import com.bwie.xiaqin.zhoukao1208.base.BaseView;
import com.bwie.xiaqin.zhoukao1208.bean.BannerBean;
import com.bwie.xiaqin.zhoukao1208.bean.lieBean;/*** Created by lenovo on 2018/12/8.*/public interface BannerView extends BaseView {void OnHomeBannerSuccess(BannerBean bannerBean);void OnHomeCommoditySuccess(lieBean.DataBean homeCommodityBean);}

Model

package com.bwie.xiaqin.zhoukao1208.home.model;import com.bwie.xiaqin.zhoukao1208.bean.BannerBean;
import com.bwie.xiaqin.zhoukao1208.bean.lieBean;
import com.bwie.xiaqin.zhoukao1208.utils.HttpUtils;import io.reactivex.Observable;/*** Created by lenovo on 2018/12/8.*/public class Model {public Observable<BannerBean> getHomeBanner(){//轮播图的Observable<BannerBean> banner = HttpUtils.getInstence().api.getBanner();return banner;}public Observable<lieBean> getCommodity(){//列表的Observable<lieBean> commodity = HttpUtils.getInstence().api.getCommodity();return commodity;}}

BannerPresenter.java

package com.bwie.xiaqin.zhoukao1208.home.presenter;import com.bwie.xiaqin.zhoukao1208.base.presenter.BasePresenter;
import com.bwie.xiaqin.zhoukao1208.bean.BannerBean;
import com.bwie.xiaqin.zhoukao1208.home.model.Model;
import com.bwie.xiaqin.zhoukao1208.home.view.BannerView;import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;/*** Created by lenovo on 2018/12/8.*/public class BannerPresener extends BasePresenter<BannerView> {private final Model homeModel;public BannerPresener(){homeModel = new Model();}public void getHomeBanner(){homeModel.getHomeBanner().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<BannerBean>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(BannerBean bannerBean) {if (bannerBean!=null){getView().OnHomeBannerSuccess(bannerBean);}}@Overridepublic void onError(Throwable e) {}@Overridepublic void onComplete() {}});}
}

liePresenter.java

package com.bwie.xiaqin.zhoukao1208.home.presenter;import com.bwie.xiaqin.zhoukao1208.base.presenter.BasePresenter;
import com.bwie.xiaqin.zhoukao1208.bean.lieBean;
import com.bwie.xiaqin.zhoukao1208.home.model.Model;
import com.bwie.xiaqin.zhoukao1208.home.view.BannerView;import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;/*** Created by lenovo on 2018/12/8.*/public class liePresenter extends BasePresenter<BannerView>{private static final String TAG = "HomeCommodityPresenter";private final Model homeCommodityModel;public liePresenter(){homeCommodityModel= new Model();}public void getHot(){homeCommodityModel.getCommodity().subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<lieBean>() {@Overridepublic void onSubscribe(Disposable d) {}@Overridepublic void onNext(lieBean homeCommodityBean) {if (homeCommodityBean!=null){lieBean.DataBean data = homeCommodityBean.getData();getView().OnHomeCommoditySuccess(data);}}@Overridepublic void onError(Throwable e) {}@Overridepublic void onComplete() {}});}
}

utils

HttpUtils.java

package com.bwie.xiaqin.zhoukao1208.utils;import java.io.IOException;import okhttp3.Interceptor;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import retrofit2.Retrofit;
import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory;
import retrofit2.converter.gson.GsonConverterFactory;/*** Created by lenovo on 2018/12/8.*/public class HttpUtils {public final Api api;private HttpUtils(){OkHttpClient client = new OkHttpClient.Builder().addNetworkInterceptor(new Logging()).build();Retrofit retrofit = new Retrofit.Builder().baseUrl(cont.url).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJava2CallAdapterFactory.create()).client(client).build();api = retrofit.create(Api.class);}private class Logging implements Interceptor {@Overridepublic Response intercept(Chain chain) throws IOException {Request request = chain.request();Request.Builder builder = request.newBuilder().addHeader("soucre", "android");Response proceed = chain.proceed(request);return proceed;}}private static class GetDataNet{public static HttpUtils httpUtils = new HttpUtils();}public static HttpUtils getInstence(){return GetDataNet.httpUtils;}
}

Api.java

package com.bwie.xiaqin.zhoukao1208.utils;import com.bwie.xiaqin.zhoukao1208.bean.BannerBean;
import com.bwie.xiaqin.zhoukao1208.bean.lieBean;import io.reactivex.Observable;
import retrofit2.http.GET;/*** Created by lenovo on 2018/12/8.*/public interface Api {@GET("banner/json")Observable<BannerBean> getBanner();@GET("article/list/0/json")Observable<lieBean> getCommodity();
}

cont.java

package com.bwie.xiaqin.zhoukao1208.utils;/*** Created by lenovo on 2018/12/8.*/public class cont {public static final String url = "http://www.wanandroid.com/";
}

主页面MainActivity.java

package com.bwie.xiaqin.zhoukao1208;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;import com.bwie.xiaqin.zhoukao1208.adapter.MyAdapter;
import com.bwie.xiaqin.zhoukao1208.bean.BannerBean;
import com.bwie.xiaqin.zhoukao1208.bean.lieBean;
import com.bwie.xiaqin.zhoukao1208.home.presenter.BannerPresener;
import com.bwie.xiaqin.zhoukao1208.home.presenter.liePresenter;
import com.bwie.xiaqin.zhoukao1208.home.view.BannerView;
import com.recker.flybanner.FlyBanner;import java.util.ArrayList;
import java.util.List;import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.Unbinder;public class MainActivity extends AppCompatActivity implements BannerView{List<String> imagebean = new ArrayList<>();BannerPresener homeBannerPresenter;liePresenter homeCommodityPresenter;MyAdapter home_hot_line_adapter;@BindView(R.id.flyBanner)FlyBanner flyBanner;@BindView(R.id.re_recyclerView)RecyclerView reRecyclerView;Unbinder unbinder;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);unbinder= ButterKnife.bind(this);homeBannerPresenter= new BannerPresener();homeBannerPresenter.attachView(this);homeBannerPresenter.getHomeBanner();homeCommodityPresenter= new liePresenter();homeCommodityPresenter.attachView(this);homeCommodityPresenter.getHot();}@Overridepublic void OnHomeBannerSuccess(BannerBean bannerBean) {List<BannerBean.DataBean> result = bannerBean.getData();for (int i = 0; i < result.size(); i++) {imagebean.add(result.get(i).getImagePath());}flyBanner.setImagesUrl(imagebean);//将得到的图片数据添加}@Overridepublic void OnHomeCommoditySuccess(lieBean.DataBean homeCommodityBean) {List<lieBean.DataBean.DatasBean> datas = homeCommodityBean.getDatas();StaggeredGridLayoutManager gridLayoutManager = new StaggeredGridLayoutManager(1, StaggeredGridLayoutManager.VERTICAL);reRecyclerView.setLayoutManager(gridLayoutManager);home_hot_line_adapter = new MyAdapter(this,datas);reRecyclerView.setAdapter(home_hot_line_adapter);}@Overrideprotected void onDestroy() {super.onDestroy();unbinder.unbind();homeCommodityPresenter.detachView();homeBannerPresenter.detachView();}
}

这个是主页面的xml

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.bwie.xiaqin.zhoukao1208.MainActivity"><com.recker.flybanner.FlyBannerandroid:id="@+id/flyBanner"android:padding="5dp"android:layout_width="match_parent"android:layout_height="200dp"></com.recker.flybanner.FlyBanner><android.support.v7.widget.RecyclerViewandroid:layout_marginTop="10dp"android:id="@+id/re_recyclerView"android:layout_width="match_parent"android:layout_height="wrap_content"></android.support.v7.widget.RecyclerView></LinearLayout>

这个是adapterxml

layout_adapter

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"><RelativeLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"><TextViewandroid:layout_marginLeft="10dp"android:id="@+id/rxxp_te_getSuperChapterName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="rxxp_te_getChapterName" /><TextViewandroid:id="@+id/rxxp_te_getNiceDate"android:textColor="#dcdada"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentRight="true"android:text="rxxp_te_getChapterName" /></RelativeLayout><TextViewandroid:layout_marginLeft="10dp"android:textColor="#000000"android:textStyle="bold"android:textSize="22sp"android:id="@+id/rxxp_te_getTitle"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="rxxp_te_getTitle" /><TextViewandroid:layout_marginLeft="10dp"android:textColor="#39f2da"android:id="@+id/rxxp_te_getChapterName"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="rxxp_te_getChapterName" /><Viewandroid:layout_width="match_parent"android:layout_height="10dp"android:background="#b1b0b0"/></LinearLayout>

Fresco图片加载+EventBus+Butterknife+Retrofit+RxJava+RxAndroid相关推荐

  1. (三) 技术选型 1.项目框架模式:MVP(得分点);注意:分包分层,避免内存泄漏; 2.图片加载:Fresco图片加载框架; 3.网络加载框架:retrofit;使用Retrofit+RxJ

    首先呢    先把业务逻辑需求讲一下  大致思路都是根据自己所想的去做,下面是我个人做的一个小model,希望能帮到有需要的人 业务逻辑需求 1.MVP分包分层:Model.View.Presente ...

  2. Fresco图片加载框架的介绍,相关开源库以及工具类的封装

    Fresco图片加载框架的介绍,相关开源库以及工具类的封装 本文已授权微信公众号:鸿洋(hongyangAndroid)在微信公众号平台原创首发. 简介 Fresco 是Facebook开源的安卓上的 ...

  3. Fresco图片加载框架使用方法完全指南

    简介 Fresco 是Facebook开源的安卓上的图片加载框架,也可以说是至今为止安卓上最强大的图片加载框架. 相对于其他几个图片加载框架,Fresco主要的优点在于更好的内存管理和更强大的功能,更 ...

  4. Fresco图片加载工具

    原文链接:http://www.fresco-cn.org/ 关于 Fresco Fresco 是一个强大的图片加载组件. Fresco 中设计有一个叫做 image pipeline 的模块.它负责 ...

  5. fresco 图片加载

    注意 SimpleDraweeView 控件 的高不能是 wrap_content 原网址 https://www.fresco-cn.org/docs/getting-started.html ht ...

  6. Fresco图片加载库的使用(SimpleDraweeView的简单使用 )

    一.简介 Fresco 的出现,似乎将 Android 的图片加载做到了极致 Fresco 中文说明:http://www.fresco-cn.org/ Fresco 项目GitHub地址:https ...

  7. 【Android】Fresco图片加载框架(二)————Producer

    /** * 本文可以随意转载到任何网站或者App, * BUT * 转载也要按"基本法", * 请注明原文出处和作者 */ 官方源码地址 fresco官方高大上介绍(1)(注意:前 ...

  8. 常用的图片加载库的区别(Gilde,Picasso,Image-loader,Fresco)

    Gilde,Picasso,Image-loader,Fresco图片加载库的使区别 Glide Glide是一个非常成熟的图片加载库,他可以从多个源加载图片,如:网路,本地,Uri等,更重要的是他内 ...

  9. Universal-Image-Loader(UIL)图片加载框架使用简单介绍

    这个也是最近项目中使用到的第三方图片加载框架,在这里也自己总结一下,简单的介绍一些使用的方式. UIL图片加载框架特点 简介: 项目地址:https://github.com/nostra13/And ...

最新文章

  1. 《连线》杂志:2015年六大安全威胁预测
  2. ARM中Bus Error的测试
  3. CSP认证201412-4 最优灌溉[C++题解]:最小生成树裸题、Kruskal算法求最小生成树
  4. Python常用扩展包
  5. Spring AOP XML配置及注解配置
  6. 通过ClassLoader调用外部jar包
  7. C# 使用XML序列化对象(一)
  8. iOS6.0以上版本,关于NSDateFormatter的问题
  9. 《深入react技术栈》学习笔记(一)初入React世界
  10. Xml的编码和Bom
  11. 云存储收银系统_爱宝云收银系统
  12. java 三阶幻方编程_巧解三阶幻方
  13. 职场小白手收藏篇:职场应聘的面试技巧
  14. canvas画板总结
  15. JavaScript 实现汉字按拼音首字母分组拼序
  16. matlab调用maple数据画图,Matlab调用Maple
  17. Android多媒体开发技术
  18. 剑指 Offer 46. 把数字翻译成字符串
  19. win10下安装gcc
  20. python修改电脑名称_windows更改计算机名称

热门文章

  1. 安装SQL Server 2000时“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误的排除
  2. 【转】国内人才《上海市居住证》续办需提供的申请材料
  3. linux服务器下降,Linux服务器CPU占用率上升速度下降的解决
  4. 理想汽车下“神坛”:抛弃对混动的执念,不得不转身?
  5. 蚁剑有时候连不上webshell
  6. 铁路网络售票是利用计算机,铁路客运计算机售票具体操作图文.pdf
  7. GPS 车辆导航定位的应用前景
  8. 测试人生的最大危机不是 35 岁,是你工作3年的那道坎儿
  9. 守护云原生安全,青藤让浙江移动“心里更有底”
  10. 五点三次平滑滤波在消除随机噪声中的应用以及其Maltab程序