詹子聪 преди 5 години
родител
ревизия
2a8be97c11

+ 0 - 3
app/src/main/AndroidManifest.xml

@@ -18,9 +18,6 @@
         </activity>
 
 
-        <activity android:name=".AActivity"/>
-        <activity android:name=".BActivity"/>
-        <activity android:name=".CActivity"/>
     </application>
 
 </manifest>

+ 0 - 57
app/src/main/java/com/miekir/newmvp/AActivity.java

@@ -1,57 +0,0 @@
-package com.miekir.newmvp;
-
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-
-import com.miekir.mvp.presenter.DataMethod;
-import com.miekir.mvp.presenter.InjectViewModel;
-import com.miekir.mvp.view.model.BaseMvpActivity;
-
-import java.util.List;
-
-public class AActivity extends BaseMvpActivity {
-    @InjectViewModel
-    TestViewModel1 viewModel1;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_main;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        TextView tv_name = findViewById(R.id.tv_name);
-        tv_name.setText("AActivity");
-
-        findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                //presenter1.go();
-                viewModel1.go();
-            }
-        });
-
-        findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                startActivity(new Intent(AActivity.this, BActivity.class));
-            }
-        });
-    }
-
-
-    @DataMethod
-    public void onDataCome1(int code, String msg, List<TestBean1> data, int source) {
-        Log.e("tttttaaaaaa", data.get(0).getName());
-    }
-}

+ 0 - 57
app/src/main/java/com/miekir/newmvp/BActivity.java

@@ -1,57 +0,0 @@
-package com.miekir.newmvp;
-
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-
-import com.miekir.mvp.presenter.DataMethod;
-import com.miekir.mvp.presenter.InjectViewModel;
-import com.miekir.mvp.view.model.BaseMvpActivity;
-
-import java.util.List;
-
-public class BActivity extends BaseMvpActivity {
-    @InjectViewModel
-    TestViewModel1 viewModel1;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_main;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        TextView tv_name = findViewById(R.id.tv_name);
-        tv_name.setText("BActivity");
-
-        findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                //presenter1.go();
-                viewModel1.go();
-            }
-        });
-
-        findViewById(R.id.btn_test).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                startActivity(new Intent(BActivity.this, CActivity.class));
-            }
-        });
-    }
-
-
-    @DataMethod
-    public void onDataCome1(int code, String msg, List<TestBean1> data, int source) {
-        Log.e("tttttbbbb", data.get(0).getName());
-    }
-}

+ 0 - 49
app/src/main/java/com/miekir/newmvp/CActivity.java

@@ -1,49 +0,0 @@
-package com.miekir.newmvp;
-
-
-import android.os.Bundle;
-import android.util.Log;
-import android.view.View;
-import android.widget.TextView;
-
-import com.miekir.mvp.presenter.DataMethod;
-import com.miekir.mvp.presenter.InjectViewModel;
-import com.miekir.mvp.view.model.BaseMvpActivity;
-
-import java.util.List;
-
-public class CActivity extends BaseMvpActivity implements ICView {
-    @InjectViewModel
-    TestViewModel1 viewModel1;
-
-    @Override
-    public int getLayoutID() {
-        return R.layout.activity_main;
-    }
-
-    @Override
-    public void initViews(Bundle savedInstanceState) {
-
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        TextView tv_name = findViewById(R.id.tv_name);
-        tv_name.setText("CActivity");
-
-        findViewById(R.id.view_test).setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View view) {
-                viewModel1.go();
-            }
-        });
-    }
-
-
-    @DataMethod
-    @Override
-    public void onDataCome(int resultCode, String msg, List<TestBean1> data, int source) {
-        Log.e("tttttbbbb", data.get(0).getName());
-    }
-}

+ 1 - 1
app/src/main/java/com/miekir/newmvp/MainActivity.java

@@ -7,7 +7,7 @@ import android.widget.Toast;
 
 import com.miekir.mvp.presenter.DataMethod;
 import com.miekir.mvp.presenter.InjectViewModel;
-import com.miekir.mvp.view.model.BaseMvpActivity;
+import com.miekir.mvp.view.BaseMvpActivity;
 
 import java.util.List;
 

+ 0 - 34
app/src/main/java/com/miekir/newmvp/TestBean2.java

