MVP

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);
            }
        });
    }
}

發佈了27 篇原創文章 · 獲贊 4 · 訪問量 8410
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章