TestPresenter.java 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. package com.miekir.newmvp;
  2. import android.util.Log;
  3. import com.miekir.mvp.jetpack.RawLiveData;
  4. import com.miekir.mvp.jetpack.WrapLiveData;
  5. import com.miekir.mvp.presenter.BasePresenter;
  6. import java.util.ArrayList;
  7. import java.util.List;
  8. /**
  9. * Copyright (C), 2019-2020, Miekir
  10. *
  11. * @author Miekir
  12. * @date 2020/10/6 20:53
  13. * Description:注意ViewModel的类必须是public的,否则无法创建实例
  14. */
  15. public class TestPresenter extends BasePresenter {
  16. @Override
  17. public void init() {
  18. }
  19. public Thread goWithWrapper(final WrapLiveData<List<TestBean1>> liveData) {
  20. Thread thread = new Thread(new Runnable() {
  21. @Override
  22. public void run() {
  23. try {
  24. for (int i = 0; i < 20; i++) {
  25. Thread.sleep(1000);
  26. Log.i("test", "io thread..." + i);
  27. }
  28. TestBean1 bean = new TestBean1(3, "ViewModel Jason");
  29. List<TestBean1> list = new ArrayList<>();
  30. list.add(bean);
  31. liveData.postSuccess(list);
  32. } catch (Exception e) {
  33. e.printStackTrace();
  34. }
  35. }
  36. });
  37. thread.start();
  38. return thread;
  39. }
  40. public Thread goWithoutWrap(final RawLiveData<List<TestBean1>> liveData) {
  41. Thread thread = new Thread(new Runnable() {
  42. @Override
  43. public void run() {
  44. try {
  45. for (int i = 0; i < 20; i++) {
  46. Thread.sleep(1000);
  47. Log.i("test", "io thread..." + i);
  48. }
  49. TestBean1 bean = new TestBean1(3, "ViewModel Jason");
  50. List<TestBean1> list = new ArrayList<>();
  51. list.add(bean);
  52. liveData.post(list);
  53. } catch (Exception e) {
  54. e.printStackTrace();
  55. }
  56. }
  57. });
  58. thread.start();
  59. return thread;
  60. }
  61. @Override
  62. public void onTaskCancel() {
  63. super.onTaskCancel();
  64. }
  65. }