Commit d613f1927d5e00059810502b785dc353a01f2a0a

Authored by YangShuai
1 parent 9ee528fa

区分MainActivity

app/strike/build.gradle
... ... @@ -47,7 +47,6 @@ android {
47 47 // resValue("string", "app_name", "网家家 内测")
48 48 // buildConfigField("boolean", "VERSION_AS_DEBUG", "true")
49 49 //测试版本2
50   -// debuggable = false
51 50 applicationIdSuffix ".debug"
52 51 resValue("string", "app_name", "网家家 内测")
53 52 buildConfigField("boolean", "VERSION_AS_DEBUG", "true")
... ...
app/strike/src/main/AndroidManifest.xml
... ... @@ -4,8 +4,8 @@
4 4  
5 5 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
6 6 <uses-permission android:name="android.permission.INTERNET" />
7   - <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
8   - <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  7 + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
  8 + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
9 9  
10 10 <application
11 11 android:name=".MyApp"
... ... @@ -16,6 +16,7 @@
16 16 android:roundIcon="@mipmap/ic_launcher_round"
17 17 android:supportsRtl="true"
18 18 android:theme="@style/AppTheme">
  19 + <activity android:name=".demo.activity.DemoActivity" />
19 20 <activity android:name=".MyActivity"></activity>
20 21 <activity android:name=".MainActivity">
21 22 <intent-filter>
... ...
app/strike/src/main/java/com/cnlive/strike/MainActivity.java
... ... @@ -8,6 +8,8 @@ import android.view.View;
8 8  
9 9 import com.cnlive.core.libs.base.frame.activity.BaseActivity;
10 10 import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener;
  11 +import com.cnlive.core.libs.base.util.AppManager;
  12 +import com.cnlive.strike.demo.activity.DemoActivity;
11 13 import com.cnlive.strike.user.ui.activity.LoginActivity;
12 14  
13 15 public class MainActivity extends BaseActivity {
... ... @@ -21,46 +23,14 @@ public class MainActivity extends BaseActivity {
21 23 @Override
22 24 protected void initView() {
23 25 super.initView();
  26 +// setOpenSwipBack(true);
24 27 findViewById(R.id.go_to).setOnClickListener(new View.OnClickListener() {
25 28 @Override
26 29 public void onClick(View v) {
27   -// startActivity(new Intent(MainActivity.this, MyActivity.class));
28   - LoginActivity.start(MainActivity.this);
29   -
30   - }
31   - });
32   - findViewById(R.id.go_to1).setOnClickListener(new View.OnClickListener() {
33   - @Override
34   - public void onClick(View v) {
35   - requestPermission(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {
36   - @Override
37   - public void onSuccess(String[] permissions) {
38   - Log.e(TAG, "onSuccess: ");
39   - }
40   -
41   - @Override
42   - public void onFail() {
43   - Log.e(TAG, "onFail: ");
44   - }
45   - });
  30 + startActivity(new Intent(MainActivity.this, DemoActivity.class));
46 31 }
47 32 });
48   - findViewById(R.id.go_to2).setOnClickListener(new View.OnClickListener() {
49   - @Override
50   - public void onClick(View v) {
51   - requestPermission(10010, "拒绝我了", new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {
52   - @Override
53   - public void onSuccess(String[] permissions) {
54   - Log.e(TAG, "onSuccess: ");
55   - }
56 33  
57   - @Override
58   - public void onFail() {
59   - Log.e(TAG, "onFail: ");
60   - }
61   - });
62   - }
63   - });
64 34 }
65 35  
66 36  
... ...
app/strike/src/main/java/com/cnlive/strike/MyApp.java
... ... @@ -4,8 +4,9 @@ import android.app.Application;
4 4  
5 5 import com.alibaba.android.arouter.launcher.ARouter;
6 6 import com.cnlive.core.libs.base.application.AppConfig;
  7 +import com.cnlive.core.libs.base.application.BaseApplication;
7 8  
8   -public class MyApp extends Application {
  9 +public class MyApp extends BaseApplication {
9 10 @Override
10 11 public void onCreate() {
11 12 super.onCreate();
... ...
app/strike/src/main/java/com/cnlive/strike/demo/activity/DemoActivity.java 0 → 100644
  1 +package com.cnlive.strike.demo.activity;
  2 +
  3 +import android.Manifest;
  4 +import android.util.Log;
  5 +import android.view.View;
  6 +
  7 +import com.cnlive.core.libs.base.frame.activity.BaseActivity;
  8 +import com.cnlive.core.libs.base.interfaces.OnPermissionResponseListener;
  9 +import com.cnlive.core.libs.base.util.StatusBarConfig;
  10 +import com.cnlive.strike.R;
  11 +
  12 +/**
  13 + * 继承BaseActivity
  14 + * 会自动管理网络请求,默认在Destory中解除订阅
  15 + */
  16 +public class DemoActivity extends BaseActivity {
  17 + /**
  18 + * 设置成普通view视图与getBindLayoutId()选一个即可
  19 + *
  20 + * @return
  21 + */
  22 + @Override
  23 + protected int getViewLayoutId() {
  24 + return R.layout.activity_demo_main;
  25 + }
  26 +
  27 + /**
  28 + * 设置binding布局
  29 + * 使用该布局,一定要设置自己的binding
  30 + *
  31 + * @return
  32 + */
  33 + @Override
  34 + protected int getBindLayoutId() {
  35 + return super.getBindLayoutId();
  36 + }
  37 +
  38 + @Override
  39 + protected void initBindingData() {
  40 + super.initBindingData();
  41 +// binding=(你的bingding)baseBinding;
  42 + }
  43 +
  44 + /**
  45 + * 初始化intent传递参数
  46 + */
  47 + @Override
  48 + protected void initParam() {
  49 + super.initParam();
  50 + }
  51 +
  52 + /**
  53 + * 初始化视图
  54 + */
  55 + @Override
  56 + protected void initView() {
  57 + super.initView();
  58 + //是指是否可以侧滑返回,默认禁用
  59 + setOpenSwipBack(true);
  60 + //设置状态栏字体颜色
  61 + setStatusBarTextColor(StatusBarConfig.WHITE);
  62 + //设置状态栏颜色
  63 + setStatusBarColor(R.color.green, 0);
  64 + //判断字符串是否为空
  65 + String s = "123";
  66 + isNull(s);
  67 + //是否显示状态栏,默认显示
  68 + setShowStatusBar(true);
  69 + //隐藏键盘
  70 + hideSoftInput();
  71 + //显示键盘
  72 + showSoftInput();
  73 + //dp2px
  74 + dp2px(10);
  75 + //px2dp
  76 + px2dp(10);
  77 +
  78 +// String[] permissions = new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
  79 +// Manifest.permission.ACCESS_COARSE_LOCATION};
  80 +// //请求权限(默认提示语的)
  81 +// requestPermission(permissions, new OnPermissionResponseListener() {
  82 +// @Override
  83 +// public void onSuccess(String[] permissions) {
  84 +//
  85 +// }
  86 +//
  87 +// @Override
  88 +// public void onFail() {
  89 +//
  90 +// }
  91 +// });
  92 +// //请求权限,自定义状态码,使用默认提示语
  93 +// requestPermission(1001, permissions, new OnPermissionResponseListener() {
  94 +// @Override
  95 +// public void onSuccess(String[] permissions) {
  96 +//
  97 +// }
  98 +//
  99 +// @Override
  100 +// public void onFail() {
  101 +//
  102 +// }
  103 +// });
  104 +// //请求权限,自定义状态码,自定义拒绝提示语
  105 +// requestPermission(1001, "拒绝提示语", permissions, new OnPermissionResponseListener() {
  106 +// @Override
  107 +// public void onSuccess(String[] permissions) {
  108 +//
  109 +// }
  110 +//
  111 +// @Override
  112 +// public void onFail() {
  113 +//
  114 +// }
  115 +// });
  116 +
  117 + findViewById(R.id.go_to1).setOnClickListener(new View.OnClickListener() {
  118 + @Override
  119 + public void onClick(View v) {
  120 + logError("Ada");
  121 + requestPermission(new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {
  122 + @Override
  123 + public void onSuccess(String[] permissions) {
  124 + Log.e(TAG, "onSuccess: ");
  125 + }
  126 +
  127 + @Override
  128 + public void onFail() {
  129 + Log.e(TAG, "onFail: ");
  130 + }
  131 + });
  132 + }
  133 + });
  134 + findViewById(R.id.go_to2).setOnClickListener(new View.OnClickListener() {
  135 + @Override
  136 + public void onClick(View v) {
  137 + requestPermission(10010, "拒绝我了", new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, new OnPermissionResponseListener() {
  138 + @Override
  139 + public void onSuccess(String[] permissions) {
  140 + Log.e(TAG, "onSuccess: ");
  141 + }
  142 +
  143 + @Override
  144 + public void onFail() {
  145 + Log.e(TAG, "onFail: ");
  146 + }
  147 + });
  148 + }
  149 + });
  150 + }
  151 +
  152 + /**
  153 + * 设置数据
  154 + */
  155 + @Override
  156 + protected void initData() {
  157 + super.initData();
  158 + }
  159 +
  160 +
  161 +}
... ...
app/strike/src/main/java/com/cnlive/strike/demo/activity/DemoMvpActivity.java 0 → 100644
  1 +package com.cnlive.strike.demo.activity;
  2 +
  3 +import com.cnlive.core.libs.base.frame.activity.BaseActivity;
  4 +import com.cnlive.strike.demo.activity.presenter.DemoActivityPresenter;
  5 +import com.cnlive.strike.demo.activity.view.DemoActivityView;
  6 +
  7 +public class DemoMvpActivity extends BaseActivity<DemoActivityView, DemoActivityPresenter> {
  8 + @Override
  9 + protected void initView() {
  10 + super.initView();
  11 +// 方法同DemoActivity
  12 + if (null != getMvpView()) {
  13 + getMvpView().initView();
  14 + }
  15 + }
  16 +}
... ...
app/strike/src/main/java/com/cnlive/strike/demo/activity/presenter/DemoActivityPresenter.java 0 → 100644
  1 +package com.cnlive.strike.demo.activity.presenter;
  2 +
  3 +import com.cnlive.core.libs.base.frame.presenter.BasePresenter;
  4 +import com.cnlive.strike.demo.activity.view.DemoActivityView;
  5 +
  6 +public class DemoActivityPresenter extends BasePresenter<DemoActivityView> {
  7 + public void test() {
  8 + //使用view中的方法
  9 + ifViewAttached(view -> view.initData());
  10 + }
  11 +}
... ...
app/strike/src/main/java/com/cnlive/strike/demo/activity/view/DemoActivityView.java 0 → 100644
  1 +package com.cnlive.strike.demo.activity.view;
  2 +
  3 +import com.cnlive.core.libs.base.frame.view.BaseView;
  4 +import com.cnlive.strike.demo.activity.DemoMvpActivity;
  5 +
  6 +/**
  7 + * 继承BaseView
  8 + */
  9 +public class DemoActivityView extends BaseView {
  10 + private DemoMvpActivity activity;
  11 +
  12 + /**
  13 + * 如果写了需要传递参数的构造方法,
  14 + * 会自动赋值,只限在,Activity或者fragment<V,P>,V为DemoActivityView时才生效
  15 + *
  16 + * @param activity
  17 + */
  18 + public DemoActivityView(DemoMvpActivity activity) {
  19 + this.activity = activity;
  20 + }
  21 +
  22 + @Override
  23 + public void initView() {
  24 + super.initView();
  25 + }
  26 +
  27 + @Override
  28 + public void initData() {
  29 + super.initData();
  30 + }
  31 +}
... ...
app/strike/src/main/res/layout/activity_demo_main.xml 0 → 100644
  1 +<?xml version="1.0" encoding="utf-8"?>
  2 +<layout>
  3 +
  4 + <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  5 + xmlns:app="http://schemas.android.com/apk/res-auto"
  6 + xmlns:tools="http://schemas.android.com/tools"
  7 + android:layout_width="match_parent"
  8 + android:layout_height="match_parent"
  9 + android:orientation="vertical"
  10 + tools:context=".ui.activity.AllDeviceActivity">
  11 +
  12 + <Button
  13 + android:id="@+id/go_to"
  14 + android:layout_width="wrap_content"
  15 + android:layout_height="wrap_content"
  16 + android:text="跳转" />
  17 +
  18 +
  19 + <Button
  20 + android:id="@+id/go_to1"
  21 + android:layout_width="wrap_content"
  22 + android:layout_height="wrap_content"
  23 + android:text="请求权限默认提示语" />
  24 +
  25 + <Button
  26 + android:id="@+id/go_to2"
  27 + android:layout_width="wrap_content"
  28 + android:layout_height="wrap_content"
  29 + android:text="请求权限自定义提示语" />
  30 + </LinearLayout>
  31 +</layout>
0 32 \ No newline at end of file
... ...
app/strike/src/main/res/layout/activity_main.xml
... ... @@ -15,17 +15,6 @@
15 15 android:layout_height="wrap_content"
16 16 android:text="跳转" />
17 17  
18   - <Button
19   - android:id="@+id/go_to1"
20   - android:layout_width="wrap_content"
21   - android:layout_height="wrap_content"
22   - android:text="请求权限默认提示语" />
23   -
24   - <Button
25   - android:id="@+id/go_to2"
26   - android:layout_width="wrap_content"
27   - android:layout_height="wrap_content"
28   - android:text="请求权限自定义提示语" />
29 18  
30 19 </LinearLayout>
31 20 </layout>
32 21 \ No newline at end of file
... ...
config.gradle
... ... @@ -47,6 +47,7 @@ ext {
47 47 ]
48 48  
49 49 library = [
  50 + logger : 'com.orhanobut:logger:2.2.0',
50 51 // //空祖对话框 https://github.com/kongzue/DialogV3
51 52 // kongzueDailog : 'com.kongzue.dialog_v3x:dialog:3.1.6',
52 53 //视讯云加密
... ... @@ -100,6 +101,7 @@ ext {
100 101 // ]
101 102 //基础三方库
102 103 base_librarys = [
  104 + library.logger,
103 105 //对话框
104 106 // library.kongzueDailog,
105 107 //视讯云加密库
... ...
core/base/src/main/java/com/cnlive/core/libs/base/application/BaseApplication.java 0 → 100644
  1 +package com.cnlive.core.libs.base.application;
  2 +
  3 +import android.app.Application;
  4 +
  5 +import com.cnlive.strike.base.BuildConfig;
  6 +import com.orhanobut.logger.AndroidLogAdapter;
  7 +import com.orhanobut.logger.Logger;
  8 +
  9 +public class BaseApplication extends Application {
  10 + private static BaseApplication instance;
  11 +
  12 + @Override
  13 + public void onCreate() {
  14 + super.onCreate();
  15 + instance = this;
  16 + Logger.addLogAdapter(new AndroidLogAdapter() {
  17 + @Override
  18 + public boolean isLoggable(int priority, String tag) {
  19 + return AppConfig.isDebug();
  20 + }
  21 + });
  22 + }
  23 +
  24 + public static BaseApplication getInstance() {
  25 + return instance;
  26 + }
  27 +}
... ...
core/base/src/main/java/com/cnlive/core/libs/base/frame/activity/BaseActivity.java
... ... @@ -42,6 +42,7 @@ import com.cnlive.core.libs.base.util.swipeback.util.SwipeBackActivityHelper;
42 42 import com.cnlive.core.libs.base.util.swipeback.util.SwipeBackLayout;
43 43 import com.cnlive.core.libs.base.util.swipeback.util.SwipeBackUtil;
44 44 import com.hannesdorfmann.mosby3.mvp.MvpActivity;
  45 +import com.orhanobut.logger.Logger;
45 46  
46 47 import java.lang.reflect.Field;
47 48 import java.util.ArrayList;
... ... @@ -75,6 +76,7 @@ public abstract class BaseActivity&lt;V extends BaseView, P extends BasePresenter&lt;V
75 76 private String userSetDefinePermissionTip = "";//用户设置的权限提示语
76 77 private SwipeBackActivityHelper mHelper;//侧滑返回
77 78 private boolean isOpenSwipBack = false;
  79 + private AlertDialog alertDialog;
78 80  
79 81 @Override
80 82 protected void onCreate(@Nullable Bundle savedInstanceState) {
... ... @@ -237,6 +239,9 @@ public abstract class BaseActivity&lt;V extends BaseView, P extends BasePresenter&lt;V
237 239 @Override
238 240 protected void onDestroy() {
239 241 super.onDestroy();
  242 + if (null != alertDialog) {
  243 + alertDialog.dismiss();
  244 + }
240 245 //activity管理
241 246 AppManager.getInstance().deleteActivity(me);
242 247 //清除所有订阅
... ... @@ -610,4 +615,33 @@ public abstract class BaseActivity&lt;V extends BaseView, P extends BasePresenter&lt;V
610 615 getSwipeBackLayout().scrollToFinishActivity();
611 616 }
612 617 }
  618 +
  619 +
  620 + public void logError(Object info) {
  621 + Logger.e(TAG, info);
  622 + }
  623 +
  624 + public void logDebug(Object info) {
  625 + Logger.d(TAG, info);
  626 + }
  627 +
  628 + public void logWarn(Object info) {
  629 + Logger.w(TAG, info);
  630 + }
  631 +
  632 + public void logInfo(Object info) {
  633 + Logger.i(TAG, info);
  634 + }
  635 +
  636 + public void logVerbose(Object info) {
  637 + Logger.v(TAG, info);
  638 + }
  639 +
  640 + public void logJson(String json) {
  641 + Logger.json(json);
  642 + }
  643 +
  644 + public void logXml(String xml) {
  645 + Logger.xml(xml);
  646 + }
613 647 }
614 648 \ No newline at end of file
... ...