Commit 22599b8b76cf88c7d18b6ebabeb6967aafd63b2b

Authored by xiongwei
1 parent 03b99a4c5f
Exists in master

新增bugly功能

PersonalCenter/app/build.gradle
1 apply plugin: 'com.android.application' 1 apply plugin: 'com.android.application'
2 2
3 android { 3 android {
4 compileSdkVersion 25 4 compileSdkVersion 25
5 buildToolsVersion "25.0.3" 5 buildToolsVersion "25.0.3"
6 defaultConfig { 6 defaultConfig {
7 applicationId "com.hjx.personalcenter" 7 applicationId "com.hjx.personalcenter"
8 minSdkVersion 15 8 minSdkVersion 15
9 targetSdkVersion 25 9 targetSdkVersion 25
10 versionCode 4 10 versionCode 5
11 versionName "1.0.4" 11 versionName "1.0.5"
12 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 12 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
13 } 13 }
14 buildTypes { 14 buildTypes {
15 release { 15 release {
16 minifyEnabled false 16 minifyEnabled false
17 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
18 } 18 }
19 } 19 }
20 useLibrary 'org.apache.http.legacy' 20 useLibrary 'org.apache.http.legacy'
21 lintOptions{ 21 lintOptions{
22 checkReleaseBuilds false 22 checkReleaseBuilds false
23 abortOnError false 23 abortOnError false
24 } 24 }
25 sourceSets { 25 sourceSets {
26 main { 26 main {
27 jniLibs.srcDirs = ['libs'] 27 jniLibs.srcDirs = ['libs']
28 } 28 }
29 } 29 }
30 } 30 }
31 31
32 dependencies { 32 dependencies {
33 compile fileTree(include: ['*.jar'], dir: 'libs') 33 compile fileTree(include: ['*.jar'], dir: 'libs')
34 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { 34 androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
35 exclude group: 'com.android.support', module: 'support-annotations' 35 exclude group: 'com.android.support', module: 'support-annotations'
36 }) 36 })
37 compile 'com.tencent.bugly:crashreport:latest.release' 37 compile 'com.tencent.bugly:crashreport:latest.release'
38 compile 'org.apache.httpcomponents:httpcore:4.4.1' 38 compile 'org.apache.httpcomponents:httpcore:4.4.1'
39 compile 'org.apache.httpcomponents:httpclient:4.5' 39 compile 'org.apache.httpcomponents:httpclient:4.5'
40 compile 'com.android.support:appcompat-v7:25.3.1' 40 compile 'com.android.support:appcompat-v7:25.3.1'
41 testCompile 'junit:junit:4.12' 41 testCompile 'junit:junit:4.12'
42 compile project(':circledialog') 42 compile project(':circledialog')
43 compile project(':pickerview') 43 compile project(':pickerview')
44 compile files('libs/android-async-http-1.4.8.jar') 44 compile files('libs/android-async-http-1.4.8.jar')
45 compile 'com.google.code.gson:gson:2.7' 45 compile 'com.google.code.gson:gson:2.7'
46 compile 'com.zaaach:toprightmenu:1.0' 46 compile 'com.zaaach:toprightmenu:1.0'
47 compile 'com.android.support:recyclerview-v7:25.+' 47 compile 'com.android.support:recyclerview-v7:25.+'
48 debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3' 48 debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3'
49 releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3' 49 releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3'
50 compile 'com.google.zxing:core:3.3.0' 50 compile 'com.google.zxing:core:3.3.0'
51 compile 'com.google.zxing:android-core:3.3.0' 51 compile 'com.google.zxing:android-core:3.3.0'
52 compile project(path: ':mypresonallibrary') 52 compile project(path: ':mypresonallibrary')
53 compile files('libs/picasso-2.5.2.jar') 53 compile files('libs/picasso-2.5.2.jar')
54 } 54 }
55 55
PersonalCenter/app/src/main/AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3 package="com.hjx.personalcenter" 3 package="com.hjx.personalcenter"
4 android:configChanges="keyboardHidden|orientation"> 4 android:configChanges="keyboardHidden|orientation">
5 5
6 <application 6 <application
7 android:name=".activity.MyApplication" 7 android:name=".activity.MyApplication"
8 android:allowBackup="true" 8 android:allowBackup="true"
9 android:icon="@mipmap/grzx_icon" 9 android:icon="@mipmap/grzx_icon"
10 android:label="@string/app_name" 10 android:label="@string/app_name"
11 android:supportsRtl="true" 11 android:supportsRtl="true"
12 android:theme="@style/AppTheme"> 12 android:theme="@style/AppTheme">
13 <activity 13 <activity
14 android:name=".activity.MainActivity" 14 android:name=".activity.MainActivity"
15 android:launchMode="standard" 15 android:launchMode="standard"
16 android:screenOrientation="sensorLandscape"> 16 android:screenOrientation="sensorLandscape">
17 </activity> 17 </activity>
18 <activity 18 <activity
19 android:name=".activity.LoginAndRegisterActivity" 19 android:name=".activity.LoginAndRegisterActivity"
20 android:launchMode="standard" 20 android:launchMode="standard"
21 android:screenOrientation="sensorLandscape"> 21 android:screenOrientation="sensorLandscape">
22 <intent-filter> 22 <intent-filter>
23 <action android:name="android.intent.action.MAIN" /> 23 <action android:name="android.intent.action.MAIN" />
24 24
25 <category android:name="android.intent.category.LAUNCHER" /> 25 <category android:name="android.intent.category.LAUNCHER" />
26 </intent-filter> 26 </intent-filter>
27 27
28 </activity> 28 </activity>
29 <activity 29 <activity
30 android:name=".activity.ForgotPasswordActivity" 30 android:name=".activity.ForgotPasswordActivity"
31 android:launchMode="singleTask" 31 android:launchMode="singleTask"
32 android:screenOrientation="sensorLandscape"> 32 android:screenOrientation="sensorLandscape">
33 33
34 </activity> 34 </activity>
35 <activity 35 <activity
36 android:name=".activity.ChangePasswordActivity" 36 android:name=".activity.ChangePasswordActivity"
37 android:launchMode="singleTask" 37 android:launchMode="singleTask"
38 android:screenOrientation="sensorLandscape"> 38 android:screenOrientation="sensorLandscape">
39 39
40 </activity> 40 </activity>
41 <activity 41 <activity
42 android:name=".activity.RegisterInfoActivity" 42 android:name=".activity.RegisterInfoActivity"
43 android:launchMode="singleTask" 43 android:launchMode="singleTask"
44 android:screenOrientation="sensorLandscape"> 44 android:screenOrientation="sensorLandscape">
45 45
46 </activity> 46 </activity>
47 <activity 47 <activity
48 android:name=".activity.ElectronicCardValidationActivity" 48 android:name=".activity.ElectronicCardValidationActivity"
49 android:launchMode="singleTask" 49 android:launchMode="singleTask"
50 android:screenOrientation="sensorLandscape"> 50 android:screenOrientation="sensorLandscape">
51 51
52 </activity> 52 </activity>
53 <activity 53 <activity
54 android:name=".activity.ChangeBangDingActivity" 54 android:name=".activity.ChangeBangDingActivity"
55 android:launchMode="singleTask" 55 android:launchMode="singleTask"
56 android:screenOrientation="sensorLandscape"> 56 android:screenOrientation="sensorLandscape">
57 57
58 </activity> 58 </activity>
59 <activity 59 <activity
60 android:name=".activity.ChangeElectronicCardAdressInfoActivity" 60 android:name=".activity.ChangeElectronicCardAdressInfoActivity"
61 android:launchMode="singleTask" 61 android:launchMode="singleTask"
62 android:screenOrientation="sensorLandscape"> 62 android:screenOrientation="sensorLandscape">
63 63
64 </activity> 64 </activity>
65 <activity 65 <activity
66 android:name=".activity.ChangeEletronicCardPhoneActivity" 66 android:name=".activity.ChangeEletronicCardPhoneActivity"
67 android:launchMode="singleTask" 67 android:launchMode="singleTask"
68 android:screenOrientation="sensorLandscape"> 68 android:screenOrientation="sensorLandscape">
69 69
70 </activity> 70 </activity>
71 <activity 71 <activity
72 android:name=".activity.ChoiseTextBookActivity" 72 android:name=".activity.ChoiseTextBookActivity"
73 android:launchMode="singleTask" 73 android:launchMode="singleTask"
74 android:screenOrientation="sensorLandscape"> 74 android:screenOrientation="sensorLandscape">
75 75
76 </activity> 76 </activity>
77 <activity 77 <activity
78 android:name=".activity.TheStartPageActivity" 78 android:name=".activity.TheStartPageActivity"
79 android:launchMode="singleTask" 79 android:launchMode="singleTask"
80 android:screenOrientation="sensorLandscape"> 80 android:screenOrientation="sensorLandscape">
81 81
82 </activity> 82 </activity>
83 <activity 83 <activity
84 android:name=".activity.ElectronicCardEditInfoActivity" 84 android:name=".activity.ElectronicCardEditInfoActivity"
85 android:launchMode="singleTask" 85 android:launchMode="singleTask"
86 android:screenOrientation="sensorLandscape" 86 android:screenOrientation="sensorLandscape"
87 android:windowSoftInputMode="adjustPan"> 87 android:windowSoftInputMode="adjustPan">
88 88
89 </activity> 89 </activity>
90 <activity 90 <activity
91 android:name=".activity.ElectronicCardInfoOKActivity" 91 android:name=".activity.ElectronicCardInfoOKActivity"
92 android:launchMode="singleTask" 92 android:launchMode="singleTask"
93 android:screenOrientation="sensorLandscape"> 93 android:screenOrientation="sensorLandscape">
94 94
95 </activity> 95 </activity>
96 <activity 96 <activity
97 android:name=".activity.ElectronicCardLookInfoActivity" 97 android:name=".activity.ElectronicCardLookInfoActivity"
98 android:launchMode="singleTask" 98 android:launchMode="singleTask"
99 android:screenOrientation="sensorLandscape" 99 android:screenOrientation="sensorLandscape"
100 > 100 >
101 101
102 </activity> 102 </activity>
103 <activity 103 <activity
104 android:name=".activity.FeedBackActivity" 104 android:name=".activity.FeedBackActivity"
105 android:launchMode="singleTask" 105 android:launchMode="singleTask"
106 android:screenOrientation="sensorLandscape"> 106 android:screenOrientation="sensorLandscape">
107 107
108 </activity> 108 </activity>
109 <activity 109 <activity
110 android:name=".activity.AccountManagementActivity" 110 android:name=".activity.AccountManagementActivity"
111 android:launchMode="singleTask" 111 android:launchMode="singleTask"
112 android:screenOrientation="sensorLandscape"> 112 android:screenOrientation="sensorLandscape">
113 113
114 </activity> 114 </activity>
115 <activity 115 <activity
116 android:name=".activity.ChangePresonalInfoActivity" 116 android:name=".activity.ChangePresonalInfoActivity"
117 android:launchMode="singleTask" 117 android:launchMode="singleTask"
118 android:screenOrientation="sensorLandscape" 118 android:screenOrientation="sensorLandscape"
119 android:windowSoftInputMode="adjustPan"> 119 android:windowSoftInputMode="adjustPan">
120 120
121 </activity> 121 </activity>
122 <activity 122 <activity
123 android:name=".activity.BangDingCode" 123 android:name=".activity.BangDingCode"
124 android:launchMode="singleTask" 124 android:launchMode="singleTask"
125 android:screenOrientation="sensorLandscape"> 125 android:screenOrientation="sensorLandscape">
126 126
127 </activity> 127 </activity>
128 <service android:name="com.hjx.personalcenter.service.CenterService" 128 <service android:name="com.hjx.personalcenter.service.CenterService"
129 android:enabled="true" 129 android:enabled="true"
130 android:exported="true"> 130 android:exported="true">
131 <intent-filter> 131 <intent-filter>
132 <action android:name="com.hjx.mypresonallibrary.ICenterService"/> 132 <action android:name="com.hjx.mypresonallibrary.ICenterService"/>
133 </intent-filter> 133 </intent-filter>
134 </service> 134 </service>
135 <service 135 <service
136 android:name="com.hjx.personalcenter.update.DownloadService" 136 android:name="com.hjx.personalcenter.update.DownloadService"
137 android:enabled="true"/> 137 android:enabled="true"/>
138 <!--<receiver 138 <!--<receiver
139 android:name="com.hjx.personalcenter.service.StaticReceiver" 139 android:name="com.hjx.personalcenter.service.StaticReceiver"
140 android:exported="true"> 140 android:exported="true">
141 <intent-filter > 141 <intent-filter >
142 <action android:name="com.ozing.launcher.SWITCH_GRADE"/> 142 <action android:name="com.ozing.launcher.SWITCH_GRADE"/>
143 </intent-filter> 143 </intent-filter>
144 144
145 </receiver>--> 145 </receiver>-->
146 </application> 146 </application>
147 <!--权限--> 147 <!--权限-->
148 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 148 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
149 <uses-permission android:name="android.permission.CAMERA" /> 149 <uses-permission android:name="android.permission.CAMERA" />
150 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 150 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
151 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 151 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
152 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 152 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
153 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 153 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
154 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 154 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
155 <uses-permission android:name="android.permission.CALL_PHONE" /> 155 <uses-permission android:name="android.permission.CALL_PHONE" />
156 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 156 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
157 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 157 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
158 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 158 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
159 <uses-permission android:name="android.permission.INTERNET" /> 159 <uses-permission android:name="android.permission.INTERNET" />
160 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 160 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
161 <uses-permission android:name="android.permission.READ_LOGS" /> 161 <uses-permission android:name="android.permission.READ_LOGS" />
162 <uses-permission android:name="android.permission.RESTART_PACKAGES\"/> 162 <uses-permission android:name="android.permission.RESTART_PACKAGES\"/>
163 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 163 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
164 164
165 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
166 <uses-permission android:name="android.permission.INTERNET" />
167 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
168 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
169 <uses-permission android:name="android.permission.READ_LOGS" />
170
165 </manifest> 171 </manifest>
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MyApplication.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.app.Application; 3 import android.app.Application;
4 import android.content.Context; 4 import android.content.Context;
5 import android.graphics.drawable.Drawable; 5 import android.graphics.drawable.Drawable;
6 import android.os.Looper; 6 import android.os.Looper;
7 import android.view.Gravity; 7 import android.view.Gravity;
8 import android.widget.TextView; 8 import android.widget.TextView;
9 import android.widget.Toast; 9 import android.widget.Toast;
10 10
11 import com.hjx.personalcenter.R; 11 import com.hjx.personalcenter.R;
12 import com.hjx.personalcenter.crash.CrashHandler; 12 import com.hjx.personalcenter.crash.CrashHandler;
13 import com.hjx.personalcenter.util.ImageCache; 13 import com.hjx.personalcenter.util.ImageCache;
14 import com.tencent.bugly.crashreport.CrashReport; 14 import com.tencent.bugly.crashreport.CrashReport;
15 15
16 /** 16 /**
17 * Created by ${yf} on 2017/2/16. 17 * Created by ${yf} on 2017/2/16.
18 */ 18 */
19 19
20 public class MyApplication extends Application { 20 public class MyApplication extends Application {
21 21
22 private ImageCache mImageCache; 22 private ImageCache mImageCache;
23 private static Context context; 23 private static Context context;
24 private static MyApplication instance; 24 private static MyApplication instance;
25 @Override 25 @Override
26 public void onCreate() { 26 public void onCreate() {
27 context = getApplicationContext(); 27 context = getApplicationContext();
28 //c初始化内存检测 28 //c初始化内存检测
29 // LeakCanary.install(this); 29 // LeakCanary.install(this);
30 //初始化Fresco 30 //初始化Fresco
31 mImageCache = new ImageCache(); 31 mImageCache = new ImageCache();
32 instance = this; 32 instance = this;
33 CrashReport.initCrashReport(getApplicationContext(), "c2170557a0", false); 33 CrashReport.initCrashReport(getApplicationContext(), "0c9a6274e0", false);
34 CrashHandler crashHandler = CrashHandler.getInstance(); 34 CrashHandler crashHandler = CrashHandler.getInstance();
35 //生成错误日志,上线的时候得放开 35 //生成错误日志,上线的时候得放开
36 crashHandler.init(getApplicationContext()); 36 crashHandler.init(getApplicationContext());
37 crashHandler.registerHandler(new CrashHandler.ExceptionHandler() { 37 crashHandler.registerHandler(new CrashHandler.ExceptionHandler() {
38 38
39 @Override 39 @Override
40 public boolean handleCrash(final Context context, final Throwable ex) { 40 public boolean handleCrash(final Context context, final Throwable ex) {
41 new Thread(new Runnable() { 41 new Thread(new Runnable() {
42
43 @Override 42 @Override
44 public void run() { 43 public void run() {
45 Looper.prepare(); 44 Looper.prepare();
46 System.out.println("bcz = " + ex.toString()); 45 System.out.println("bcz = " + ex.toString());
47 Toast toast = new Toast(context); 46 Toast toast = new Toast(context);
48 TextView tv = new TextView(context); 47 TextView tv = new TextView(context);
49 tv.setText(" 很抱歉,"+context.getString(R.string.app_name)+"崩溃了,我们会尽快修复."); 48 tv.setText(" 很抱歉,"+context.getString(R.string.app_name)+"崩溃了,我们会尽快修复.");
50 tv.setPadding(10, 10, 10, 10); 49 tv.setPadding(10, 10, 10, 10);
51 tv.setTextSize(20); 50 tv.setTextSize(20);
52 tv.setBackgroundResource(R.drawable.black_btn_default); 51 tv.setBackgroundResource(R.drawable.black_btn_default);
53 tv.setTextColor(context.getResources().getColor(android.R.color.white)); 52 tv.setTextColor(context.getResources().getColor(android.R.color.white));
54 Drawable drawable= context.getResources().getDrawable(R.drawable.sorry); 53 Drawable drawable= context.getResources().getDrawable(R.drawable.sorry);
55 drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); 54 drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
56 tv.setCompoundDrawables(drawable,null,null,null); 55 tv.setCompoundDrawables(drawable,null,null,null);
57 toast.setView(tv); 56 toast.setView(tv);
58 toast.setGravity(Gravity.CENTER, 0, 0); 57 toast.setGravity(Gravity.CENTER, 0, 0);
59 toast.setDuration(Toast.LENGTH_LONG); 58 toast.setDuration(Toast.LENGTH_LONG);
60 toast.show(); 59 toast.show();
61 Looper.loop(); 60 Looper.loop();
62 } 61 }
63 }).start(); 62 }).start();
64 try { 63 try {
65 Thread.sleep(1000); 64 Thread.sleep(1000);
66 } catch (InterruptedException e) { 65 } catch (InterruptedException e) {
67 // TODO Auto-generated catch block 66 // TODO Auto-generated catch block
68 e.printStackTrace(); 67 e.printStackTrace();
69 } 68 }
70 return false; 69 return false;
71 } 70 }
72 }); 71 });
73 super.onCreate(); 72 super.onCreate();
74 } 73 }
75 public ImageCache getImageCache() { 74 public ImageCache getImageCache() {
76 return mImageCache; 75 return mImageCache;
77 } 76 }
78 77
79 public static Context getContext() { 78 public static Context getContext() {
80 return context; 79 return context;
81 } 80 }
82 public static MyApplication getInstance() { 81 public static MyApplication getInstance() {
83 return instance; 82 return instance;
84 } 83 }
85 84
86 } 85 }
87 86