首先呢 先把业务逻辑需求讲一下 大致思路都是根据自己所想的去做,下面是我个人做的一个小model,希望能帮到有需要的人
-
业务逻辑需求
1、MVP分包分层:Model、View、Presenter三层,在合适的时候绑定,合适的时候取消绑定
2、Retrofit访问网络接口获取数据;Rxjava异步处理数据;使用ButterKnife获取控件
3、图片展示使用Fresco图片加载框架;初始化Fresco,配置Fresco使用磁盘缓存。
首先呢 创建一个项目 啊哈哈 这都不需要说了 下面我们进入正题 主要使用的是七中方法 然后调用对象 对象调对象,接口调接口
布局根文件activity.xml里面的布局如下:
<?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.activity.MainActivity">
<LinearLayout
android:layout_marginTop="10px"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0px"
android:layout_height="80px"
android:layout_weight="4"
android:textColor="#f28040"
android:gravity="center"
android:text="返回"/>
<TextView
android:textSize="30px"
android:layout_width="0px"
android:layout_height="80px"
android:text="草稿箱"
android:gravity="center"
android:textColor="#333333"
android:layout_weight="2"
/>
<TextView
android:id="@+id/clear"
android:layout_width="0px"
android:layout_height="80px"
android:layout_weight="4"
android:gravity="center"
android:textColor="#f28040"
android:text="清空"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="10dp"
android:background="#6666"/>
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rv"/>
</LinearLayout>
然后呢还需要一个布局去写另一个页面没有完成的二次跳转:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/img"
android:layout_width="190px"
android:layout_height="160px"
android:layout_marginTop="15dp"
android:layout_marginLeft="15dp"
android:src="@mipmap/ic_launcher"
/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/name1"
android:textSize="15dp"
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/name2"
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:text="未完成"
android:textColor="#F57A54"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/name3"
android:layout_marginTop="15dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
</LinearLayout>
下面进入正题 首先呢 是我们的根类 Mainactivity.java
public class MainActivity extends AppCompatActivity {
private RecyclerView rv;
private ShowPresenter showPresenter;
private List<ShowGoods.DataBean> data;
private MyAdapter myAdapter;
private UserDao userDao;
private List<User> select;
private MyAdapter1 myAdapter1;
private TextView clear;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取控件
initView();
showPresenter =new ShowPresenter();
showPresenter.ShowCartDemo("72", "android", new ShowView() {
@Override
public void OnSuccess(ShowGoods showGoods) {
data = showGoods.getData();
Log.d("pppppppppppppp", MainActivity.this.data.size()+"");
myAdapter =new MyAdapter(MainActivity.this.data,MainActivity.this);
rv.setAdapter(myAdapter);
}
});
}
private void initView() {
rv = (RecyclerView) findViewById(R.id.rv);
//
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
rv.setLayoutManager(linearLayoutManager);
//清空
clear = (TextView) findViewById(R.id.clear);
clear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
select.clear();
myAdapter1.notifyDataSetChanged();
userDao.delete();
}
});
}
//再次启动
@Override
protected void onRestart() {
super.onRestart();
Log.d("qqqqqqqqqqqqqqqq","再次启动");
userDao =new UserDao(MainActivity.this);
select = userDao.select();
myAdapter1 =new MyAdapter1(MainActivity.this, select);
rv.setAdapter(myAdapter1);
}
}
然后会跟着实现方法 如上面所说 实现方法ShowPresenter
public class ShowPresenter {
private ShowModel showModel;
public void ShowCartDemo(String uid, String android, final ShowView showView){
showModel=new ShowModel();
showModel.ShowCartDemo(uid, android, new ShowModel.OnGetListener() {
@Override
public void OnGetSuccese(ShowGoods showGoods) {
if (showView!=null){
showView.OnSuccess(showGoods);
}
}
@Override
public void OnGetFail() {
}
});
}
}
接下来的 各种方法我就不一一跟大家介绍了
model层
public class ShowModel {
public void ShowCartDemo(String uid,String android,final OnGetListener onGetListener){
Retrofit retrofit=new Retrofit.Builder()
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.baseUrl(Api.HOST)
.build();
ApiService apiService = retrofit.create(ApiService.class);
Observable<ShowGoods> observable = apiService.getCart(uid, android);
observable.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ShowGoods>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
@Override
public void onNext(ShowGoods showGoods) {
if (onGetListener!=null){
onGetListener.OnGetSuccese(showGoods);
Log.d("jjjjjjjjjjjj",showGoods.getMsg());
}
}
});
}
public interface OnGetListener{
void OnGetSuccese(ShowGoods showGoods);
void OnGetFail();
}
}
sqlite
public class Sqlite extends SQLiteOpenHelper {
public Sqlite(Context context) {
super(context, "Goods.db", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table user(name1 text,name3 text,img text)");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
showView里面的代码
public interface ShowView {
void OnSuccess(ShowGoods showGoods);
}
RetrofitUtils里面添加的代码
public class RetrofitUtils {
private static RetrofitUtils RETROFIT_UTILS = null;
private RetrofitUtils() {}
public static RetrofitUtils getInData() {
if (RETROFIT_UTILS == null){
synchronized (RetrofitUtils.class){
if (RETROFIT_UTILS == null){
RETROFIT_UTILS = new RetrofitUtils();
}
}
}
return RETROFIT_UTILS;
}
public <T> T getRetrofit(String path,Class<T> cla){
HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(new HttpLoggingInterceptor.Logger() {
@Override
public void log(String message) {
Log.i("TAG",message);
}
});
httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient okHttpClient = new OkHttpClient.Builder()
.addInterceptor(new HttpUrlConnection())
.addInterceptor(httpLoggingInterceptor)
.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(path)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create(new Gson()))
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
T t = retrofit.create(cla);
return t;
}
}
HttpUrlConnection里面的写的代码如下
public class HttpUrlConnection implements Interceptor {
@Override
public Response intercept(Chain chain) throws IOException {
Request request = chain.request();
String method = request.method();
Log.i("tag",method+"00000");
if ("GET".equals(method)) {
String oldUrl = request.url().toString();
String newUrl = oldUrl + "&source=android";
request = new Request.Builder()
.url(newUrl)
.build();
}else if ("POST".equals(method)){
String path = request.url().toString();
FormBody oldBody = (FormBody) request.body();
FormBody.Builder newBody = new FormBody.Builder();
for (int i = 0; i < oldBody.size() ; i++){
String name = oldBody.name(i);
String value = oldBody.value(i);
newBody.add(name,value);
}
newBody.add("source","android");
request = new Request.Builder()
.post(newBody.build())
.url(path)
.build();
}
return chain.proceed(request);
}
}
下面是封装的类 我也写好放下面了UserDao:
public class UserDao {
private Sqlite sqlite;
public UserDao(Context context){
sqlite=new Sqlite(context);
}
//添加
public void add(String name1,String name3,String img){
SQLiteDatabase database = sqlite.getReadableDatabase();
database.execSQL("insert into user(name1,name3,img) values(?,?,?)",
new String[]{name1,name3,img});
database.close();
}
//查询
public List<User> select(){
List<User> list = new ArrayList<>();
SQLiteDatabase database = sqlite.getReadableDatabase();
Cursor cursor = database.rawQuery("select * from user",
new String[]{});
while(cursor.moveToNext()){
String name1 = cursor.getString(cursor.getColumnIndex("name1"));
String name3 = cursor.getString(cursor.getColumnIndex("name3"));
String img = cursor.getString(cursor.getColumnIndex("img"));
User user = new User(name1, name3, img);
list.add(user);
}
return list;
}
public void delete(){
SQLiteDatabase database = sqlite.getReadableDatabase();
database.execSQL("delete from user", new String[]{});
database.close();
}
}
ShowGoods里面放入的代码:
这个里面放入的东西都是自动生成,但是有些刚刚接触的 不是很懂得 所以我就写出来了
public class ShowGoods {
/**
* msg : 请求成功
* code : 0
* data : [{"list":[{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","num":1,"pid":57,"price":5199,"pscid":40,"selected":1,"sellerid":1,"subhead":"【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}],"sellerName":"商家1","sellerid":"1"},{"list":[{"bargainPrice":22.9,"createtime":"2017-10-14T21:38:26","detailUrl":"https://item.m.jd.com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":7,"pid":25,"price":399,"pscid":2,"selected":1,"sellerid":2,"subhead":"三只松鼠零食特惠,专区满99减50,满199减100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 碧根果225g/袋"},{"bargainPrice":6666,"createtime":"2017-10-10T16:01:31","detailUrl":"https://item.m.jd.com/product/5089273.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t8284/363/1326459580/71585/6d3e8013/59b857f2N6ca75622.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t9346/182/1406837243/282106/68af5b54/59b8480aNe8af7f5c.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t8434/54/1359766007/56140/579509d9/59b85801Nfea207db.jpg!q70.jpg","num":5,"pid":46,"price":234,"pscid":39,"selected":0,"sellerid":2,"subhead":"【iPhone新品上市】新一代iPhone,让智能看起来更不一样","title":"Apple iPhone 8 Plus (A1864) 64GB 金色 移动联通电信4G手机"}],"sellerName":"商家2","sellerid":"2"},{"list":[{"bargainPrice":1599,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/1993026402.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t5863/302/8961270302/97126/41feade1/5981c81cNc1b1fbef.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7003/250/1488538438/195825/53bf31ba/5981c57eN51e95176.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t5665/100/8954482513/43454/418611a9/5981c57eNd5fc97ba.jpg!q70.jpg","num":1,"pid":47,"price":111,"pscid":39,"selected":1,"sellerid":3,"subhead":"碳黑色 32GB 全网通 官方标配 1件","title":"锤子 坚果Pro 特别版 巧克力色 酒红色 全网通 移动联通电信4G手机 双卡双待 碳黑色 32GB 全网通"}],"sellerName":"商家3","sellerid":"3"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":11,"price":8989,"pscid":1,"selected":1,"sellerid":4,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家4","sellerid":"4"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-03T23:43:53","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":12,"price":256,"pscid":1,"selected":1,"sellerid":5,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家5","sellerid":"5"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":3,"pid":15,"price":233.99,"pscid":1,"selected":1,"sellerid":8,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家8","sellerid":"8"},{"list":[{"bargainPrice":22.9,"createtime":"2017-10-03T23:53:28","detailUrl":"https://item.m.jd.com/product/2542855.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t1930/284/2865629620/390243/e3ade9c4/56f0a08fNbd3a1235.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2137/336/2802996626/155915/e5e90d7a/56f0a09cN33e01bd0.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t1882/31/2772215910/389956/c8dbf370/56f0a0a2Na0c86ea6.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t2620/166/2703833710/312660/531aa913/57709035N33857877.jpg!q70.jpg","num":2,"pid":35,"price":10,"pscid":2,"selected":1,"sellerid":12,"subhead":"三只松鼠零食特惠,专区满99减50,满199减100,火速抢购》","title":"三只松鼠 坚果炒货 零食奶油味 碧根果225g/袋"}],"sellerName":"商家12","sellerid":"12"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-14T21:48:08","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":22,"price":799,"pscid":1,"selected":1,"sellerid":15,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家15","sellerid":"15"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":2,"price":299,"pscid":1,"selected":1,"sellerid":18,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家18","sellerid":"18"},{"list":[{"bargainPrice":111.99,"createtime":"2017-10-14T21:39:05","detailUrl":"https://item.m.jd.com/product/4719303.html?utm_source=androidapp&utm_medium=appshare&utm_campaign=t_335139774&utm_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t9004/210/1160833155/647627/ad6be059/59b4f4e1N9a2b1532.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7504/338/63721388/491286/f5957f53/598e95f1N7f2adb87.jpg!q70.jpg|https://m.360buyimg.com/n0/jfs/t7441/10/64242474/419246/adb30a7d/598e95fbNd989ba0a.jpg!q70.jpg","num":1,"pid":5,"price":88.99,"pscid":1,"selected":1,"sellerid":21,"subhead":"每个中秋都不能简单,无论身在何处,你总需要一块饼让生活更圆满,京东月饼让爱更圆满京东自营,闪电配送,更多惊喜,快用手指戳一下","title":"北京稻香村 稻香村中秋节月饼 老北京月饼礼盒655g"}],"sellerName":"商家21","sellerid":"21"}]
*/
private String msg;
private String code;
private List<DataBean> data;
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public List<DataBean> getData() {
return data;
}
public void setData(List<DataBean> data) {
this.data = data;
}
public static class DataBean {
/**
* list : [{"bargainPrice":11800,"createtime":"2017-10-10T17:33:37","detailUrl":"https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends","images":"https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg","num":1,"pid":57,"price":5199,"pscid":40,"selected":1,"sellerid":1,"subhead":"【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统","title":"小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银\r\n"}]
* sellerName : 商家1
* sellerid : 1
*/
private String sellerName;
private String sellerid;
private List<ListBean> list;
public String getSellerName() {
return sellerName;
}
public void setSellerName(String sellerName) {
this.sellerName = sellerName;
}
public String getSellerid() {
return sellerid;
}
public void setSellerid(String sellerid) {
this.sellerid = sellerid;
}
public List<ListBean> getList() {
return list;
}
public void setList(List<ListBean> list) {
this.list = list;
}
public static class ListBean {
/**
* bargainPrice : 11800.0
* createtime : 2017-10-10T17:33:37
* detailUrl : https://item.m.jd.com/product/4338107.html?utm#_source=androidapp&utm#_medium=appshare&utm#_campaign=t#_335139774&utm#_term=QQfriends
* images : https://m.360buyimg.com/n0/jfs/t6700/155/2098998076/156185/6cf95035/595dd5a5Nc3a7dab5.jpg!q70.jpg
* num : 1
* pid : 57
* price : 5199.0
* pscid : 40
* selected : 1
* sellerid : 1
* subhead : 【i5 MX150 2G显存】全高清窄边框 8G内存 256固态硬盘 支持指纹识别 预装WIN10系统
* title : 小米(MI)Air 13.3英寸全金属轻薄笔记本(i5-7200U 8G 256G PCle SSD MX150 2G独显 FHD 指纹识别 Win10)银
*/
private double bargainPrice;
private String createtime;
private String detailUrl;
private String images;
private int num;
private int pid;
private double price;
private int pscid;
private int selected;
private int sellerid;
private String subhead;
private String title;
public double getBargainPrice() {
return bargainPrice;
}
public void setBargainPrice(double bargainPrice) {
this.bargainPrice = bargainPrice;
}
public String getCreatetime() {
return createtime;
}
public void setCreatetime(String createtime) {
this.createtime = createtime;
}
public String getDetailUrl() {
return detailUrl;
}
public void setDetailUrl(String detailUrl) {
this.detailUrl = detailUrl;
}
public String getImages() {
return images;
}
public void setImages(String images) {
this.images = images;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getPid() {
return pid;
}
public void setPid(int pid) {
this.pid = pid;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getPscid() {
return pscid;
}
public void setPscid(int pscid) {
this.pscid = pscid;
}
public int getSelected() {
return selected;
}
public void setSelected(int selected) {
this.selected = selected;
}
public int getSellerid() {
return sellerid;
}
public void setSellerid(int sellerid) {
this.sellerid = sellerid;
}
public String getSubhead() {
return subhead;
}
public void setSubhead(String subhead) {
this.subhead = subhead;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
}
}
User类就相对比较简单了 .封装一些东西就好了 这里我就不写了 刚接触过得人都知道 getter setter方法就可以了
下面的是Api接口 我也就不写了 根据自己需要的接口去套现就好 Apiservice里面也是一样的
最后呢 代码就成型了 最后需要加上网络权限 这是不可以需要切记的 然后就是依赖了
依赖如下::
//
compile 'com.jakewharton:butterknife:8.5.1'
//
annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
//
compile 'com.squareup.retrofit2:retrofit:2.0.2'
// recyclerview 下拉刷新 依赖
compile 'com.android.support:recyclerview-v7:26.1.0'
//
compile 'com.github.bumptech.glide:glide:3.5.2'
//okhttp依赖:
compile 'com.squareup.okio:okio:1.5.0'
//okhttp依赖:
compile 'com.squareup.okhttp3:okhttp:3.2.0'
//ConverterFactory的Gson依赖包
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
//ConverterFactory的String依赖包
compile 'com.squareup.retrofit2:converter-scalars:2.0.0'
//日志拦截器
compile 'com.squareup.okhttp3:logging-interceptor:3.4.1'
//
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
//rxjava依赖:
compile 'io.reactivex:rxjava:1.0.14'
//rxandroid依赖
compile 'io.reactivex:rxandroid:1.0.1'