MVP

来源:互联网 发布:厦门三套网络电视台 编辑:程序博客网 时间:2024/05/23 11:20
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);            }        });    }}

原创粉丝点击