@@ -1,34 +0,0 @@
-package com.miekir.newmvp;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/10/7 11:35
- * Description:
- */
-public class TestBean2 {
-    private String name;
-    private String address;
-
-    public TestBean2(String name, String address) {
-        this.name = name;
-        this.address = address;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getAddress() {
-        return address;
-    }
-
-    public void setAddress(String address) {
-        this.address = address;
-    }
-}

+ 0 - 27
app/src/main/java/com/miekir/newmvp/TestPresenter1.java

@@ -1,27 +0,0 @@
-package com.miekir.newmvp;
-
-import com.miekir.mvp.presenter.BasePresenter;
-
-/**
- * Copyright (C), 2019-2020, Miekir
- *
- * @author Miekir
- * @date 2020/10/6 20:53
- * Description:
- */
-public class TestPresenter1 extends BasePresenter {
-    public void go() {
-        new Thread(new Runnable() {
-            @Override
-            public void run() {
-                try {
-                    Thread.sleep(10000);
-                    //getView().onLoginResult(3, "ddd");
-                    post(0, "test", new TestBean1(3, "Jason"), 3);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                }
-            }
-        }).start();
-    }
-}

+ 0 - 1
mvp/src/main/java/com/miekir/mvp/base/BaseActivity.java

@@ -11,7 +11,6 @@ import android.view.inputmethod.InputMethodManager;
 
 import androidx.appcompat.app.AppCompatActivity;
 
-import com.miekir.mvp.view.OldBaseMVPActivity;
 import com.miekir.mvp.widget.LoadingDialog;
 
 /**

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/base/DataResult.java

@@ -1,4 +1,4 @@
-package com.miekir.mvp.base;
+package com.miekir.mvp.bean;
 
 /**
  * Copyright (C), 2019-2020, Miekir

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/base/BaseMvpResponse.java

@@ -1,4 +1,4 @@
-package com.miekir.mvp.base;
+package com.miekir.mvp.constant;
 
 /**
  * Copyright (C), 2019-2020, Miekir

+ 1 - 1
mvp/src/main/java/com/miekir/mvp/base/BaseMvpSource.java

@@ -1,4 +1,4 @@
-package com.miekir.mvp.base;
+package com.miekir.mvp.constant;
 
 /**
  * Copyright (C), 2019-2020, Miekir

+ 0 - 36
mvp/src/main/java/com/miekir/mvp/presenter/BasePresenter.java

@@ -1,36 +0,0 @@
-package com.miekir.mvp.presenter;
-
-import androidx.lifecycle.MutableLiveData;
-
-import com.miekir.mvp.base.DataResult;
-
-import java.lang.ref.WeakReference;
-
-public abstract class BasePresenter {
-
-    private WeakReference<MutableLiveData<DataResult>> mLiveData;
-
-    public void setLiveData(MutableLiveData<DataResult> liveData) {
-        mLiveData = new WeakReference<>(liveData);
-    }
-
-    public void post(int responseCode, String msg, Object dataBean, int sourceCode) {
-        if (mLiveData == null) {
-            return;
-        }
-
-        MutableLiveData<DataResult> liveData = mLiveData.get();
-        if (liveData == null) {
-            return;
-        }
-
-        liveData.postValue(new DataResult(responseCode, msg, dataBean, sourceCode));
-    }
-
-    public void detachView() {
-        if (mLiveData != null) {
-            mLiveData.clear();
-            mLiveData = null;
-        }
-    }
-}

+ 3 - 3
mvp/src/main/java/com/miekir/mvp/presenter/BaseViewModel.java

@@ -3,9 +3,9 @@ package com.miekir.mvp.presenter;
 import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.ViewModel;
 
-import com.miekir.mvp.base.BaseMvpResponse;
-import com.miekir.mvp.base.BaseMvpSource;
-import com.miekir.mvp.base.DataResult;
+import com.miekir.mvp.bean.DataResult;
+import com.miekir.mvp.constant.BaseMvpResponse;
+import com.miekir.mvp.constant.BaseMvpSource;
 
 /**
  * Copyright (C), 2019-2020, Miekir

+ 0 - 15
mvp/src/main/java/com/miekir/mvp/presenter/InjectPresenter.java

@@ -1,15 +0,0 @@
-package com.miekir.mvp.presenter;
-
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * @description Presenter注入标记
- * @date 2019/8/19
- */
-@Retention(RetentionPolicy.RUNTIME)
-@Target(ElementType.FIELD)
-public @interface InjectPresenter {
-}

+ 3 - 4
mvp/src/main/java/com/miekir/mvp/view/model/BaseMvpActivity.java

@@ -1,4 +1,4 @@
-package com.miekir.mvp.view.model;
+package com.miekir.mvp.view;
 
 
 import android.os.Bundle;
@@ -8,12 +8,11 @@ import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.Observer;
 
 import com.miekir.mvp.base.BaseActivity;
-import com.miekir.mvp.base.BaseMvpResponse;
-import com.miekir.mvp.base.DataResult;
+import com.miekir.mvp.bean.DataResult;
+import com.miekir.mvp.constant.BaseMvpResponse;
 import com.miekir.mvp.presenter.BaseViewModel;
 import com.miekir.mvp.presenter.DataMethod;
 import com.miekir.mvp.presenter.InjectViewModel;
-import com.miekir.mvp.view.IView;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;

+ 2 - 3
mvp/src/main/java/com/miekir/mvp/view/model/BaseMvpFragment.java

@@ -1,4 +1,4 @@
-package com.miekir.mvp.view.model;
+package com.miekir.mvp.view;
 
 import android.os.Bundle;
 import android.text.TextUtils;
@@ -10,11 +10,10 @@ import androidx.lifecycle.MutableLiveData;
 import androidx.lifecycle.Observer;
 
 import com.miekir.mvp.base.BaseFragment;
-import com.miekir.mvp.base.DataResult;
+import com.miekir.mvp.bean.DataResult;
 import com.miekir.mvp.presenter.BaseViewModel;
 import com.miekir.mvp.presenter.DataMethod;
 import com.miekir.mvp.presenter.InjectViewModel;
-import com.miekir.mvp.view.IView;
 
 import java.lang.reflect.Field;
 import java.lang.reflect.Method;

+ 0 - 150
mvp/src/main/java/com/miekir/mvp/view/OldBaseMVPActivity.java

@@ -1,150 +0,0 @@
-package com.miekir.mvp.view;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-
-import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.Observer;
-
-import com.miekir.mvp.base.BaseActivity;
-import com.miekir.mvp.base.DataResult;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.mvp.presenter.DataMethod;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * 利用反射,BaseMVPActivity将会查找子类中有{@link InjectPresenter}注解的成员变量,
- * 筛选出父类是{@link BasePresenter}的成员变量,对它们进行实例化
- * 然后BaseMVPActivity调用{@link BasePresenter}的一个方法把自身的{@link androidx.lifecycle.LiveData}类型引用
- * 传递给{@link BasePresenter},这样{@link BasePresenter}的子类就可以调用相应Activity的LiveData;
- */
-public abstract class OldBaseMVPActivity extends BaseActivity implements IView {
-    private List<Method> mDataMethodList = new ArrayList<>();
-    private List<BasePresenter> mInjectPresenters;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        // 查找回调方法
-        if (mDataMethodList.size() == 0) {
-            Method[] methods = null;
-            try {
-                // This is faster than getMethods, especially when subscribers are fat classes like Activities
-                methods = getClass().getDeclaredMethods();
-            } catch (Throwable th) {
-                // Workaround for java.lang.NoClassDefFoundError, see https://github.com/greenrobot/EventBus/issues/149
-                try {
-                    methods = getClass().getDeclaredMethods();
-                } catch (LinkageError error) { // super class of NoClassDefFoundError to be a bit more broad...
-                    error.printStackTrace();
-                }
-            }
-
-            // 参数校验
-            if (methods != null && methods.length > 0) {
-                for (Method method : methods) {
-                    DataMethod dataMethod = method.getAnnotation(DataMethod.class);
-                    if (dataMethod != null) {
-                        int length = method.getParameterTypes().length;
-                        if (length != 4) {
-                            throw new AssertionError("DataMethod参数数量必须为4个");
-                        }
-
-                        // 响应结果code
-                        String firstType = method.getParameterTypes()[0].getSimpleName();
-                        String resultCodeType = int.class.getSimpleName();
-                        if (!TextUtils.equals(resultCodeType, firstType)) {
-                            throw new AssertionError("DataMethod第1个参数必须为" + resultCodeType);
-                        }
-
-                        // 响应消息
-                        String secondType = method.getParameterTypes()[1].getSimpleName();
-                        String messageType = String.class.getSimpleName();
-                        if (!TextUtils.equals(messageType, secondType)) {
-                            throw new AssertionError("DataMethod第2个参数必须为" + messageType);
-                        }
-
-                        // 数据来源
-                        String fourthType = method.getParameterTypes()[3].getSimpleName();
-                        String sourceCodeType = int.class.getSimpleName();
-                        if (!TextUtils.equals(fourthType, sourceCodeType)) {
-                            throw new AssertionError("DataMethod第4个参数必须为" + sourceCodeType);
-                        }
-
-                        method.setAccessible(true);
-                        mDataMethodList.add(method);
-                    }
-                }
-            }
-        }
-
-        // 这里可以获取到子类的成员变量
-        mInjectPresenters = new ArrayList<>();
-        Field[] fields = this.getClass().getDeclaredFields();
-        for (Field field : fields) {
-            //获取变量上面的注解类型
-            InjectPresenter injectPresenter = field.getAnnotation(InjectPresenter.class);
-            if (injectPresenter != null) {
-                try {
-                    //创建一个观察者去更新UI
-                    final Observer<DataResult> observer = new Observer<DataResult>() {
-                        @Override
-                        public void onChanged(final DataResult result) {
-                            onDataResult(result);
-                        }
-                    };
-                    // liveData也可以在Presenter创建,然后提供方法给Activity获取
-                    MutableLiveData<DataResult> liveData = new MutableLiveData<DataResult>();
-                    liveData.observe(this, observer);
-
-                    Class<? extends BasePresenter> type = (Class<? extends BasePresenter>) field.getType();
-                    BasePresenter mInjectPresenter = type.newInstance();
-                    //mInjectPresenter.attachView(this);
-                    mInjectPresenter.setLiveData(liveData);
-                    field.setAccessible(true);
-                    field.set(this, mInjectPresenter);
-                    mInjectPresenters.add(mInjectPresenter);
-                } catch (IllegalAccessException e) {
-                    e.printStackTrace();
-                } catch (InstantiationException e) {
-                    e.printStackTrace();
-                } catch (ClassCastException e) {
-                    e.printStackTrace();
-                    throw new RuntimeException("SubClass must extends Class:BasePresenter");
-                }
-            }
-        }
-    }
-
-    @Override
-    protected void onDestroy() {
-        super.onDestroy();
-        if (mInjectPresenters != null && mInjectPresenters.size() > 0) {
-            for (BasePresenter presenter : mInjectPresenters) {
-                presenter.detachView();
-            }
-            mInjectPresenters.clear();
-            mInjectPresenters = null;
-        }
-
-        mDataMethodList.clear();
-    }
-
-
-    private void onDataResult(DataResult result) {
-        dismissLoading();
-        for (Method method : mDataMethodList) {
-            try {
-                method.invoke(this, result.getResponseCode(), result.getMessage(), result.getBean(), result.getSourceCode());
-            } catch (Exception e) {
-                //e.printStackTrace();
-            }
-        }
-    }
-}

