Commit a27f89e0e344f4eade10fbe2dd6fdd561075ef46
1 parent
10656f4d
1 完成用户登录模块修改
2 优化基类
Showing
9 changed files
with
51 additions
and
107 deletions
app/strike/src/main/java/com/cnlive/strike/MainActivity.java
app/strike/src/main/java/com/cnlive/strike/MyActivity.java
app/strike/src/main/java/com/cnlive/strike/MyActivityTest1.java
| ... | ... | @@ -6,9 +6,8 @@ import com.cnlive.core.libs.base.frame.activity.BaseActivity; |
| 6 | 6 | public class MyActivityTest1 extends BaseActivity { |
| 7 | 7 | |
| 8 | 8 | @Override |
| 9 | - protected int getLayoutId() { | |
| 9 | + protected int getViewLayoutId() { | |
| 10 | 10 | return R.layout.activity_my1; |
| 11 | - | |
| 12 | 11 | } |
| 13 | 12 | |
| 14 | 13 | @Override | ... | ... |
cloud/user/src/main/java/com/cnlive/strike/user/ui/activity/LoginActivity.java
cloud/user/src/main/java/com/cnlive/strike/user/ui/activity/SelectCountryActivity.java
| ... | ... | @@ -38,8 +38,8 @@ public class SelectCountryActivity extends BaseActivity<SelectCountryView, Selec |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | @Override |
| 41 | - protected int getLayoutId() { | |
| 42 | - return R.layout.activity_select_country; | |
| 41 | + protected int getBindLayoutId() { | |
| 42 | + return R.layout.activity_select_country; | |
| 43 | 43 | } |
| 44 | 44 | |
| 45 | 45 | @Override | ... | ... |
core/base/src/main/java/com/cnlive/core/libs/base/frame/activity/BaseActivity.java
| ... | ... | @@ -27,12 +27,16 @@ import com.cnlive.core.libs.base.util.ReflectUtil; |
| 27 | 27 | import com.cnlive.core.libs.base.util.StatusBarConfig; |
| 28 | 28 | import com.cnlive.core.libs.base.util.StatusBarUtil; |
| 29 | 29 | import com.cnlive.core.libs.base.util.ActivityCollector; |
| 30 | +import com.hannesdorfmann.mosby3.mvp.MvpActivity; | |
| 30 | 31 | |
| 31 | 32 | /** |
| 32 | 33 | * @author ys |
| 33 | 34 | * 基类 activity |
| 34 | 35 | */ |
| 35 | 36 | public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V>> extends MvpActivity<V, P> { |
| 37 | + private V view; | |
| 38 | + private P presenter; | |
| 39 | + public ViewDataBinding baseBinding; | |
| 36 | 40 | //获取TAG的activity名称 |
| 37 | 41 | protected final String TAG = this.getClass().getSimpleName(); |
| 38 | 42 | //是否显示标题栏 |
| ... | ... | @@ -45,14 +49,16 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 45 | 49 | private static Toast toast; |
| 46 | 50 | public Context context; |
| 47 | 51 | private int stateBarColor = -1; |
| 48 | - public ViewDataBinding baseBinding; | |
| 49 | - private V view; | |
| 50 | - private P presenter; | |
| 51 | 52 | |
| 52 | 53 | |
| 53 | 54 | @Override |
| 54 | 55 | protected void onCreate(@Nullable Bundle savedInstanceState) { |
| 55 | 56 | super.onCreate(savedInstanceState); |
| 57 | + if (0 != getBindLayoutId()) { | |
| 58 | + baseBinding = DataBindingUtil.setContentView(this, getBindLayoutId()); | |
| 59 | + } else if (0 != getViewLayoutId()) { | |
| 60 | + setContentView(getViewLayoutId()); | |
| 61 | + } | |
| 56 | 62 | context = this; |
| 57 | 63 | //activity管理 |
| 58 | 64 | ActivityCollector.addActivity(this); |
| ... | ... | @@ -66,10 +72,6 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 66 | 72 | getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN |
| 67 | 73 | , WindowManager.LayoutParams.FLAG_FULLSCREEN); |
| 68 | 74 | } |
| 69 | - //设置布局 | |
| 70 | - if (0 != getLayoutId()) { | |
| 71 | - baseBinding = DataBindingUtil.setContentView(this, getLayoutId()); | |
| 72 | - } | |
| 73 | 75 | //设置屏幕是否可旋转 |
| 74 | 76 | if (!isAllowScreenRoate) { |
| 75 | 77 | setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); |
| ... | ... | @@ -84,10 +86,6 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 84 | 86 | initData(); |
| 85 | 87 | } |
| 86 | 88 | |
| 87 | - @Override | |
| 88 | - protected int getLayoutId() { | |
| 89 | - return 0; | |
| 90 | - } | |
| 91 | 89 | |
| 92 | 90 | /** |
| 93 | 91 | * 初始化控件 |
| ... | ... | @@ -95,7 +93,6 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 95 | 93 | protected void initView() { |
| 96 | 94 | } |
| 97 | 95 | |
| 98 | - ; | |
| 99 | 96 | |
| 100 | 97 | /** |
| 101 | 98 | * 设置数据 |
| ... | ... | @@ -272,4 +269,13 @@ public abstract class BaseActivity<V extends BaseView, P extends BasePresenter<V |
| 272 | 269 | } |
| 273 | 270 | return view; |
| 274 | 271 | } |
| 272 | + | |
| 273 | + // protected abstract int getLayoutId(); | |
| 274 | + protected int getBindLayoutId() { | |
| 275 | + return 0; | |
| 276 | + } | |
| 277 | + | |
| 278 | + protected int getViewLayoutId() { | |
| 279 | + return 0; | |
| 280 | + } | |
| 275 | 281 | } |
| 276 | 282 | \ No newline at end of file | ... | ... |
core/base/src/main/java/com/cnlive/core/libs/base/frame/activity/MvpActivity.java deleted
100644 → 0
| 1 | -package com.cnlive.core.libs.base.frame.activity; | |
| 2 | - | |
| 3 | -import android.os.Bundle; | |
| 4 | - | |
| 5 | -import androidx.annotation.NonNull; | |
| 6 | - | |
| 7 | -import com.cnlive.core.libs.base.util.ReflectUtil; | |
| 8 | -import com.hannesdorfmann.mosby3.mvp.MvpPresenter; | |
| 9 | -import com.hannesdorfmann.mosby3.mvp.MvpView; | |
| 10 | - | |
| 11 | -/** | |
| 12 | - * MVP Databinding Base Activity | |
| 13 | - * @param <V> MVP View {@link MvpView} | |
| 14 | - * @param <P> MVP Presenter {@link MvpPresenter} | |
| 15 | - */ | |
| 16 | -public abstract class MvpActivity<V extends MvpView, P extends MvpPresenter<V>> extends com.hannesdorfmann.mosby3.mvp.MvpActivity<V, P> { | |
| 17 | - | |
| 18 | - public V view; | |
| 19 | - | |
| 20 | - @Override | |
| 21 | - protected void onCreate(Bundle savedInstanceState) { | |
| 22 | - super.onCreate(savedInstanceState); | |
| 23 | - setContentView(getLayoutId()); | |
| 24 | - } | |
| 25 | - | |
| 26 | - protected abstract int getLayoutId(); | |
| 27 | - | |
| 28 | - @NonNull | |
| 29 | - public V createView() { | |
| 30 | - return ReflectUtil.instance(0, this.getClass(), this); | |
| 31 | - } | |
| 32 | - | |
| 33 | - @NonNull | |
| 34 | - @Override | |
| 35 | - public P createPresenter() { | |
| 36 | - return ReflectUtil.instance(1, this); | |
| 37 | - } | |
| 38 | - | |
| 39 | - @NonNull | |
| 40 | - @Override | |
| 41 | - public V getMvpView() { | |
| 42 | - if (view == null) view = createView(); | |
| 43 | - return view; | |
| 44 | - } | |
| 45 | - | |
| 46 | -} |
core/base/src/main/java/com/cnlive/core/libs/base/frame/activity/MvpBindingActivity.java deleted
100644 → 0
| 1 | -package com.cnlive.core.libs.base.frame.activity; | |
| 2 | - | |
| 3 | -import android.os.Bundle; | |
| 4 | - | |
| 5 | -import androidx.annotation.NonNull; | |
| 6 | -import androidx.databinding.DataBindingUtil; | |
| 7 | -import androidx.databinding.ViewDataBinding; | |
| 8 | - | |
| 9 | -import com.cnlive.core.libs.base.util.ReflectUtil; | |
| 10 | -import com.hannesdorfmann.mosby3.mvp.MvpPresenter; | |
| 11 | -import com.hannesdorfmann.mosby3.mvp.MvpView; | |
| 12 | - | |
| 13 | -/** | |
| 14 | - * MVP Databinding Base Activity | |
| 15 | - * @param <V> MVP View {@link MvpView} | |
| 16 | - * @param <P> MVP Presenter {@link MvpPresenter} | |
| 17 | - * @param <D> Databind Page Data | |
| 18 | - * @param <T> Databind Activity ViewDataBinding {@link ViewDataBinding} | |
| 19 | - */ | |
| 20 | -public abstract class MvpBindingActivity<V extends MvpView, P extends MvpPresenter<V>, D, T extends ViewDataBinding> extends MvpActivity<V, P> { | |
| 21 | - | |
| 22 | - public T binding; | |
| 23 | - public D data; | |
| 24 | - | |
| 25 | - @Override | |
| 26 | - protected void onCreate(Bundle savedInstanceState) { | |
| 27 | - super.onCreate(savedInstanceState); | |
| 28 | - binding = DataBindingUtil.setContentView(this, getLayoutId()); | |
| 29 | - ReflectUtil.invoke(binding, "setData", getViewData()); | |
| 30 | -} | |
| 31 | - | |
| 32 | - protected D initLayoutData() { | |
| 33 | - return ReflectUtil.instance(2, this); | |
| 34 | - } | |
| 35 | - | |
| 36 | - @NonNull | |
| 37 | - public D getViewData() { | |
| 38 | - if (data == null) data = initLayoutData(); | |
| 39 | - return data; | |
| 40 | - } | |
| 41 | -} |
core/base/src/main/java/com/cnlive/core/libs/base/frame/fragment/BaseFragment.java
| 1 | 1 | package com.cnlive.core.libs.base.frame.fragment; |
| 2 | 2 | |
| 3 | 3 | import android.os.Bundle; |
| 4 | +import android.view.LayoutInflater; | |
| 4 | 5 | import android.view.View; |
| 6 | +import android.view.ViewGroup; | |
| 5 | 7 | import android.view.inputmethod.InputMethodManager; |
| 6 | 8 | |
| 7 | 9 | import androidx.annotation.ColorRes; |
| ... | ... | @@ -9,6 +11,8 @@ import androidx.annotation.IntRange; |
| 9 | 11 | import androidx.annotation.NonNull; |
| 10 | 12 | import androidx.annotation.Nullable; |
| 11 | 13 | import androidx.core.content.ContextCompat; |
| 14 | +import androidx.databinding.DataBindingUtil; | |
| 15 | +import androidx.databinding.ViewDataBinding; | |
| 12 | 16 | |
| 13 | 17 | import com.cnlive.core.libs.base.frame.presenter.BasePresenter; |
| 14 | 18 | import com.cnlive.core.libs.base.util.ReflectUtil; |
| ... | ... | @@ -29,6 +33,20 @@ public abstract class BaseFragment<V extends BaseView, P extends BasePresenter<V |
| 29 | 33 | private V view; |
| 30 | 34 | private P presenter; |
| 31 | 35 | protected final String TAG = this.getClass().getSimpleName(); |
| 36 | + public ViewDataBinding baseBinding; | |
| 37 | + public View baseView; | |
| 38 | + | |
| 39 | + @Nullable | |
| 40 | + @Override | |
| 41 | + public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | |
| 42 | + if (0 != getBindLayoutId()) { | |
| 43 | + baseBinding = DataBindingUtil.inflate(inflater, getBindLayoutId(), container, false); | |
| 44 | + return baseBinding.getRoot(); | |
| 45 | + } else if (0 != getViewLayoutId()) { | |
| 46 | + baseView = inflater.inflate(getViewLayoutId(), container, false); | |
| 47 | + } | |
| 48 | + return super.onCreateView(inflater, container, savedInstanceState); | |
| 49 | + } | |
| 32 | 50 | |
| 33 | 51 | @Override |
| 34 | 52 | public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { |
| ... | ... | @@ -70,6 +88,13 @@ public abstract class BaseFragment<V extends BaseView, P extends BasePresenter<V |
| 70 | 88 | protected void initBindingData() { |
| 71 | 89 | } |
| 72 | 90 | |
| 91 | + protected int getBindLayoutId() { | |
| 92 | + return 0; | |
| 93 | + } | |
| 94 | + | |
| 95 | + protected int getViewLayoutId() { | |
| 96 | + return 0; | |
| 97 | + } | |
| 73 | 98 | |
| 74 | 99 | /** |
| 75 | 100 | * 设置状态栏颜色 | ... | ... |