public class MyModel {
public void getData(String url , final MyModelInfo modelInfo){
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
modelInfo.getFailSure("完蛋玩意儿,请求失败!!!");
}
@Override
public void onResponse(Call call, Response response) throws IOException {
modelInfo.getSuccess(response.body().string());
}
});
}
}
====== public interface MyModelInfo { void getSuccess(String msg); void getFailSure(String msg); }
******
public class MyPresenter { MyViewInfo viewinfo; MyModel mymodel; public MyPresenter(MyViewInfo viewinfo) { this.viewinfo = viewinfo; mymodel = new MyModel(); } public void doGet(String url) { mymodel.getData(url, new MyModelInfo() { @Override public void getSuccess(String msg) { Gson gson = new Gson(); MyBean myBean = gson.fromJson(msg, MyBean.class); viewinfo.showBean(myBean); } @Override public void getFailSure(String msg) { } }); } }///
public interface MyViewInfo { void showBean(MyBean bean); }+++++++++++++++
public class MainActivity extends AppCompatActivity implements MyViewInfo { private TextView tv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv = (TextView) findViewById(R.id.tv); MyPresenter presenter = new MyPresenter(this); presenter.doGet("http://huixinguiyu.cn/Assets/js/data.js"); } @Override public void showBean(final MyBean bean) { runOnUiThread(new Runnable() { @Override public void run() { tv.setText(bean.apk.get(0).name); } }); } }