+ 0 - 198
mvp/src/main/java/com/miekir/mvp/view/OldBaseMVPFragment.java

@@ -1,198 +0,0 @@
-package com.miekir.mvp.view;
-
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.view.View;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.lifecycle.MutableLiveData;
-import androidx.lifecycle.Observer;
-
-import com.miekir.mvp.base.BaseFragment;
-import com.miekir.mvp.base.DataResult;
-import com.miekir.mvp.presenter.BasePresenter;
-import com.miekir.mvp.presenter.DataMethod;
-import com.miekir.mvp.presenter.InjectPresenter;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.List;
-
-
-public abstract class OldBaseMVPFragment extends BaseFragment implements IView {
-    /**
-     * 是否被创建了
-     */
-    protected boolean isViewCreated;
-    /**
-     * 当前是否可见
-     */
-    protected boolean isUIVisible;
-
-    private List<Method> mDataMethodList = new ArrayList<>();
-    private List<BasePresenter> mInjectPresenters;
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        onViewInit();
-
-        // 查找回调方法
-        if (mDataMethodList.size() == 0) {
-            Method[] methods = null;
-            try {
-                // This is faster than getMethods, especially when subscribers are fat classes like Activities
-                methods = getClass().getDeclaredMethods();
-            } catch (Throwable th) {
-                // Workaround for java.lang.NoClassDefFoundError, see https://github.com/greenrobot/EventBus/issues/149
-                try {
-                    methods = getClass().getDeclaredMethods();
-                } catch (LinkageError error) { // super class of NoClassDefFoundError to be a bit more broad...
-                    error.printStackTrace();
-                }
-            }
-
-            if (methods != null && methods.length > 0) {
-                for (Method method : methods) {
-                    DataMethod dataMethod = method.getAnnotation(DataMethod.class);
-                    if (dataMethod != null) {
-                        mDataMethodList.add(method);
-                    }
-                }
-            }
-
-            // 参数校验
-            if (methods != null && methods.length > 0) {
-                for (Method method : methods) {
-                    DataMethod dataMethod = method.getAnnotation(DataMethod.class);
-                    if (dataMethod != null) {
-                        int length = method.getParameterTypes().length;
-                        if (length != 4) {
-                            throw new AssertionError("DataMethod参数数量必须为4个");
-                        }
-
-                        // 响应结果code
-                        String firstType = method.getParameterTypes()[0].getSimpleName();
-                        String resultCodeType = int.class.getSimpleName();
-                        if (!TextUtils.equals(resultCodeType, firstType)) {
-                            throw new AssertionError("DataMethod第1个参数必须为" + resultCodeType);
-                        }
-
-                        // 响应消息
-                        String secondType = method.getParameterTypes()[1].getSimpleName();
-                        String messageType = String.class.getSimpleName();
-                        if (!TextUtils.equals(messageType, secondType)) {
-                            throw new AssertionError("DataMethod第2个参数必须为" + messageType);
-                        }
-
-                        // 数据来源
-                        String fourthType = method.getParameterTypes()[3].getSimpleName();
-                        String sourceCodeType = int.class.getSimpleName();
-                        if (!TextUtils.equals(fourthType, sourceCodeType)) {
-                            throw new AssertionError("DataMethod第4个参数必须为" + sourceCodeType);
-                        }
-
-                        method.setAccessible(true);
-                        mDataMethodList.add(method);
-                    }
-                }
-            }
-        }
-
-        mInjectPresenters = new ArrayList<>();
-        Field[] fields = this.getClass().getDeclaredFields();
-        for (Field field : fields) {
-            //获取变量上面的注解类型
-            InjectPresenter injectPresenter = field.getAnnotation(InjectPresenter.class);
-            if (injectPresenter != null) {
-                try {
-                    //创建一个观察者去更新UI
-                    final Observer<DataResult> observer = new Observer<DataResult>() {
-                        @Override
-                        public void onChanged(final DataResult result) {
-                            onDataResult(result);
-                        }
-                    };
-                    MutableLiveData<DataResult> liveData = new MutableLiveData<DataResult>();
-                    liveData.observe(this, observer);
-
-                    Class<? extends BasePresenter> type = (Class<? extends BasePresenter>) field.getType();
-                    BasePresenter mInjectPresenter = type.newInstance();
-                    mInjectPresenter.setLiveData(liveData);
-                    //mInjectPresenter.attachView(this);
-                    field.setAccessible(true);
-                    field.set(this, mInjectPresenter);
-                    mInjectPresenters.add(mInjectPresenter);
-                } catch (IllegalAccessException e) {
-                    e.printStackTrace();
-                } catch (java.lang.InstantiationException e) {
-                    e.printStackTrace();
-                }catch (ClassCastException e){
-                    e.printStackTrace();
-                    throw new RuntimeException("SubClass must extends Class:BasePresenter");
-                }
-            }
-        }
-
-        isViewCreated = true;
-        loadData();
-    }
-
-    /**
-     * View初始化
-     */
-    protected abstract void onViewInit();
-
-    @Override
-    public void setUserVisibleHint(boolean isVisibleToUser) {
-        super.setUserVisibleHint(isVisibleToUser);
-        isUIVisible = isVisibleToUser;
-        if (isVisibleToUser) {
-            loadData();
-        }
-    }
-
-    /**
-     * 懒加载,当Fragment可见的时候,再去加载数据
-     * 应用初始化会先调用完所有的setUserVisibleHint再调用onViewCreated,然后切换的时候,就只调用setUserVisibleHint了
-     */
-    private void loadData() {
-        if (isViewCreated && isUIVisible) {
-            isViewCreated = false;
-            isUIVisible = false;
-            onLazyLoad();
-        }
-    }
-
-    /**
-     * 懒加载,初始化加载数据
-     */
-    protected abstract void onLazyLoad();
-
-    @Override
-    public void onDestroyView() {
-        super.onDestroyView();
-        if (mInjectPresenters != null && mInjectPresenters.size() > 0) {
-            for (BasePresenter presenter : mInjectPresenters) {
-                presenter.detachView();
-            }
-            mInjectPresenters.clear();
-            mInjectPresenters = null;
-        }
-
-        mDataMethodList.clear();
-    }
-
-    private void onDataResult(DataResult result) {
-        dismissLoading();
-        for (Method method : mDataMethodList) {
-            try {
-                method.invoke(this, result.getResponseCode(), result.getMessage(), result.getBean(), result.getSourceCode());
-            } catch (Exception e) {
-                //e.printStackTrace();
-            }
-        }
-    }
-}