首先我先说一下这篇博客就是Retrofit,GreenDao,EventBus,Fresco和MVP的一个小总结,多的不说了,老样子甩代码。
我们先写一个Retrofit的get请求
package com.example.weekone1.util;
import com.example.weekone1.bean.Bean;
import retrofit2.Call;
import retrofit2.http.GET;
public interface Interfaces {
/**
* get请求
* http://www.babybuy100.com/API/getShopOverview.ashx
*/
@GET("API/getShopOverview.ashx")
Call<Bean> gets();
/* *//**
* post 请求
*//*
@FormUrlEncoded
@POST("/weixin/query")
Call<Bean> post(@Field("key") String key);*/
}
IMyApps类继承App,需要在清单文件写一下
package com.example.weekone1.util;
import android.app.Application;
import com.example.weekone1.bean.DaoMaster;
import com.example.weekone1.bean.DaoSession;
import com.facebook.drawee.backends.pipeline.Fresco;
import org.greenrobot.greendao.database.Database;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class IMyApps extends Application {
public static Interfaces interfaces;
public static DaoSession session;
@Override
public void onCreate() {
super.onCreate();
//Fresco
Fresco.initialize(this);
//Retrofit
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://www.babybuy100.com")
.addConverterFactory(GsonConverterFactory.create())
.build();
interfaces = retrofit.create(Interfaces.class);
//greendao
DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(this,"test");
Database database = helper.getWritableDb();
session = new DaoMaster(database).newSession();
}
}
bean包我就不写,我们先把GreenDao配置好以后,在我的bean上加上一个@Entity,然后我们在Build一下会生成一个DaoMaster和DaoSession这连个类
下面开始MVP, 首先是V层接口
package com.example.weekone1.view;
import com.example.weekone1.bean.Bean;
import java.io.IOException;
public interface IBeanView {
//请求成功和失败
void oncheng(Bean bean);
void onshi(IOException e);
}
M层
package com.example.weekone1.model;
import com.example.weekone1.bean.Bean;
impor