Control接口public interface Control { void zhi(String s); }Control2接口
public interface Control2 { void list(List<Bean.DataBean> data); }Model层public class Model { private url="" public void ff(final Control control) { OkHttpClient ok = App.getOK(); Request build = new Request.Builder().url(url).build(); Call call = ok.newCall(build); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String string = response.body().string(); control.zhi(string); } }); }}MainActivity类Presenter层
import com.google.gson.Gson; import java.util.List; import code.xp.mvp.control.Control; import code.xp.mvp.control.Control2; import code.xp.mvp.model.Model; import code.xp.mvp.view.Bean; /** * Created by 徐宏福 on 2017/10/26. */ public class Presenter { Control2 control2; private final Model model; public Presenter(Control2 control2) { model = new Model(); this.control2 = control2; } public void setData() { model.ff(new Control() { @Override public void zhi(String s) { Gson gson = new Gson(); Bean bean = gson.fromJson(s, Bean.class); List<Bean.DataBean> data = bean.getData(); control2.list(data); } }); }}Bean类 咳咳 自己写
public class MainActivity extends AppCompatActivity implements Control2 { private ListView lv; private List<Bean.DataBean> data1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.mian_lv); Presenter presenter = new Presenter(this); presenter.setData(); } @Override public void list(final List<Bean.DataBean> data) { runOnUiThread(new Runnable() { @Override public void run() { lv.setAdapter(new LvAdapter(data, MainActivity.this)); } }); } }App类public class App extends Application { private static OkHttpClient build; @Override public void onCreate() { super.onCreate(); build = new OkHttpClient.Builder().readTimeout(5, TimeUnit.SECONDS).connectTimeout(5, TimeUnit.SECONDS).build(); } public static OkHttpClient getOK() { return build; } }别忘了加网络权限
mvp简单使用
最新推荐文章于 2024-05-10 15:34:55 发布