MainActivity代码
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.GridView;
import android.widget.ListView;
import com.google.gson.Gson;
import com.li.lenovo.rikao02.adapter.MyAdapterMagic;
import com.li.lenovo.rikao02.bean.MylistBean;
import com.li.lenovo.rikao02.home.present.HomeListPresenter;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取控件
mTextView = findViewById(R.id.mTextView);
//初始化链接present
HomeListPresenter homeListPresenter = new HomeListPresenter(this);
homeListPresenter.getPresenterData();
}
//创建view接口
public void getView(String mView) {
mTextView.setText(mView);
}
}
model层跟接口
import java.io.IOException;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.Response;
public class HomeListModeInter implements IHomeListModeInter {
ModuleInterface moduleInterface;
public HomeListModeInter(ModuleInterface moduleInterface) {
this.moduleInterface = moduleInterface;
}
@Override
public void getModelData(final String url) {
OKhttp.getokhttpget(url, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
moduleInterface.LoadSuccess(response.body().string());
}
});
}
//定义接口
public interface ModuleInterface {
void LoadSuccess(String data);
void LoadFailed();
}
}
model接口
public interface IHomeListModeInter {
public void getModelData(String url);
}
P层类跟接口
import com.li.lenovo.rikao02.MainActivity;
import com.li.lenovo.rikao02.api.Api;
import com.li.lenovo.rikao02.home.model.HomeListModeInter;
public class HomeListPresenter implements IHomeListPresenter, HomeListModeInter.ModuleInterface {
//view
MainActivity mainActivity;
private final HomeListModeInter homeListModeInter;
public HomeListPresenter(MainActivity mainActivity) {
this.mainActivity = mainActivity;
homeListModeInter = new HomeListModeInter(this);
}
@Override
public void getPresenterData() {
homeListModeInter.getModelData(Api.SHOPLIST);
}
@Override
public void LoadSuccess(String data) {
mainActivity.getView(data);
}
@Override
public void LoadFailed() {
mainActivity.getView("加载失败");
}
}
P层接口
public interface IHomeListPresenter {
public void getPresenterData();
}
v层接口
public interface IHomeListView {
public void getViewData(String ViewData);
}
工具类
import okhttp3.Callback;
import okhttp3.OkHttpClient;
import okhttp3.Request;
public class OKhttp {
private static OkHttpClient okHttpClient;
private static Request request;
//okhttp get异步请求方法
public static void getokhttpget(String url, Callback callback) {
okHttpClient = new OkHttpClient();
request = new Request.Builder()
.url(url)
.method("GET", null)
.build();
okHttpClient.newCall(request).enqueue(callback);
}
}