Commit 80c9782036c498ef379315467145e626c47e2e43

Authored by liujiaqi
1 parent 6a86a5fc01
Exists in master

提交迭代的代码

Showing 67 changed files with 3195 additions and 1377 deletions   Show diff stats
No preview for this file type
PersonalCenter/app/PresonalCenter.apk
No preview for this file type
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 23
10 versionCode 6 10 versionCode 17
11 versionName "1.1.0" 11 versionName "1.2.8"
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.3.1' 47 compile 'com.android.support:recyclerview-v7:25.3.1'
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 <provider
14 android:name="android.support.v4.content.FileProvider"
15 android:authorities="com.hjx.personalcenter.fileprovider"
16 android:exported="false"
17 android:grantUriPermissions="true">
18 <meta-data
19 android:name="android.support.FILE_PROVIDER_PATHS"
20 android:resource="@xml/rc_file_path" />
21 </provider>
13 <activity 22 <activity
14 android:name=".activity.MainActivity" 23 android:name=".activity.MainActivity"
15 android:launchMode="standard" 24 android:launchMode="standard"
16 android:screenOrientation="sensorLandscape"> 25 android:screenOrientation="sensorLandscape">
17 </activity> 26 </activity>
18 <activity 27 <activity
19 android:name=".activity.LoginAndRegisterActivity" 28 android:name=".activity.LoginAndRegisterActivity"
20 android:launchMode="standard" 29 android:launchMode="standard"
21 android:screenOrientation="sensorLandscape"> 30 android:screenOrientation="sensorLandscape">
22 <intent-filter> 31 <intent-filter>
23 <action android:name="android.intent.action.MAIN" /> 32 <action android:name="android.intent.action.MAIN" />
24 33
25 <category android:name="android.intent.category.LAUNCHER" /> 34 <category android:name="android.intent.category.LAUNCHER" />
26 </intent-filter> 35 </intent-filter>
27 36
28 </activity> 37 </activity>
29 <activity 38 <activity
30 android:name=".activity.ForgotPasswordActivity" 39 android:name=".activity.ForgotPasswordActivity"
31 android:launchMode="singleTask" 40 android:launchMode="singleTask"
32 android:screenOrientation="sensorLandscape"> 41 android:screenOrientation="sensorLandscape">
33 42
34 </activity> 43 </activity>
35 <activity 44 <activity
36 android:name=".activity.ChangePasswordActivity" 45 android:name=".activity.ChangePasswordActivity"
37 android:launchMode="singleTask" 46 android:launchMode="singleTask"
38 android:screenOrientation="sensorLandscape"> 47 android:screenOrientation="sensorLandscape">
39 48
40 </activity> 49 </activity>
41 <activity 50 <activity
42 android:name=".activity.RegisterInfoActivity" 51 android:name=".activity.RegisterInfoActivity"
43 android:launchMode="singleTask" 52 android:launchMode="singleTask"
44 android:screenOrientation="sensorLandscape"> 53 android:screenOrientation="sensorLandscape">
45 54
46 </activity> 55 </activity>
47 <activity 56 <activity
48 android:name=".activity.ElectronicCardValidationActivity" 57 android:name=".activity.ElectronicCardValidationActivity"
49 android:launchMode="singleTask" 58 android:launchMode="singleTask"
59 android:windowSoftInputMode="adjustUnspecified|stateHidden"
50 android:screenOrientation="sensorLandscape"> 60 android:screenOrientation="sensorLandscape">
51 61
52 </activity> 62 </activity>
53 <activity 63 <activity
54 android:name=".activity.ChangeBangDingActivity" 64 android:name=".activity.ChangeBangDingActivity"
55 android:launchMode="singleTask" 65 android:launchMode="singleTask"
56 android:screenOrientation="sensorLandscape"> 66 android:screenOrientation="sensorLandscape">
57 67
58 </activity> 68 </activity>
59 <activity 69 <activity
60 android:name=".activity.ChangeElectronicCardAdressInfoActivity" 70 android:name=".activity.ChangeElectronicCardAdressInfoActivity"
61 android:launchMode="singleTask" 71 android:launchMode="singleTask"
62 android:screenOrientation="sensorLandscape"> 72 android:screenOrientation="sensorLandscape">
63 73
64 </activity> 74 </activity>
65 <activity 75 <activity
66 android:name=".activity.ChangeEletronicCardPhoneActivity" 76 android:name=".activity.ChangeEletronicCardPhoneActivity"
67 android:launchMode="singleTask" 77 android:launchMode="singleTask"
68 android:screenOrientation="sensorLandscape"> 78 android:screenOrientation="sensorLandscape">
69 79
70 </activity> 80 </activity>
71 <activity 81 <activity
72 android:name=".activity.ChoiseTextBookActivity" 82 android:name=".activity.ChoiseTextBookActivity"
73 android:launchMode="singleTask" 83 android:launchMode="singleTask"
74 android:screenOrientation="sensorLandscape"> 84 android:screenOrientation="sensorLandscape">
75 85
76 </activity> 86 </activity>
77 <activity 87 <activity
78 android:name=".activity.TheStartPageActivity" 88 android:name=".activity.TheStartPageActivity"
79 android:launchMode="singleTask" 89 android:launchMode="singleTask"
80 android:screenOrientation="sensorLandscape"> 90 android:screenOrientation="sensorLandscape">
81 91
82 </activity> 92 </activity>
83 <activity 93 <activity
84 android:name=".activity.ElectronicCardEditInfoActivity" 94 android:name=".activity.ElectronicCardEditInfoActivity"
85 android:launchMode="singleTask" 95 android:launchMode="singleTask"
86 android:screenOrientation="sensorLandscape" 96 android:screenOrientation="sensorLandscape"
87 android:windowSoftInputMode="adjustPan"> 97 android:windowSoftInputMode="adjustPan">
88 98
89 </activity> 99 </activity>
90 <activity 100 <activity
91 android:name=".activity.ElectronicCardInfoOKActivity" 101 android:name=".activity.ElectronicCardInfoOKActivity"
92 android:launchMode="singleTask" 102 android:launchMode="singleTask"
93 android:screenOrientation="sensorLandscape"> 103 android:screenOrientation="sensorLandscape">
94 104
95 </activity> 105 </activity>
96 <activity 106 <activity
97 android:name=".activity.ElectronicCardLookInfoActivity" 107 android:name=".activity.ElectronicCardLookInfoActivity"
98 android:launchMode="singleTask" 108 android:launchMode="singleTask"
99 android:screenOrientation="sensorLandscape" 109 android:screenOrientation="sensorLandscape"
100 > 110 >
101 111
102 </activity> 112 </activity>
103 <activity 113 <activity
104 android:name=".activity.FeedBackActivity" 114 android:name=".activity.FeedBackActivity"
105 android:launchMode="singleTask" 115 android:launchMode="singleTask"
106 android:screenOrientation="sensorLandscape"> 116 android:screenOrientation="sensorLandscape">
107 117
108 </activity> 118 </activity>
109 <activity 119 <activity
110 android:name=".activity.AccountManagementActivity" 120 android:name=".activity.AccountManagementActivity"
111 android:launchMode="singleTask" 121 android:launchMode="singleTask"
112 android:screenOrientation="sensorLandscape"> 122 android:screenOrientation="sensorLandscape">
113 123
114 </activity> 124 </activity>
115 <activity 125 <activity
116 android:name=".activity.ChangePresonalInfoActivity" 126 android:name=".activity.ChangePresonalInfoActivity"
117 android:launchMode="singleTask" 127 android:launchMode="singleTask"
118 android:screenOrientation="sensorLandscape" 128 android:screenOrientation="sensorLandscape"
119 android:windowSoftInputMode="adjustPan"> 129 android:windowSoftInputMode="adjustPan">
120 130
121 </activity> 131 </activity>
122 <activity 132 <activity
123 android:name=".activity.BangDingCode" 133 android:name=".activity.BangDingCode"
124 android:launchMode="singleTask" 134 android:launchMode="singleTask"
125 android:screenOrientation="sensorLandscape"> 135 android:screenOrientation="sensorLandscape">
126 136
127 </activity> 137 </activity>
128 <service android:name="com.hjx.personalcenter.service.CenterService" 138 <service android:name="com.hjx.personalcenter.service.CenterService"
129 android:enabled="true" 139 android:enabled="true"
130 android:exported="true"> 140 android:exported="true">
131 <intent-filter> 141 <intent-filter>
132 <action android:name="com.hjx.mypresonallibrary.ICenterService"/> 142 <action android:name="com.hjx.mypresonallibrary.ICenterService"/>
133 </intent-filter> 143 </intent-filter>
134 </service> 144 </service>
135 <service 145 <service
136 android:name="com.hjx.personalcenter.update.DownloadService" 146 android:name="com.hjx.personalcenter.update.DownloadService"
137 android:enabled="true"/> 147 android:enabled="true"/>
138 <!--<receiver 148 <!--<receiver
139 android:name="com.hjx.personalcenter.service.StaticReceiver" 149 android:name="com.hjx.personalcenter.service.StaticReceiver"
140 android:exported="true"> 150 android:exported="true">
141 <intent-filter > 151 <intent-filter >
142 <action android:name="com.ozing.launcher.SWITCH_GRADE"/> 152 <action android:name="com.ozing.launcher.SWITCH_GRADE"/>
143 </intent-filter> 153 </intent-filter>
144 154
145 </receiver>--> 155 </receiver>-->
156
146 </application> 157 </application>
147 <!--权限--> 158 <!--权限-->
148 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 159 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
149 <uses-permission android:name="android.permission.CAMERA" /> 160 <uses-permission android:name="android.permission.CAMERA" />
150 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> 161 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
151 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 162 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
152 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 163 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
153 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 164 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
154 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 165 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
155 <uses-permission android:name="android.permission.CALL_PHONE" /> 166 <uses-permission android:name="android.permission.CALL_PHONE" />
156 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 167 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
157 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> 168 <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
158 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> 169 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
159 <uses-permission android:name="android.permission.INTERNET" /> 170 <uses-permission android:name="android.permission.INTERNET" />
160 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 171 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
161 <uses-permission android:name="android.permission.READ_LOGS" /> 172 <uses-permission android:name="android.permission.READ_LOGS" />
162 <uses-permission android:name="android.permission.RESTART_PACKAGES\"/> 173 <uses-permission android:name="android.permission.RESTART_PACKAGES\"/>
163 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> 174 <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
164 175
165 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 176 <uses-permission android:name="android.permission.READ_PHONE_STATE" />
166 <uses-permission android:name="android.permission.INTERNET" /> 177 <uses-permission android:name="android.permission.INTERNET" />
167 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 178 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
168 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> 179 <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
169 <uses-permission android:name="android.permission.READ_LOGS" /> 180 <uses-permission android:name="android.permission.READ_LOGS" />
170 181
171 </manifest> 182 </manifest>
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/AccountManagementActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.os.Handler; 5 import android.os.Handler;
6 import android.os.Message; 6 import android.os.Message;
7 import android.support.v4.app.FragmentActivity; 7 import android.support.v4.app.FragmentActivity;
8 import android.support.v7.widget.LinearLayoutManager; 8 import android.support.v7.widget.LinearLayoutManager;
9 import android.support.v7.widget.RecyclerView; 9 import android.support.v7.widget.RecyclerView;
10 import android.util.Log; 10 import android.util.Log;
11 import android.view.View; 11 import android.view.View;
12 import android.widget.ImageView; 12 import android.widget.ImageView;
13 import android.widget.LinearLayout; 13 import android.widget.LinearLayout;
14 import android.widget.TextView; 14 import android.widget.TextView;
15 15
16 import com.hjx.personalcenter.R; 16 import com.hjx.personalcenter.R;
17 import com.hjx.personalcenter.adapter.AccountChildsAdapter; 17 import com.hjx.personalcenter.adapter.AccountChildsAdapter;
18 import com.hjx.personalcenter.customdialog.RecyclerViewSpaceItem; 18 import com.hjx.personalcenter.customdialog.RecyclerViewSpaceItem;
19 import com.hjx.personalcenter.db.Content; 19 import com.hjx.personalcenter.db.Content;
20 import com.hjx.personalcenter.db.SaveParam; 20 import com.hjx.personalcenter.db.SaveParam;
21 import com.hjx.personalcenter.http.HttpCode; 21 import com.hjx.personalcenter.http.HttpCode;
22 import com.hjx.personalcenter.http.HttpManager; 22 import com.hjx.personalcenter.http.HttpManager;
23 import com.hjx.personalcenter.model.ChildsInfo; 23 import com.hjx.personalcenter.model.ChildsInfo;
24 import com.hjx.personalcenter.util.AlertUtils; 24 import com.hjx.personalcenter.util.AlertUtils;
25 import com.hjx.personalcenter.util.GetDevicesUtil; 25 import com.hjx.personalcenter.util.GetDevicesUtil;
26 import com.squareup.picasso.Picasso; 26 import com.squareup.picasso.Picasso;
27 27
28 import java.util.ArrayList; 28 import java.util.ArrayList;
29 import java.util.List; 29 import java.util.List;
30 30
31 /** 31 /**
32 * 账户管理 熊巍 32 * 账户管理 熊巍
33 * Created by h on 2017/8/12. 33 * Created by h on 2017/8/12.
34 */ 34 */
35 35
36 public class AccountManagementActivity extends FragmentActivity implements View.OnClickListener { 36 public class AccountManagementActivity extends FragmentActivity implements View.OnClickListener {
37 private TextView changbangding, changpassword, usernames, 37 private TextView changbangding, changpassword, usernames,
38 tv_username, tv_grade, tv_school, tv_adress, tv_changzhu; 38 tv_username, tv_grade, tv_school, tv_adress, tv_changzhu;
39 private ImageView iv_useing, cancel; 39 private ImageView iv_useing, cancel;
40 private ImageView mSimpleDraweeView; 40 private ImageView mSimpleDraweeView;
41 private RecyclerView listview; 41 private RecyclerView listview;
42 private LinearLayout add_accunt, ll_zhu_backgrangd; 42 private LinearLayout add_accunt, ll_zhu_backgrangd;
43 private AccountChildsAdapter childsAdapter; 43 private AccountChildsAdapter childsAdapter;
44 private ArrayList<ChildsInfo.DataBean> data = new ArrayList<>(); 44 private ArrayList<ChildsInfo.DataBean> data = new ArrayList<>();
45 private String subAccountId = null; 45 private String subAccountId = null;
46 Handler handler = new Handler() { 46 Handler handler = new Handler() {
47 @Override 47 @Override
48 public void handleMessage(Message msg) { 48 public void handleMessage(Message msg) {
49 super.handleMessage(msg); 49 super.handleMessage(msg);
50 switch (msg.what) { 50 switch (msg.what) {
51 case HttpCode.CHILDS_SUCESS: 51 case HttpCode.CHILDS_SUCESS:
52 ChildsInfo childsInfo = new ChildsInfo(); 52 ChildsInfo childsInfo = new ChildsInfo();
53 if (childsInfo.getStatus()==1000) { 53 if (childsInfo.getStatus()==1000) {
54 String names =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.USERNAME); 54 String names =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.NICKNAME);
55 String adress =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.ADRESS); 55 String adress =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.REGION);
56 String grades =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.GRADES); 56 String grades =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.GRADES);
57 String schools =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.SCHOOL); 57 String schools =SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.SCHOOL);
58 tv_username.setText(names); 58 tv_username.setText(names);
59 tv_grade.setText(grades); 59 tv_grade.setText(grades);
60 tv_school.setText(schools); 60 tv_school.setText(schools);
61 tv_adress.setText(adress); 61 tv_adress.setText(adress);
62 tv_changzhu.setText("使用中"); 62 tv_changzhu.setText("使用中");
63 tv_changzhu.setEnabled(false); 63 tv_changzhu.setEnabled(false);
64 iv_useing.setVisibility(View.VISIBLE); 64 iv_useing.setVisibility(View.VISIBLE);
65 ll_zhu_backgrangd.setBackgroundResource(R.drawable.corcle_blue_bg); 65 ll_zhu_backgrangd.setBackgroundResource(R.drawable.corcle_blue_bg);
66 //mSimpleDraweeView.setImageURI(phote); 66 //mSimpleDraweeView.setImageURI(phote);
67 67
68 } else { 68 } else {
69 String name = null; 69 String name = null;
70 String grade = null; 70 String grade = null;
71 String school = null; 71 String school = null;
72 String addr = null; 72 String addr = null;
73 String phote = null; 73 String phote = null;
74 List<ChildsInfo.DataBean> childList = new ArrayList<>(); 74 List<ChildsInfo.DataBean> childList = new ArrayList<>();
75 List<ChildsInfo.DataBean> list = (List<ChildsInfo.DataBean>) msg.obj; 75 List<ChildsInfo.DataBean> list = (List<ChildsInfo.DataBean>) msg.obj;
76 for (int i = 0; i < list.size(); i++) { 76 for (int i = 0; i < list.size(); i++) {
77 int type = list.get(i).getType(); 77 int type = list.get(i).getType();
78 if (type == 1) { 78 if (type == 1) {
79 name = list.get(i).getName(); 79 name = list.get(i).getName();
80 grade = list.get(i).getGrade(); 80 grade = list.get(i).getGrade();
81 school = list.get(i).getSchool(); 81 school = list.get(i).getSchool();
82 addr = list.get(i).getRegion(); 82 addr = list.get(i).getRegion();
83 phote = list.get(i).getImage(); 83 phote = list.get(i).getImage();
84 subAccountId = list.get(i).getGradeId(); 84 subAccountId = list.get(i).getGradeId();
85 } else if (type == 2) { 85 } else if (type == 2) {
86 childList.add(list.get(i)); 86 childList.add(list.get(i));
87 } 87 }
88 } 88 }
89 tv_username.setText(name); 89 tv_username.setText(name);
90 tv_grade.setText(grade); 90 tv_grade.setText(grade);
91 tv_school.setText(school); 91 tv_school.setText(school);
92 tv_adress.setText(addr); 92 tv_adress.setText(addr);
93 if (phote!=null&&!phote.isEmpty()) { 93 if (phote!=null&&!phote.isEmpty()) {
94 Picasso.with(AccountManagementActivity.this).load(phote).into(mSimpleDraweeView); 94 Picasso.with(AccountManagementActivity.this).load(phote).into(mSimpleDraweeView);
95 } 95 }
96 data.clear(); 96 data.clear();
97 data.addAll(childList); 97 data.addAll(childList);
98 childsAdapter.notifyDataSetChanged(); 98 childsAdapter.notifyDataSetChanged();
99 } 99 }
100 break; 100 break;
101 } 101 }
102 } 102 }
103 }; 103 };
104 104
105 @Override 105 @Override
106 protected void onCreate(Bundle savedInstanceState) { 106 protected void onCreate(Bundle savedInstanceState) {
107 super.onCreate(savedInstanceState); 107 super.onCreate(savedInstanceState);
108 setContentView(R.layout.activity_account_management); 108 setContentView(R.layout.activity_account_management);
109 initView(); 109 initView();
110 initData(); 110 initData();
111 initLister(); 111 initLister();
112 } 112 }
113 113
114 private void initView() { 114 private void initView() {
115 changbangding = (TextView) findViewById(R.id.changBangding); 115 changbangding = (TextView) findViewById(R.id.changBangding);
116 changpassword = (TextView) findViewById(R.id.changpassword); 116 changpassword = (TextView) findViewById(R.id.changpassword);
117 usernames = (TextView) findViewById(R.id.cunt_username); 117 usernames = (TextView) findViewById(R.id.cunt_username);
118 tv_username = (TextView) findViewById(R.id.tv_account_name); 118 tv_username = (TextView) findViewById(R.id.tv_account_name);
119 tv_grade = (TextView) findViewById(R.id.tv_account_grade); 119 tv_grade = (TextView) findViewById(R.id.tv_account_grade);
120 tv_school = (TextView) findViewById(R.id.tv_account_school); 120 tv_school = (TextView) findViewById(R.id.tv_account_school);
121 tv_adress = (TextView) findViewById(R.id.tv_account_adress); 121 tv_adress = (TextView) findViewById(R.id.tv_account_adress);
122 mSimpleDraweeView = (ImageView) findViewById(R.id.tv_account_head); 122 mSimpleDraweeView = (ImageView) findViewById(R.id.tv_account_head);
123 iv_useing = (ImageView) findViewById(R.id.iv_shiyongzhong); 123 iv_useing = (ImageView) findViewById(R.id.iv_shiyongzhong);
124 cancel = (ImageView) findViewById(R.id.cancel); 124 cancel = (ImageView) findViewById(R.id.cancel);
125 ll_zhu_backgrangd = (LinearLayout) findViewById(R.id.ll_zhu_backgrangd); 125 ll_zhu_backgrangd = (LinearLayout) findViewById(R.id.ll_zhu_backgrangd);
126 tv_changzhu = (TextView) findViewById(R.id.change_zhu_account); 126 tv_changzhu = (TextView) findViewById(R.id.change_zhu_account);
127 listview = (RecyclerView) findViewById(R.id.id_recyclerview_horizontal); 127 listview = (RecyclerView) findViewById(R.id.id_recyclerview_horizontal);
128 } 128 }
129 129
130 private void initData() { 130 private void initData() {
131 String cunt_username = SaveParam.getInstance().getLoginParam(this, "username"); 131 String cunt_username = SaveParam.getInstance().getLoginParam(this, "username");
132 String account = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT); 132 String account = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT);
133 usernames.setText(cunt_username); 133 usernames.setText(cunt_username);
134 134
135 if (account.equals("1")) { 135 if (account.equals("1")) {
136 tv_changzhu.setText("使用中"); 136 tv_changzhu.setText("使用中");
137 tv_changzhu.setEnabled(false); 137 tv_changzhu.setEnabled(false);
138 iv_useing.setVisibility(View.VISIBLE); 138 iv_useing.setVisibility(View.VISIBLE);
139 ll_zhu_backgrangd.setBackgroundResource(R.drawable.corcle_blue_bg); 139 ll_zhu_backgrangd.setBackgroundResource(R.drawable.corcle_blue_bg);
140 } else { 140 } else {
141 tv_changzhu.setText("切换主账户"); 141 tv_changzhu.setText("切换主账户");
142 tv_changzhu.setEnabled(true); 142 tv_changzhu.setEnabled(true);
143 iv_useing.setVisibility(View.GONE); 143 iv_useing.setVisibility(View.GONE);
144 ll_zhu_backgrangd.setBackgroundResource(R.drawable.corcle_black_bg); 144 ll_zhu_backgrangd.setBackgroundResource(R.drawable.corcle_black_bg);
145 } 145 }
146 146
147 147
148 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); 148 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
149 linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); 149 linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
150 listview.setLayoutManager(linearLayoutManager); 150 listview.setLayoutManager(linearLayoutManager);
151 childsAdapter = new AccountChildsAdapter(data, this); 151 childsAdapter = new AccountChildsAdapter(data, this);
152 listview.addItemDecoration(new RecyclerViewSpaceItem(10)); 152 listview.addItemDecoration(new RecyclerViewSpaceItem(10));
153 listview.setAdapter(childsAdapter); 153 listview.setAdapter(childsAdapter);
154 childsAdapter.setOnItemClickListener(new AccountChildsAdapter.OnItemClickListener() { 154 childsAdapter.setOnItemClickListener(new AccountChildsAdapter.OnItemClickListener() {
155 @Override 155 @Override
156 public void onItemClick(View view, int position) { 156 public void onItemClick(View view, int position) {
157 157
158 AlertUtils.showToast(AccountManagementActivity.this, "你点击了" + data.get(position)); 158 AlertUtils.showToast(AccountManagementActivity.this, "你点击了" + data.get(position));
159 } 159 }
160 }); 160 });
161 161
162 } 162 }
163 163
164 164
165 private void initLister() { 165 private void initLister() {
166 changbangding.setOnClickListener(this); 166 changbangding.setOnClickListener(this);
167 changpassword.setOnClickListener(this); 167 changpassword.setOnClickListener(this);
168 cancel.setOnClickListener(this); 168 cancel.setOnClickListener(this);
169 tv_changzhu.setOnClickListener(this); 169 tv_changzhu.setOnClickListener(this);
170 170
171 171
172 } 172 }
173 173
174 @Override 174 @Override
175 public void onClick(View v) { 175 public void onClick(View v) {
176 switch (v.getId()) { 176 switch (v.getId()) {
177 case R.id.changBangding: 177 case R.id.changBangding:
178 Content.authcodeflag = 1; 178 Content.authcodeflag = 1;
179 Intent changebangding = new Intent(); 179 Intent changebangding = new Intent();
180 changebangding.setClass(AccountManagementActivity.this, ElectronicCardValidationActivity.class); 180 changebangding.setClass(AccountManagementActivity.this, ElectronicCardValidationActivity.class);
181 startActivity(changebangding); 181 startActivity(changebangding);
182 overridePendingTransition(R.anim.rightin, R.anim.rightout); 182 overridePendingTransition(R.anim.rightin, R.anim.rightout);
183 break; 183 break;
184 case R.id.changpassword: 184 case R.id.changpassword:
185 Intent changpwd = new Intent(); 185 Intent changpwd = new Intent();
186 changpwd.setClass(AccountManagementActivity.this, ChangePasswordActivity.class); 186 changpwd.setClass(AccountManagementActivity.this, ChangePasswordActivity.class);
187 startActivity(changpwd); 187 startActivity(changpwd);
188 overridePendingTransition(R.anim.rightin, R.anim.rightout); 188 overridePendingTransition(R.anim.rightin, R.anim.rightout);
189 break; 189 break;
190 case R.id.change_zhu_account: 190 case R.id.change_zhu_account:
191 Content.changgeaccountflag = 1; 191 Content.changgeaccountflag = 1;
192 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 192 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
193 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.ACCOUNT, "1"); 193 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.ACCOUNT, "1");
194 String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); 194 String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber();
195 //String ss = SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.GRADENS); 195 //String ss = SaveParam.getInstance().getLoginParam(AccountManagementActivity.this, SaveParam.GRADENS);
196 String zizhuanhui = SaveParam.getInstance().getCustomizeParam(AccountManagementActivity.this, SaveParam.CHILDSGRADENSss); 196 String zizhuanhui = SaveParam.getInstance().getCustomizeParam(AccountManagementActivity.this, SaveParam.CHILDSGRADENSss);
197 try { 197 try {
198 long auserID = Long.parseLong(userID); 198 long auserID = Long.parseLong(userID);
199 int zhugrade = Integer.parseInt(subAccountId); 199 int zhugrade = Integer.parseInt(subAccountId);
200 int zigrade = Integer.parseInt(zizhuanhui); 200 int zigrade = Integer.parseInt(zizhuanhui);
201 Log.i("---", "发送完了"+zhugrade+"ddd"+zhugrade); 201 Log.i("---", "发送完了"+zhugrade+"ddd"+zhugrade);
202 // if ((zhugrade < 8)&&(zigrade>=8)||(zhugrade >= 8)&&(zigrade<8)) { 202 // if ((zhugrade < 8)&&(zigrade>=8)||(zhugrade >= 8)&&(zigrade<8)) {
203 // Intent intentbroad = new Intent(); 203 // Intent intentbroad = new Intent();
204 // intentbroad.putExtra("info", "小学"); 204 // intentbroad.putExtra("info", "小学");
205 // //4、定义广播发送的action 205 // //4、定义广播发送的action
206 // intentbroad.setAction("com.ozing.launcher.SWITCH_GRADE"); 206 // intentbroad.setAction("com.ozing.launcher.SWITCH_GRADE");
207 // //5、发送广播 207 // //5、发送广播
208 // sendBroadcast(intentbroad); 208 // sendBroadcast(intentbroad);
209 // Log.i("---", "发送完了"); 209 // Log.i("---", "发送完了");
210 // } 210 // }
211 HttpManager.getInstance().Accountinfo(AccountManagementActivity.this, auserID, 211 HttpManager.getInstance().Accountinfo(AccountManagementActivity.this, auserID,
212 devicenumber, 1); 212 devicenumber, 1);
213 213
214 } catch (NumberFormatException e) { 214 } catch (NumberFormatException e) {
215 e.printStackTrace(); 215 e.printStackTrace();
216 } 216 }
217 217
218 218
219 break; 219 break;
220 case R.id.cancel: 220 case R.id.cancel:
221 finish(); 221 finish();
222 break; 222 break;
223 223
224 } 224 }
225 225
226 } 226 }
227 227
228 @Override 228 @Override
229 protected void onResume() { 229 protected void onResume() {
230 super.onResume(); 230 super.onResume();
231 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 231 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
232 String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); 232 String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber();
233 String cunt_username = SaveParam.getInstance().getLoginParam(this, "username"); 233 String cunt_username = SaveParam.getInstance().getLoginParam(this, "username");
234 usernames.setText(cunt_username); 234 usernames.setText(cunt_username);
235 try { 235 try {
236 long auserID = Long.parseLong(userID); 236 long auserID = Long.parseLong(userID);
237 HttpManager.getInstance().getchildAccountinfo(this, auserID, devicenumber, handler); 237 HttpManager.getInstance().getchildAccountinfo(this, auserID, devicenumber, handler);
238 238
239 } catch (NumberFormatException e) { 239 } catch (NumberFormatException e) {
240 e.printStackTrace(); 240 e.printStackTrace();
241 } 241 }
242 } 242 }
243 } 243 }
244 244
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardAdressInfoActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.os.Bundle; 3 import android.os.Bundle;
4 import android.os.Handler; 4 import android.os.Handler;
5 import android.os.Message; 5 import android.os.Message;
6 import android.support.v4.app.FragmentActivity; 6 import android.support.v4.app.FragmentActivity;
7 import android.text.TextUtils; 7 import android.text.TextUtils;
8 import android.view.View; 8 import android.view.View;
9 import android.widget.Button; 9 import android.widget.Button;
10 import android.widget.EditText; 10 import android.widget.EditText;
11 import android.widget.ImageView; 11 import android.widget.ImageView;
12 import android.widget.TextView; 12 import android.widget.TextView;
13 13
14 import com.hjx.personalcenter.R; 14 import com.hjx.personalcenter.R;
15 import com.hjx.personalcenter.customdialog.CitysListDialog; 15 import com.hjx.personalcenter.customdialog.CitysListDialog;
16 import com.hjx.personalcenter.customdialog.CountryDialog; 16 import com.hjx.personalcenter.customdialog.CountryDialog;
17 import com.hjx.personalcenter.customdialog.ProvinceListDialog; 17 import com.hjx.personalcenter.customdialog.ProvinceListDialog;
18 import com.hjx.personalcenter.db.SaveParam; 18 import com.hjx.personalcenter.db.SaveParam;
19 import com.hjx.personalcenter.http.HttpCode; 19 import com.hjx.personalcenter.http.HttpCode;
20 import com.hjx.personalcenter.http.HttpManager; 20 import com.hjx.personalcenter.http.HttpManager;
21 import com.hjx.personalcenter.interfaces.DialogCallBack; 21 import com.hjx.personalcenter.interfaces.DialogCallBack;
22 import com.hjx.personalcenter.model.CityInfo; 22 import com.hjx.personalcenter.model.CityInfo;
23 import com.hjx.personalcenter.model.CountyInfo; 23 import com.hjx.personalcenter.model.CountyInfo;
24 import com.hjx.personalcenter.model.ProvinceInfo; 24 import com.hjx.personalcenter.model.ProvinceInfo;
25 import com.hjx.personalcenter.util.AlertUtils; 25 import com.hjx.personalcenter.util.AlertUtils;
26 import com.hjx.personalcenter.util.GetDevicesUtil; 26 import com.hjx.personalcenter.util.GetDevicesUtil;
27 import com.hjx.personalcenter.util.Judgment; 27 import com.hjx.personalcenter.util.Judgment;
28 import com.hjx.personalcenter.util.PhoneNumCheckUtils; 28 import com.hjx.personalcenter.util.PhoneNumCheckUtils;
29 29
30 import org.json.JSONObject; 30 import org.json.JSONObject;
31 31
32 import java.util.ArrayList; 32 import java.util.ArrayList;
33 import java.util.TimerTask; 33 import java.util.TimerTask;
34 34
35 /** 35 /**
36 * Created by h on 2017/8/9. 36 * Created by h on 2017/8/9.
37 */ 37 */
38 38
39 public class ChangeElectronicCardAdressInfoActivity extends FragmentActivity implements View.OnClickListener 39 public class ChangeElectronicCardAdressInfoActivity extends FragmentActivity implements View.OnClickListener
40 ,DialogCallBack.ProvincesCallBack 40 ,DialogCallBack.ProvincesCallBack
41 ,DialogCallBack.CitysCallBack,DialogCallBack.CountryCallBack{ 41 ,DialogCallBack.CitysCallBack,DialogCallBack.CountryCallBack{
42 private ImageView back_forgit; 42 private ImageView back_forgit;
43 private EditText forot_pwd_phone,forot_pwd_anthcode,newadress; 43 private EditText forot_pwd_phone,forot_pwd_anthcode,newadress;
44 private TextView adress; 44 private TextView adress;
45 private Button forot_pwd_sub,forot_pwd_getanthcode; 45 private Button forot_pwd_sub,forot_pwd_getanthcode;
46 private String typeStr = "general"; 46 private String typeStr = "general";
47 private int delayTime=60; 47 private int delayTime=60;
48 private java.util.Timer Delaytimer; 48 private java.util.Timer Delaytimer;
49 Handler handler = new Handler() { 49 Handler handler = new Handler() {
50 @Override 50 @Override
51 public void handleMessage(Message msg) { 51 public void handleMessage(Message msg) {
52 super.handleMessage(msg); 52 super.handleMessage(msg);
53 JSONObject jsonObject; 53 JSONObject jsonObject;
54 String status; 54 String status;
55 switch (msg.what) { 55 switch (msg.what) {
56 case HttpCode.AUTHCODE_SUCESS1: 56 case HttpCode.AUTHCODE_SUCESS1:
57 jsonObject = (JSONObject) msg.obj; 57 jsonObject = (JSONObject) msg.obj;
58 status = jsonObject.optString("status"); 58 status = jsonObject.optString("status");
59 if (status.equals("100")) { 59 if (status.equals("100")) {
60 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "验证码发送成功"); 60 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "验证码发送成功");
61 } 61 }
62 //AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); 62 //AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message"));
63 break; 63 break;
64 case HttpCode.AUTHCODE_FAIL1: 64 case HttpCode.AUTHCODE_FAIL1:
65 jsonObject = (JSONObject) msg.obj; 65 jsonObject = (JSONObject) msg.obj;
66 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, jsonObject.optString("验证码发送失败,请检查网络")); 66 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, jsonObject.optString("验证码发送失败,请检查网络"));
67 break; 67 break;
68 case 21: 68 case 21:
69 if(delayTime<=0){ 69 if(delayTime<=0){
70 if(Delaytimer!=null){ 70 if(Delaytimer!=null){
71 Delaytimer.cancel(); 71 Delaytimer.cancel();
72 } 72 }
73 forot_pwd_getanthcode.setEnabled(true); 73 forot_pwd_getanthcode.setEnabled(true);
74 forot_pwd_getanthcode.setClickable(true); 74 forot_pwd_getanthcode.setClickable(true);
75 forot_pwd_getanthcode.setText("获取验证码"); 75 forot_pwd_getanthcode.setText("获取验证码");
76 delayTime=60; 76 delayTime=60;
77 }else{ 77 }else{
78 forot_pwd_getanthcode.setEnabled(false); 78 forot_pwd_getanthcode.setEnabled(false);
79 forot_pwd_getanthcode.setClickable(false); 79 forot_pwd_getanthcode.setClickable(false);
80 forot_pwd_getanthcode.setText(delayTime + " s"); 80 forot_pwd_getanthcode.setText(delayTime + " s");
81 } 81 }
82 break; 82 break;
83 } 83 }
84 } 84 }
85 }; 85 };
86 @Override 86 @Override
87 protected void onCreate(Bundle savedInstanceState) { 87 protected void onCreate(Bundle savedInstanceState) {
88 super.onCreate(savedInstanceState); 88 super.onCreate(savedInstanceState);
89 setContentView(R.layout.activity_change_card_validation); 89 setContentView(R.layout.activity_change_card_validation);
90 SysApplication.getInstance().addActivity(this); 90 SysApplication.getInstance().addActivity(this);
91 initView(); 91 initView();
92 setLister(); 92 setLister();
93 } 93 }
94 //获取验证码 94 //获取验证码
95 private void getauthcode() { 95 private void getauthcode() {
96 forot_pwd_anthcode.requestFocus(); 96 forot_pwd_anthcode.requestFocus();
97 String forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); 97 String forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim();
98 HttpManager.getInstance().authCode(typeStr, forot_pwd_phone1, handler, this); 98 HttpManager.getInstance().authCode(typeStr, forot_pwd_phone1, handler, this);
99 valiDelay(); 99 valiDelay();
100 100
101 } 101 }
102 private void initView() { 102 private void initView() {
103 forot_pwd_phone = (EditText) findViewById(R.id.et_phonenumber); 103 forot_pwd_phone = (EditText) findViewById(R.id.et_phonenumber);
104 forot_pwd_anthcode = (EditText) findViewById(R.id.et_authcode); 104 forot_pwd_anthcode = (EditText) findViewById(R.id.et_authcode);
105 adress = (TextView) findViewById(R.id.et_newpassword); 105 adress = (TextView) findViewById(R.id.et_newpassword);
106 newadress = (EditText) findViewById(R.id.et_again_newpassword); 106 newadress = (EditText) findViewById(R.id.et_again_newpassword);
107 forot_pwd_sub = (Button) findViewById(R.id.btn_ok); 107 forot_pwd_sub = (Button) findViewById(R.id.btn_ok);
108 forot_pwd_getanthcode = (Button) findViewById(R.id.btn_authcode); 108 forot_pwd_getanthcode = (Button) findViewById(R.id.btn_authcode);
109 back_forgit= (ImageView) findViewById(R.id.cancel); 109 back_forgit= (ImageView) findViewById(R.id.cancel);
110 } 110 }
111 private void setLister() { 111 private void setLister() {
112 back_forgit.setOnClickListener(this); 112 back_forgit.setOnClickListener(this);
113 forot_pwd_sub.setOnClickListener(this); 113 forot_pwd_sub.setOnClickListener(this);
114 forot_pwd_getanthcode.setOnClickListener(this); 114 forot_pwd_getanthcode.setOnClickListener(this);
115 adress.setOnClickListener(this); 115 adress.setOnClickListener(this);
116 116
117 } 117 }
118 118
119 @Override 119 @Override
120 public void onClick(View view) { 120 public void onClick(View view) {
121 switch (view.getId()){ 121 switch (view.getId()){
122 case R.id.btn_ok: 122 case R.id.btn_ok:
123 String forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); 123 String forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim();
124 String forot_pwd_anthcode1 = forot_pwd_anthcode.getText().toString().trim(); 124 String forot_pwd_anthcode1 = forot_pwd_anthcode.getText().toString().trim();
125 String forot_pwd_pwd3 = adress.getText().toString().trim(); 125 String forot_pwd_pwd3 = adress.getText().toString().trim();
126 String forot_pwd_pwd4 = newadress.getText().toString().trim(); 126 String forot_pwd_pwd4 = newadress.getText().toString().trim();
127 if (TextUtils.isEmpty(forot_pwd_phone1)|| 127 if (TextUtils.isEmpty(forot_pwd_phone1)||
128 TextUtils.isEmpty(forot_pwd_pwd3) || TextUtils.isEmpty(forot_pwd_pwd4)){ 128 TextUtils.isEmpty(forot_pwd_pwd3) || TextUtils.isEmpty(forot_pwd_pwd4)){
129 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "请将必填项填写完整"); 129 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "请将必填项填写完整");
130 return; 130 return;
131 }else if (Judgment.getInstance().isPhoneNum(forot_pwd_phone1)){ 131 }
132 else if (Judgment.getInstance().isPhoneNum(forot_pwd_phone1)){
132 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "手机号码输入有误"); 133 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "手机号码输入有误");
133 134
134 } else { 135 }
136 else {
135 //修改地址接口 137 //修改地址接口
136 String userID = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); 138 String userID = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber();
137 HttpManager.getInstance().changecardadressinfo(this,userID,forot_pwd_phone1,forot_pwd_anthcode1,forot_pwd_pwd3+forot_pwd_pwd4); 139 HttpManager.getInstance().changecardadressinfo(this,userID,forot_pwd_phone1,forot_pwd_anthcode1,forot_pwd_pwd3+forot_pwd_pwd4);
138 140
139 141
140 } 142 }
141 break; 143 break;
142 case R.id.btn_authcode: 144 case R.id.btn_authcode:
143 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); 145 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim();
144 if (!PhoneNumCheckUtils.isPhone(forot_pwd_phone1)){ 146 if (!PhoneNumCheckUtils.isPhone(forot_pwd_phone1)){
145 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "请输入正确的手机号"); 147 AlertUtils.showToast(ChangeElectronicCardAdressInfoActivity.this, "请输入正确的手机号");
146 }else { 148 }else {
147 forot_pwd_anthcode.requestFocus(); 149 forot_pwd_anthcode.requestFocus();
148 getauthcode(); 150 getauthcode();
149 151
150 } 152 }
151 153
152 break; 154 break;
153 case R.id.et_newpassword: 155 case R.id.et_newpassword:
154 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) ChangeElectronicCardAdressInfoActivity.this).show(getSupportFragmentManager(), "ProvinceListDialog"); 156 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) ChangeElectronicCardAdressInfoActivity.this).show(getSupportFragmentManager(), "ProvinceListDialog");
155 break; 157 break;
156 158
157 case R.id.cancel: 159 case R.id.cancel:
158 finish(); 160 finish();
159 break; 161 break;
160 } 162 }
161 } 163 }
162 164
163 @Override 165 @Override
164 public void province1OnItemClick(ArrayList<CityInfo.CitiesBean> data, int position, int type) { 166 public void province1OnItemClick(ArrayList<CityInfo.CitiesBean> data, int position, int type) {
165 String regionName = data.get(position).getRegionName(); 167 String regionName = data.get(position).getRegionName();
166 String provice = SaveParam.getInstance().getLoginParam(this,"sheng"); 168 String provice = SaveParam.getInstance().getLoginParam(this,"sheng");
167 SaveParam.getInstance().saveLoginParam(this,"shi",regionName); 169 SaveParam.getInstance().saveLoginParam(this,"shi",regionName);
168 CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog"); 170 CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog");
169 adress.setText(""); 171 adress.setText("");
170 adress.setText(provice+regionName); 172 adress.setText(provice+regionName);
171 173
172 174
173 } 175 }
174 176
175 @Override 177 @Override
176 public void province2OnItemClick(ArrayList<CountyInfo.CountiesBean> data, int position, int type) { 178 public void province2OnItemClick(ArrayList<CountyInfo.CountiesBean> data, int position, int type) {
177 String regionName = data.get(position).getRegionName(); 179 String regionName = data.get(position).getRegionName();
178 String provices = SaveParam.getInstance().getLoginParam(this,"sheng"); 180 String provices = SaveParam.getInstance().getLoginParam(this,"sheng");
179 String citys = SaveParam.getInstance().getLoginParam(this,"shi"); 181 String citys = SaveParam.getInstance().getLoginParam(this,"shi");
180 adress.setText(""); 182 adress.setText("");
181 adress.setText(provices+citys+regionName); 183 adress.setText(provices+citys+regionName);
182 } 184 }
183 185
184 @Override 186 @Override
185 public void provinceOnItemClick(ArrayList<ProvinceInfo.ProvincesBean> data, int position, int type) { 187 public void provinceOnItemClick(ArrayList<ProvinceInfo.ProvincesBean> data, int position, int type) {
186 String regionName = data.get(position).getRegionName(); 188 String regionName = data.get(position).getRegionName();
187 SaveParam.getInstance().saveLoginParam(this,"sheng",regionName); 189 SaveParam.getInstance().saveLoginParam(this,"sheng",regionName);
188 CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog"); 190 CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog");
189 adress.setText(""); 191 adress.setText("");
190 adress.setText(regionName); 192 adress.setText(regionName);
191 } 193 }
192 194
193 // 线程类 定时器 195 // 线程类 定时器
194 public void valiDelay() { 196 public void valiDelay() {
195 197
196 Delaytimer = new java.util.Timer(true); 198 Delaytimer = new java.util.Timer(true);
197 199
198 200
199 TimerTask task = new TimerTask() { 201 TimerTask task = new TimerTask() {
200 public void run() { 202 public void run() {
201 //每次需要执行的代码放到这里面。 203 //每次需要执行的代码放到这里面。
202 delayTime--; 204 delayTime--;
203 handler.sendEmptyMessage(21); 205 handler.sendEmptyMessage(21);
204 206
205 207
206 208
207 } 209 }
208 }; 210 };
209 Delaytimer.schedule(task, 1000,1000); 211 Delaytimer.schedule(task, 1000,1000);
210 } 212 }
211 213
212 } 214 }
213 215
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangePasswordActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.os.Bundle; 3 import android.os.Bundle;
4 import android.support.v4.app.FragmentActivity; 4 import android.support.v4.app.FragmentActivity;
5 import android.text.Editable;
5 import android.text.TextUtils; 6 import android.text.TextUtils;
7 import android.text.TextWatcher;
6 import android.text.method.HideReturnsTransformationMethod; 8 import android.text.method.HideReturnsTransformationMethod;
7 import android.text.method.PasswordTransformationMethod; 9 import android.text.method.PasswordTransformationMethod;
8 import android.view.View; 10 import android.view.View;
9 import android.widget.Button; 11 import android.widget.Button;
10 import android.widget.EditText; 12 import android.widget.EditText;
13 import android.widget.ImageButton;
11 import android.widget.ImageView; 14 import android.widget.ImageView;
12 15
13 import com.hjx.personalcenter.R; 16 import com.hjx.personalcenter.R;
14 import com.hjx.personalcenter.db.SaveParam; 17 import com.hjx.personalcenter.db.SaveParam;
15 import com.hjx.personalcenter.http.HttpManager; 18 import com.hjx.personalcenter.http.HttpManager;
16 import com.hjx.personalcenter.util.AlertUtils; 19 import com.hjx.personalcenter.util.AlertUtils;
17 import com.hjx.personalcenter.util.PasswordCheckUtils; 20 import com.hjx.personalcenter.util.PasswordCheckUtils;
18 21
19 /**修改密码 22 /**修改密码
20 * Created by h on 2017/6/27. 23 * Created by h on 2017/6/27.
21 */ 24 */
22 25
23 public class ChangePasswordActivity extends FragmentActivity implements View.OnClickListener { 26 public class ChangePasswordActivity extends FragmentActivity implements View.OnClickListener {
24 private EditText old_pwd,newpassword,newpassword1; 27 private EditText old_pwd,newpassword,newpassword1;
25 private Button sub_change_pwd; 28 private Button sub_change_pwd;
26 private ImageView back_change_pwd,eyes_iv_change1; 29 private ImageView back_change_pwd,eyes_iv_change1;
30 private ImageButton oldpassword_delete_btn;
27 public static Boolean showPassword = false; 31 public static Boolean showPassword = false;
28 @Override 32 @Override
29 protected void onCreate(Bundle savedInstanceState) { 33 protected void onCreate(Bundle savedInstanceState) {
30 super.onCreate(savedInstanceState); 34 super.onCreate(savedInstanceState);
31 setContentView(R.layout.activity_changepsword); 35 setContentView(R.layout.activity_changepsword);
32 initView(); 36 initView();
33 setLister(); 37 setLister();
38 initTextWatch();
34 } 39 }
35 40
36 private void initView() { 41 private void initView() {
37 old_pwd = (EditText) findViewById(R.id.et_oldpassword); 42 old_pwd = (EditText) findViewById(R.id.et_oldpassword);
38 newpassword = (EditText) findViewById(R.id.et_newpassword); 43 newpassword = (EditText) findViewById(R.id.et_newpassword);
39 newpassword1 = (EditText) findViewById(R.id.et_again_newpassword); 44 newpassword1 = (EditText) findViewById(R.id.et_again_newpassword);
40 sub_change_pwd = (Button) findViewById(R.id.btn_ok); 45 sub_change_pwd = (Button) findViewById(R.id.btn_ok);
41 back_change_pwd = (ImageView) findViewById(R.id.cancel); 46 back_change_pwd = (ImageView) findViewById(R.id.cancel);
42 eyes_iv_change1 = (ImageView) findViewById(R.id.iv_pwd_change); 47 eyes_iv_change1 = (ImageView) findViewById(R.id.iv_pwd_change);
48 oldpassword_delete_btn = (ImageButton) findViewById(R.id.oldpassword_delete_btn);
43 49
44 50
45 } 51 }
46 52
47 private void setLister() { 53 private void setLister() {
48 sub_change_pwd.setOnClickListener(this); 54 sub_change_pwd.setOnClickListener(this);
49 back_change_pwd.setOnClickListener(this); 55 back_change_pwd.setOnClickListener(this);
50 eyes_iv_change1.setOnClickListener(this); 56 eyes_iv_change1.setOnClickListener(this);
57 oldpassword_delete_btn.setOnClickListener(this);
58 }
59
60 /**
61 * 输入框改变的监听
62 */
63 private void initTextWatch() {
64 old_pwd.addTextChangedListener(new TextWatcher() {
65 @Override
66 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
67 }
68
69 @Override
70 public void onTextChanged(CharSequence s, int start, int before, int count) {
71 if (s.toString().length() == 0) {
72 oldpassword_delete_btn.setVisibility(View.INVISIBLE);
73 } else {
74 oldpassword_delete_btn.setVisibility(View.VISIBLE);
75 }
76 }
77
78 @Override
79 public void afterTextChanged(Editable s) {
80
81 }
82 });
83 old_pwd.setOnFocusChangeListener(new View.OnFocusChangeListener() {
84 @Override
85 public void onFocusChange(View v, boolean hasFocus) {
86 if (hasFocus) {
87 if (!old_pwd.getText().toString().isEmpty()) {
88 oldpassword_delete_btn.setVisibility(View.VISIBLE);
89 }
90 } else {
91
92 oldpassword_delete_btn.setVisibility(View.INVISIBLE);
93 }
94 }
95 });
51 } 96 }
52 97
53 @Override 98 @Override
54 public void onClick(View v) { 99 public void onClick(View v) {
55 String old_pwd1 = old_pwd.getText().toString().trim(); 100 String old_pwd1 = old_pwd.getText().toString().trim();
56 String newpassword3 = newpassword.getText().toString().trim(); 101 String newpassword3 = newpassword.getText().toString().trim();
57 String newpassword4 = newpassword1.getText().toString().trim(); 102 String newpassword4 = newpassword1.getText().toString().trim();
58 switch (v.getId()){ 103 switch (v.getId()){
59 //确认修改 104 //确认修改
60 case R.id.btn_ok: 105 case R.id.btn_ok:
61 106
62 //Log.e("test","sp保存的密码是"+sp.getLoginParam(ChangePwd.this, "password")); 107 //Log.e("test","sp保存的密码是"+sp.getLoginParam(ChangePwd.this, "password"));
63 if (TextUtils.isEmpty(old_pwd1)|| 108 if (TextUtils.isEmpty(old_pwd1)||
64 TextUtils.isEmpty(newpassword3) || TextUtils.isEmpty(newpassword4)){ 109 TextUtils.isEmpty(newpassword3) || TextUtils.isEmpty(newpassword4)){
65 AlertUtils.showToast(ChangePasswordActivity.this, "请将必填项填写完整"); 110 AlertUtils.showToast(ChangePasswordActivity.this, "请将必填项填写完整");
66 return; 111 return;
67 }else if(newpassword3.length()<8||newpassword4.length()<8){ 112 }else if(newpassword3.length()<8||newpassword4.length()<8){
68 AlertUtils.showToast(ChangePasswordActivity.this,"密码不能少于8位"); 113 AlertUtils.showToast(ChangePasswordActivity.this,"密码不能少于8位");
69 }else if(!newpassword3.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)||!newpassword4.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){ 114 }else if(!newpassword3.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)||!newpassword4.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){
70 AlertUtils.showToast(ChangePasswordActivity.this, "密码必须由数字和字母组成"); 115 AlertUtils.showToast(ChangePasswordActivity.this, "密码必须由数字和字母组成");
71 } 116 }
72 //得到原密码并且判断是否输入的一样 117 //得到原密码并且判断是否输入的一样
73 else if(!SaveParam.getInstance().getLoginParam(ChangePasswordActivity.this,"password").equals(old_pwd1)){ 118 else if(!SaveParam.getInstance().getLoginParam(ChangePasswordActivity.this,"password").equals(old_pwd1)){
74 119
75 AlertUtils.showToast(ChangePasswordActivity.this, "原密码输入错误"); 120 AlertUtils.showToast(ChangePasswordActivity.this, "原密码输入错误");
76 121
77 }else if (!newpassword3.equals(newpassword4)){ 122 }else if (!newpassword3.equals(newpassword4)){
78 AlertUtils.showToast(ChangePasswordActivity.this, "两次密码输入不一致"); 123 AlertUtils.showToast(ChangePasswordActivity.this, "两次密码输入不一致");
79 return; 124 return;
80 }else{ 125 }else{
81 //修改密码接口 126 //修改密码接口
82 String name = SaveParam.getInstance().getLoginParam(ChangePasswordActivity.this,"username"); 127 String name = SaveParam.getInstance().getLoginParam(ChangePasswordActivity.this,"username");
83 HttpManager.getInstance().changepwd(this,name,old_pwd1,newpassword3); 128 HttpManager.getInstance().changepwd(this,name,old_pwd1,newpassword3);
84 } 129 }
85 130
86 break; 131 break;
87 case R.id.iv_pwd_change: 132 case R.id.iv_pwd_change:
88 if(showPassword){//显示密码 133 if(showPassword){//显示密码
89 showPassword = !showPassword; 134 showPassword = !showPassword;
90 eyes_iv_change1.setImageResource(R.mipmap.pwd_open); 135 eyes_iv_change1.setImageResource(R.mipmap.pwd_open);
91 newpassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); 136 newpassword.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
92 newpassword.setSelection(newpassword.getText().toString().length()); 137 newpassword.setSelection(newpassword.getText().toString().length());
93 }else{//隐藏密码 138 }else{//隐藏密码
94 showPassword = !showPassword; 139 showPassword = !showPassword;
95 eyes_iv_change1.setImageResource(R.mipmap.pwd_hide); 140 eyes_iv_change1.setImageResource(R.mipmap.pwd_hide);
96 newpassword.setTransformationMethod(PasswordTransformationMethod.getInstance()); 141 newpassword.setTransformationMethod(PasswordTransformationMethod.getInstance());
97 newpassword.setSelection(newpassword.getText().toString().length()); 142 newpassword.setSelection(newpassword.getText().toString().length());
98 } 143 }
99 break; 144 break;
100 145
101 case R.id.cancel: 146 case R.id.cancel:
102 finish(); 147 finish();
103 break; 148 break;
149 case R.id.oldpassword_delete_btn:
150 old_pwd.setText("");
151 break;
104 } 152 }
105 153
106 } 154 }
107 } 155 }
108 156
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChoiseTextBookActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.os.Handler; 5 import android.os.Handler;
6 import android.os.Message; 6 import android.os.Message;
7 import android.support.v4.app.FragmentActivity; 7 import android.support.v4.app.FragmentActivity;
8 import android.util.Log; 8 import android.util.Log;
9 import android.view.View; 9 import android.view.View;
10 import android.widget.AdapterView; 10 import android.widget.AdapterView;
11 import android.widget.Button; 11 import android.widget.Button;
12 import android.widget.GridView; 12 import android.widget.GridView;
13 import android.widget.ImageView; 13 import android.widget.ImageView;
14 import android.widget.TextView; 14 import android.widget.TextView;
15 import android.widget.Toast; 15 import android.widget.Toast;
16 16
17 import com.hjx.personalcenter.R; 17 import com.hjx.personalcenter.R;
18 import com.hjx.personalcenter.adapter.GridAdapter; 18 import com.hjx.personalcenter.adapter.GridAdapter;
19 import com.hjx.personalcenter.customdialog.ElectronicCardDialog; 19 import com.hjx.personalcenter.customdialog.ElectronicCardDialog;
20 import com.hjx.personalcenter.customdialog.VerSionDialog; 20 import com.hjx.personalcenter.customdialog.VerSionDialog;
21 import com.hjx.personalcenter.db.SaveParam; 21 import com.hjx.personalcenter.db.SaveParam;
22 import com.hjx.personalcenter.http.HttpCode; 22 import com.hjx.personalcenter.http.HttpCode;
23 import com.hjx.personalcenter.http.HttpManager; 23 import com.hjx.personalcenter.http.HttpManager;
24 import com.hjx.personalcenter.interfaces.DialogCallBack; 24 import com.hjx.personalcenter.interfaces.DialogCallBack;
25 import com.hjx.personalcenter.model.DefautPublishInfo; 25 import com.hjx.personalcenter.model.DefautPublishInfo;
26 import com.hjx.personalcenter.model.VersionInfo; 26 import com.hjx.personalcenter.model.VersionInfo;
27 import com.hjx.personalcenter.util.AlertUtils; 27 import com.hjx.personalcenter.util.AlertUtils;
28 import com.hjx.personalcenter.util.GetDevicesUtil; 28 import com.hjx.personalcenter.util.GetDevicesUtil;
29 import com.squareup.picasso.Picasso; 29 import com.squareup.picasso.Picasso;
30 30
31 import org.json.JSONException; 31 import org.json.JSONException;
32 import org.json.JSONObject; 32 import org.json.JSONObject;
33 33
34 import java.util.ArrayList; 34 import java.util.ArrayList;
35 import java.util.List; 35 import java.util.List;
36 36
37 /** 37 /**
38 * 选择教材 38 * 选择教材
39 * Created by h on 2017/8/10. 39 * Created by h on 2017/8/10.
40 */ 40 */
41 41
42 public class ChoiseTextBookActivity extends FragmentActivity implements View.OnClickListener, AdapterView.OnItemClickListener, DialogCallBack.VersionCallBack { 42 public class ChoiseTextBookActivity extends FragmentActivity implements View.OnClickListener, AdapterView.OnItemClickListener, DialogCallBack.VersionCallBack {
43 private GridView gridView; 43 private GridView gridView;
44 private Button btn_ok; 44 private Button btn_ok;
45 private ImageView cancel; 45 private ImageView cancel;
46 private ArrayList<DefautPublishInfo.DataBean> defautPublishInfos = new ArrayList<>(); 46 private ArrayList<DefautPublishInfo.DataBean> defautPublishInfos = new ArrayList<>();
47 private GridAdapter sim_adapter; 47 private GridAdapter sim_adapter;
48 private ImageView simpleDraweeView; 48 private ImageView simpleDraweeView;
49 private TextView publish; 49 private TextView publish;
50 private String chinese, math, english, physics, chemistry, history, geography, political, biology, science; 50 private String chinese, math, english, physics, chemistry, history, geography, political, biology, science;
51 51
52 52
53 Handler handler = new Handler() { 53 Handler handler = new Handler() {
54 @Override 54 @Override
55 public void handleMessage(Message msg) { 55 public void handleMessage(Message msg) {
56 super.handleMessage(msg); 56 super.handleMessage(msg);
57 JSONObject jsonObject; 57 JSONObject jsonObject;
58 String status; 58 String status;
59 switch (msg.what) { 59 switch (msg.what) {
60 case HttpCode.CHECKCARD: 60 case HttpCode.CHECKCARD:
61 try { 61 try {
62 jsonObject = new JSONObject((String) msg.obj); 62 jsonObject = new JSONObject((String) msg.obj);
63 status = jsonObject.optString("status"); 63 status = jsonObject.optString("status");
64 if (status.equals("1")) { 64 if (status.equals("1")) {
65 AlertUtils.showToast(ChoiseTextBookActivity.this, "您已经填写了保卡信息,请到主界面确认您的保卡信息是否正确!"); 65 AlertUtils.showToast(ChoiseTextBookActivity.this, "您已经填写了保卡信息,请到主界面确认您的保卡信息是否正确!");
66 Intent intent = new Intent(); 66 Intent intent = new Intent();
67 intent.setClass(ChoiseTextBookActivity.this, TheStartPageActivity.class); 67 intent.setClass(ChoiseTextBookActivity.this, TheStartPageActivity.class);
68 ChoiseTextBookActivity.this.startActivity(intent); 68 ChoiseTextBookActivity.this.startActivity(intent);
69 overridePendingTransition(R.anim.rightin, R.anim.rightout); 69 overridePendingTransition(R.anim.rightin, R.anim.rightout);
70 } else if (status.equals("2001")) { 70 } else if (status.equals("2001")) {
71 ElectronicCardDialog.getInstance().show(getSupportFragmentManager(), "ElectronicCardDialog"); 71 ElectronicCardDialog.getInstance().show(getSupportFragmentManager(), "ElectronicCardDialog");
72 } else if (status.equals("2002")) { 72 } else if (status.equals("2002")) {
73 AlertUtils.showToast(ChoiseTextBookActivity.this, "您的机器为样机,可直接使用!"); 73 AlertUtils.showToast(ChoiseTextBookActivity.this, "您的机器为样机,可直接使用!");
74 Intent intent = new Intent(); 74 Intent intent = new Intent();
75 intent.setClass(ChoiseTextBookActivity.this, TheStartPageActivity.class); 75 intent.setClass(ChoiseTextBookActivity.this, TheStartPageActivity.class);
76 ChoiseTextBookActivity.this.startActivity(intent); 76 ChoiseTextBookActivity.this.startActivity(intent);
77 overridePendingTransition(R.anim.rightin, R.anim.rightout); 77 overridePendingTransition(R.anim.rightin, R.anim.rightout);
78 } 78 }
79 79
80 } catch (JSONException e) { 80 } catch (JSONException e) {
81 e.printStackTrace(); 81 e.printStackTrace();
82 } 82 }
83 83
84 break; 84 break;
85 case HttpCode.PUBLISH_SUCESS: 85 case HttpCode.PUBLISH_SUCESS:
86 defautPublishInfos.clear(); 86 defautPublishInfos.clear();
87 defautPublishInfos.addAll((List<DefautPublishInfo.DataBean>) msg.obj); 87 defautPublishInfos.addAll((List<DefautPublishInfo.DataBean>) msg.obj);
88 sim_adapter.notifyDataSetChanged(); 88 sim_adapter.notifyDataSetChanged();
89 for (int i = 0; i < defautPublishInfos.size(); i++) { 89 for (int i = 0; i < defautPublishInfos.size(); i++) {
90 String subject = defautPublishInfos.get(i).getSubject(); 90 String subject = defautPublishInfos.get(i).getSubject();
91 if (subject.equals("语文")) { 91 if (subject.equals("语文")) {
92 chinese = defautPublishInfos.get(i).getPress(); 92 chinese = defautPublishInfos.get(i).getPress();
93 } else if (subject.equals("数学")) { 93 } else if (subject.equals("数学")) {
94 math = defautPublishInfos.get(i).getPress(); 94 math = defautPublishInfos.get(i).getPress();
95 } else if (subject.equals("英语")) { 95 } else if (subject.equals("英语")) {
96 english = defautPublishInfos.get(i).getPress(); 96 english = defautPublishInfos.get(i).getPress();
97 } else if (subject.equals("物理")) { 97 } else if (subject.equals("物理")) {
98 physics = defautPublishInfos.get(i).getPress(); 98 physics = defautPublishInfos.get(i).getPress();
99 } else if (subject.equals("化学")) { 99 } else if (subject.equals("化学")) {
100 chemistry = defautPublishInfos.get(i).getPress(); 100 chemistry = defautPublishInfos.get(i).getPress();
101 } else if (subject.equals("历史")) { 101 } else if (subject.equals("历史")) {
102 history = defautPublishInfos.get(i).getPress(); 102 history = defautPublishInfos.get(i).getPress();
103 } else if (subject.equals("地理")) { 103 } else if (subject.equals("地理")) {
104 geography = defautPublishInfos.get(i).getPress(); 104 geography = defautPublishInfos.get(i).getPress();
105 } else if (subject.equals("政治")) { 105 } else if (subject.equals("政治")) {
106 political = defautPublishInfos.get(i).getPress(); 106 political = defautPublishInfos.get(i).getPress();
107 } else if (subject.equals("生物")) { 107 } else if (subject.equals("生物")) {
108 biology = defautPublishInfos.get(i).getPress(); 108 biology = defautPublishInfos.get(i).getPress();
109 } else if (subject.equals("科学")) { 109 } else if (subject.equals("科学")) {
110 science = defautPublishInfos.get(i).getPress(); 110 science = defautPublishInfos.get(i).getPress();
111 } 111 }
112 } 112 }
113 break; 113 break;
114 case HttpCode.REGISTERINFO_SUCESS: 114 case HttpCode.REGISTERINFO_SUCESS:
115 try { 115 try {
116 jsonObject = new JSONObject((String) msg.obj); 116 jsonObject = new JSONObject((String) msg.obj);
117 String statusregister = jsonObject.optString("status"); 117 String statusregister = jsonObject.optString("status");
118 if (statusregister.equals("1")) { 118 if (statusregister.equals("1")) {
119 Toast.makeText(ChoiseTextBookActivity.this, "注册信息上传成功", Toast.LENGTH_LONG).show(); 119 Toast.makeText(ChoiseTextBookActivity.this, "注册信息上传成功", Toast.LENGTH_LONG).show();
120 String deviceNumber = GetDevicesUtil.getDevicesInfo(ChoiseTextBookActivity.this).getDeviceNumber(); 120 String deviceNumber = GetDevicesUtil.getDevicesInfo(ChoiseTextBookActivity.this).getDeviceNumber();
121 if (deviceNumber == null) { 121 if (deviceNumber == null) {
122 AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!"); 122 AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!");
123 123
124 } else { 124 } else {
125 //验证保卡信息 125 //验证保卡信息
126 HttpManager.getInstance().cardinfocheck(ChoiseTextBookActivity.this, deviceNumber, handler); 126 HttpManager.getInstance().cardinfocheck(ChoiseTextBookActivity.this, deviceNumber, handler);
127 } 127 }
128 128
129 } else { 129 } else {
130 // AlertUtils.showToast(ChoiseTextBookActivity.this, "您好,服务器异常,请稍后重试"); 130 // AlertUtils.showToast(ChoiseTextBookActivity.this, "您好,服务器异常,请稍后重试");
131 } 131 }
132 } catch (JSONException e) { 132 } catch (JSONException e) {
133 e.printStackTrace(); 133 e.printStackTrace();
134 } 134 }
135 135
136 136
137 break; 137 break;
138 138
139 } 139 }
140 140
141 } 141 }
142 }; 142 };
143 143
144 @Override 144 @Override
145 protected void onCreate(Bundle savedInstanceState) { 145 protected void onCreate(Bundle savedInstanceState) {
146 super.onCreate(savedInstanceState); 146 super.onCreate(savedInstanceState);
147 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 147 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
148 String graderid = SaveParam.getInstance().getLoginParam(this, SaveParam.CHILDSGRADENS); 148 String graderid = SaveParam.getInstance().getLoginParam(this, SaveParam.CHILDSGRADENS);
149 String accounts = SaveParam.getInstance().getCustomizeParam(ChoiseTextBookActivity.this,SaveParam.ACCOUNT); 149 String accounts = SaveParam.getInstance().getCustomizeParam(ChoiseTextBookActivity.this,SaveParam.ACCOUNT);
150 try { 150 try {
151 long auserID = Long.parseLong(userID); 151 long auserID = Long.parseLong(userID);
152 int graderID = Integer.parseInt(graderid); 152 int graderID = Integer.parseInt(graderid);
153 int accountss = Integer.parseInt(accounts); 153 int accountss = Integer.parseInt(accounts);
154 //获取版本信息 154 //获取版本信息
155 HttpManager.getInstance().getpublishinfo(this, auserID, graderID,accountss, handler); 155 HttpManager.getInstance().getpublishinfo(this, auserID, graderID,accountss, handler);
156 156
157 } catch (NumberFormatException e) { 157 } catch (NumberFormatException e) {
158 e.printStackTrace(); 158 e.printStackTrace();
159 } 159 }
160 setContentView(R.layout.activity_choisetextbook); 160 setContentView(R.layout.activity_choisetextbook);
161 SysApplication.getInstance().addActivity(this); 161 SysApplication.getInstance().addActivity(this);
162 initView(); 162 initView();
163 initData(); 163 initData();
164 initLister(); 164 initLister();
165 } 165 }
166 166
167 private void initView() { 167 private void initView() {
168 gridView = (GridView) findViewById(R.id.grideview); 168 gridView = (GridView) findViewById(R.id.grideview);
169 cancel = (ImageView) findViewById(R.id.cancel); 169 cancel = (ImageView) findViewById(R.id.cancel);
170 btn_ok = (Button) findViewById(R.id.btn_ok); 170 btn_ok = (Button) findViewById(R.id.btn_ok);
171 } 171 }
172 172
173 private void initData() { 173 private void initData() {
174 sim_adapter = new GridAdapter(defautPublishInfos, this); 174 sim_adapter = new GridAdapter(defautPublishInfos, this);
175 //配置适配器 175 //配置适配器
176 gridView.setAdapter(sim_adapter); 176 gridView.setAdapter(sim_adapter);
177 177
178 } 178 }
179 179
180 private void initLister() { 180 private void initLister() {
181 btn_ok.setOnClickListener(this); 181 btn_ok.setOnClickListener(this);
182 cancel.setOnClickListener(this); 182 cancel.setOnClickListener(this);
183 gridView.setOnItemClickListener(this); 183 gridView.setOnItemClickListener(this);
184 184
185 } 185 }
186 186
187 @Override 187 @Override
188 public void onClick(View v) { 188 public void onClick(View v) {
189 switch (v.getId()) { 189 switch (v.getId()) {
190 case R.id.btn_ok: 190 case R.id.btn_ok:
191 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 191 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
192 String regionId = SaveParam.getInstance().getsaveCityParam(ChoiseTextBookActivity.this, SaveParam.COUNTRY); 192 String regionId = SaveParam.getInstance().getsaveCityParam(ChoiseTextBookActivity.this, SaveParam.COUNTRY);
193 String regionId1 = SaveParam.getInstance().getsaveCityParam(ChoiseTextBookActivity.this, SaveParam.CITYS); 193 String regionId1 = SaveParam.getInstance().getsaveCityParam(ChoiseTextBookActivity.this, SaveParam.CITYS);
194 if (regionId == null) { 194 if (regionId == null) {
195 regionId = regionId1; 195 regionId = regionId1;
196 } 196 }
197 String grade = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.CHILDSGRADENS); 197 String grade = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.CHILDSGRADENS);
198 String schoolid = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.SCHOOOlID); 198 String schoolid = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.SCHOOOlID);
199 String name = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.USERNAME); 199 String name = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.NICKNAME);
200 String regeionname = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.ADRESS); 200 String regeionname = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.REGION);
201 String realName = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.REALNAME);
202 String address = SaveParam.getInstance().getLoginParam(ChoiseTextBookActivity.this, SaveParam.ADDRESS);
201 203
202 try { 204 try {
203 if (userID == null) { 205 if (userID == null) {
204 AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!"); 206 AlertUtils.showToast(ChoiseTextBookActivity.this, "连接超时请重新登录!");
205 207
206 } else { 208 } else {
207 Object schoolID; 209 Object schoolID;
208 long auserID = Long.parseLong(userID); 210 long auserID = Long.parseLong(userID);
209 int gradeID = Integer.parseInt(grade); 211 int gradeID = Integer.parseInt(grade);
210 long regionID = Long.parseLong(regionId); 212 long regionID = Long.parseLong(regionId);
211 if (schoolid == null) { 213 if (schoolid == null) {
212 schoolID = null; 214 schoolID = null;
213 } else { 215 } else {
214 schoolID = Long.parseLong(schoolid); 216 schoolID = Long.parseLong(schoolid);
215 } 217 }
216 218
217 //提交注册信息 219 //提交注册信息
218 HttpManager.getInstance().subregisterinfo(ChoiseTextBookActivity.this, auserID, 220 HttpManager.getInstance().subregisterinfo(ChoiseTextBookActivity.this, auserID,
219 name, gradeID, regionID, regeionname, schoolID, math, english, chinese, physics, chemistry, history, geography, political, biology, science, handler); 221 name, gradeID, regionID, regeionname, realName,address,schoolID, math, english, chinese, physics, chemistry, history, geography, political, biology, science, handler);
220 } 222 }
221 223
222 } catch (NumberFormatException e) { 224 } catch (NumberFormatException e) {
223 e.printStackTrace(); 225 e.printStackTrace();
224 } 226 }
225 227
226 break; 228 break;
227 case R.id.cancel: 229 case R.id.cancel:
228 finish(); 230 finish();
229 break; 231 break;
230 } 232 }
231 233
232 } 234 }
233 235
234 @Override 236 @Override
235 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 237 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
236 SaveParam.getInstance().saveLoginParam(this, SaveParam.SUBJECT, defautPublishInfos.get(position).getSubject()); 238 SaveParam.getInstance().saveLoginParam(this, SaveParam.SUBJECT, defautPublishInfos.get(position).getSubject());
237 VerSionDialog.getInstance(this).show(getSupportFragmentManager(), "VerSionDialog"); 239 VerSionDialog.getInstance(this).show(getSupportFragmentManager(), "VerSionDialog");
238 simpleDraweeView = (ImageView) view.findViewById(R.id.image_publish); 240 simpleDraweeView = (ImageView) view.findViewById(R.id.image_publish);
239 publish = (TextView) view.findViewById(R.id.tv_publish); 241 publish = (TextView) view.findViewById(R.id.tv_publish);
240 242
241 } 243 }
242 244
243 @Override 245 @Override
244 public void versionOnItemClick(ArrayList<VersionInfo.DataBean> data, int position, int type) { 246 public void versionOnItemClick(ArrayList<VersionInfo.DataBean> data, int position, int type) {
245 String imageurl = data.get(position).getPressCover(); 247 String imageurl = data.get(position).getPressCover();
246 String publishs = data.get(position).getPressName(); 248 String publishs = data.get(position).getPressName();
247 if (imageurl!=null&&!imageurl.isEmpty()) { 249 if (imageurl!=null&&!imageurl.isEmpty()) {
248 Picasso.with(ChoiseTextBookActivity.this).load(imageurl).into(simpleDraweeView); 250 Picasso.with(ChoiseTextBookActivity.this).load(imageurl).into(simpleDraweeView);
249 } 251 }
250 publish.setText(publishs); 252 publish.setText(publishs);
251 String subject = SaveParam.getInstance().getLoginParam(this, SaveParam.SUBJECT); 253 String subject = SaveParam.getInstance().getLoginParam(this, SaveParam.SUBJECT);
252 Log.e("test", "选择的科目" + subject); 254 Log.e("test", "选择的科目" + subject);
253 if ("语文".equals(subject)) { 255 if ("语文".equals(subject)) {
254 chinese = publishs; 256 chinese = publishs;
255 } else if ("数学".equals(subject)) { 257 } else if ("数学".equals(subject)) {
256 math = publishs; 258 math = publishs;
257 } else if ("英语".equals(subject)) { 259 } else if ("英语".equals(subject)) {
258 english = publishs; 260 english = publishs;
259 } else if ("物理".equals(subject)) { 261 } else if ("物理".equals(subject)) {
260 physics = publishs; 262 physics = publishs;
261 } else if ("化学".equals(subject)) { 263 } else if ("化学".equals(subject)) {
262 chemistry = publishs; 264 chemistry = publishs;
263 } else if ("历史".equals(subject)) { 265 } else if ("历史".equals(subject)) {
264 history = publishs; 266 history = publishs;
265 } else if ("地理".equals(subject)) { 267 } else if ("地理".equals(subject)) {
266 geography = publishs; 268 geography = publishs;
267 } else if ("政治".equals(subject)) { 269 } else if ("政治".equals(subject)) {
268 political = publishs; 270 political = publishs;
269 } else if ("生物".equals(subject)) { 271 } else if ("生物".equals(subject)) {
270 biology = publishs; 272 biology = publishs;
271 } else if ("科学".equals(subject)) { 273 } else if ("科学".equals(subject)) {
272 science = publishs; 274 science = publishs;
273 } 275 }
274 276
275 } 277 }
276 } 278 }
277 279
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardEditInfoActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.app.Dialog;
3 import android.content.Intent; 4 import android.content.Intent;
4 import android.os.Bundle; 5 import android.os.Bundle;
6 import android.os.Handler;
7 import android.os.Message;
5 import android.support.v4.app.FragmentActivity; 8 import android.support.v4.app.FragmentActivity;
6 import android.text.TextUtils; 9 import android.text.TextUtils;
10 import android.util.Log;
11 import android.view.LayoutInflater;
7 import android.view.View; 12 import android.view.View;
13 import android.view.ViewGroup;
8 import android.widget.Button; 14 import android.widget.Button;
9 import android.widget.EditText; 15 import android.widget.EditText;
10 import android.widget.ImageView; 16 import android.widget.ImageView;
11 import android.widget.LinearLayout; 17 import android.widget.LinearLayout;
12 import android.widget.TextView; 18 import android.widget.TextView;
13 19
14 import com.bigkoo.pickerview.TimePickerView; 20 import com.bigkoo.pickerview.TimePickerView;
15 import com.hjx.personalcenter.R; 21 import com.hjx.personalcenter.R;
16 import com.hjx.personalcenter.customdialog.CitysListDialog; 22 import com.hjx.personalcenter.customdialog.CitysListDialog;
17 import com.hjx.personalcenter.customdialog.CountryDialog; 23 import com.hjx.personalcenter.customdialog.CountryDialog;
18 import com.hjx.personalcenter.customdialog.ProvinceListDialog; 24 import com.hjx.personalcenter.customdialog.ProvinceListDialog;
19 import com.hjx.personalcenter.db.Content; 25 import com.hjx.personalcenter.db.Content;
20 import com.hjx.personalcenter.db.SaveParam; 26 import com.hjx.personalcenter.db.SaveParam;
27 import com.hjx.personalcenter.http.HttpCode;
28 import com.hjx.personalcenter.http.HttpManager;
21 import com.hjx.personalcenter.interfaces.DialogCallBack; 29 import com.hjx.personalcenter.interfaces.DialogCallBack;
22 import com.hjx.personalcenter.model.CityInfo; 30 import com.hjx.personalcenter.model.CityInfo;
23 import com.hjx.personalcenter.model.CountyInfo; 31 import com.hjx.personalcenter.model.CountyInfo;
32 import com.hjx.personalcenter.model.PesonalInfo;
24 import com.hjx.personalcenter.model.ProvinceInfo; 33 import com.hjx.personalcenter.model.ProvinceInfo;
25 import com.hjx.personalcenter.util.AlertUtils; 34 import com.hjx.personalcenter.util.AlertUtils;
35 import com.hjx.personalcenter.util.BrithdayStar;
26 import com.hjx.personalcenter.util.GetDate; 36 import com.hjx.personalcenter.util.GetDate;
37 import com.squareup.picasso.Picasso;
27 38
28 import java.util.ArrayList; 39 import java.util.ArrayList;
29 40
30 /**填写保卡信息 熊巍 41 /**
42 * 填写保卡信息 熊巍
31 * Created by h on 2017/8/11. 43 * Created by h on 2017/8/11.
32 */ 44 */
33 45
34 public class ElectronicCardEditInfoActivity extends FragmentActivity implements View.OnClickListener 46 public class ElectronicCardEditInfoActivity extends FragmentActivity implements View.OnClickListener
35 ,DialogCallBack.ProvincesCallBack 47 , DialogCallBack.ProvincesCallBack
36 ,DialogCallBack.CitysCallBack,DialogCallBack.CountryCallBack{ 48 , DialogCallBack.CitysCallBack, DialogCallBack.CountryCallBack {
37 private LinearLayout lineL_buy_time; 49 private LinearLayout lineL_buy_time;
38 private TextView tv_buy_time,adress_shop,adress_custem; 50 private TextView adress_shop, adress_custem;
39 private EditText username,store,detalAdress,telphone; 51 private EditText username, store, detalAdress, telphone,et_salesperson_phone;
40 private TimePickerView pvTime; 52 private TimePickerView pvTime;
41 private Button btn_change_info; 53 private Button btn_change_info,cancel_btn,go_btn;
42 private ImageView iv_card_back,shop_adress,custom_adress; 54 private ImageView iv_card_back, shop_adress, custom_adress;
55 private Dialog salesDialog;
43 56
44 @Override 57 @Override
45 protected void onCreate(Bundle savedInstanceState) { 58 protected void onCreate(Bundle savedInstanceState) {
46 super.onCreate(savedInstanceState); 59 super.onCreate(savedInstanceState);
47 setContentView(R.layout.activity_electroniccard_info); 60 setContentView(R.layout.activity_electroniccard_info);
48 SysApplication.getInstance().addActivity(this); 61 SysApplication.getInstance().addActivity(this);
49 initView(); 62 initView();
50 initData(); 63 initData();
51 initLister(); 64 initLister();
52 } 65 }
53 66
54 private void initView() { 67 private void initView() {
55 lineL_buy_time = (LinearLayout) findViewById(R.id.lineL_buy_time); 68 lineL_buy_time = (LinearLayout) findViewById(R.id.lineL_buy_time);
56 tv_buy_time = (TextView) findViewById(R.id.tv_buy_time); 69 // tv_buy_time = (TextView) findViewById(R.id.tv_buy_time);
57 adress_shop = (TextView) findViewById(R.id.tv_edit_adress_shop); 70 adress_shop = (TextView) findViewById(R.id.tv_edit_adress_shop);
58 adress_custem = (TextView) findViewById(R.id.tv_edit_adress_custem); 71 adress_custem = (TextView) findViewById(R.id.tv_edit_adress_custem);
59 username = (EditText) findViewById(R.id.et_edit_username); 72 username = (EditText) findViewById(R.id.et_edit_username);
60 store = (EditText) findViewById(R.id.et_edit_store); 73 store = (EditText) findViewById(R.id.et_edit_store);
61 detalAdress = (EditText) findViewById(R.id.et_edit_adress_detail); 74 detalAdress = (EditText) findViewById(R.id.et_edit_adress_detail);
62 telphone = (EditText) findViewById(R.id.et_edit_telphone); 75 telphone = (EditText) findViewById(R.id.et_edit_telphone);
63 btn_change_info = (Button) findViewById(R.id.btn_change_info); 76 btn_change_info = (Button) findViewById(R.id.btn_change_info);
64 iv_card_back = (ImageView) findViewById(R.id.iv_card_back); 77 iv_card_back = (ImageView) findViewById(R.id.iv_card_back);
65 shop_adress = (ImageView) findViewById(R.id.shopdizhi); 78 shop_adress = (ImageView) findViewById(R.id.shopdizhi);
66 custom_adress = (ImageView) findViewById(R.id.cunstomdizhi); 79 custom_adress = (ImageView) findViewById(R.id.cunstomdizhi);
80 et_salesperson_phone = (EditText) findViewById(R.id.et_salesperson_phone);
67 } 81 }
68 82
69 private void initData() { 83 private void initData() {
70 GetDate date = new GetDate(); 84 GetDate date = new GetDate();
71 tv_buy_time.setText(date.getYMD().toString()); 85 // tv_buy_time.setText(date.getYMD().toString());
86 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
87 long id = Long.parseLong(userID);
88 //获取个人信息
89 HttpManager.getInstance().getpresonalinfo(this, id, 1, handler);
72 90
73 } 91 }
74 92
93 Handler handler = new Handler() {
94 @Override
95 public void handleMessage(Message msg) {
96 super.handleMessage(msg);
97 switch (msg.what) {
98 case HttpCode.GETINFO:
99 PesonalInfo.DataBean cardinfoBean = (PesonalInfo.DataBean) msg.obj;
100 username.setText(cardinfoBean.getRealName());
101 adress_custem.setText(cardinfoBean.getRegion().getRegionName());
102 detalAdress.setText(cardinfoBean.getAddress());
103 break;
104 case HttpCode.SUCHCARDINFO:
105 Intent intent = new Intent();
106 intent.putExtra(SaveParam.CARDPHONE,getIntent().getStringExtra(SaveParam.CARDPHONE));
107 intent.putExtra(SaveParam.SALES_ID,msg.obj.toString());
108 intent.putExtra(SaveParam.SALES_PHONE,et_salesperson_phone.getText().toString().trim());
109 intent.setClass(ElectronicCardEditInfoActivity.this, ElectronicCardInfoOKActivity.class);
110 startActivity(intent);
111 overridePendingTransition(R.anim.rightin, R.anim.rightout);
112 break;
113 case HttpCode.NO_SALES_MAN:
114 showSwitchDialog();
115 break;
116 }
117 }
118 };
119
75 private void initLister() { 120 private void initLister() {
76 adress_shop.setOnClickListener(this); 121 adress_shop.setOnClickListener(this);
77 adress_custem.setOnClickListener(this); 122 adress_custem.setOnClickListener(this);
78 btn_change_info.setOnClickListener(this); 123 btn_change_info.setOnClickListener(this);
79 iv_card_back.setOnClickListener(this); 124 iv_card_back.setOnClickListener(this);
80 shop_adress.setOnClickListener(this); 125 shop_adress.setOnClickListener(this);
81 custom_adress.setOnClickListener(this); 126 custom_adress.setOnClickListener(this);
82 127
83 } 128 }
84 129
130 private void showSwitchDialog() {
131 //自定义部分
132 LayoutInflater mInflater = LayoutInflater.from(this);
133 View dialogView = mInflater.inflate(R.layout.sales_dialog_layout,
134 null);
135 salesDialog = new Dialog(this, R.style.CustomHintDialog);
136 cancel_btn = (Button) dialogView.findViewById(R.id.cancel_btn);
137 go_btn = (Button) dialogView.findViewById(R.id.go_btn);
138 salesDialog.addContentView(dialogView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
139 salesDialog.setCanceledOnTouchOutside(true);
140 salesDialog.show();
141 cancel_btn.setOnClickListener(this);
142 go_btn.setOnClickListener(this);
143 }
144
85 @Override 145 @Override
86 public void onClick(View v) { 146 public void onClick(View v) {
87 switch (v.getId()){ 147 switch (v.getId()) {
88 case R.id.btn_change_info: 148 case R.id.btn_change_info:
89 String info1 =username.getText().toString().trim(); 149 String info1 = username.getText().toString().trim();
90 String info2 =adress_custem.getText().toString().trim(); 150 String info2 = adress_custem.getText().toString().trim();
91 String info3 =detalAdress.getText().toString().trim(); 151 String info3 = detalAdress.getText().toString().trim();
92 String info4 =tv_buy_time.getText().toString().trim(); 152 // String info4 =tv_buy_time.getText().toString().trim();
93 String info5 =adress_shop.getText().toString().trim(); 153 String info5 = adress_shop.getText().toString().trim();
94 String info6 =store.getText().toString().trim(); 154 String info6 = store.getText().toString().trim();
95 String info7 =telphone.getText().toString().trim(); 155 String info7 = telphone.getText().toString().trim();
96 156 String info8 = et_salesperson_phone.getText().toString().trim();
97 if (TextUtils.isEmpty(info1) || TextUtils.isEmpty(info2)||TextUtils.isEmpty(info3) 157
98 ||TextUtils.isEmpty(info4)||TextUtils.isEmpty(info5)||TextUtils.isEmpty(info6) 158 if (TextUtils.isEmpty(info1) || TextUtils.isEmpty(info2) || TextUtils.isEmpty(info3)
99 ||TextUtils.isEmpty(info7)) { 159 || TextUtils.isEmpty(info5) || TextUtils.isEmpty(info6)
160 || TextUtils.isEmpty(info7)) {
100 AlertUtils.showToast(ElectronicCardEditInfoActivity.this, "所有内容不能为空。"); 161 AlertUtils.showToast(ElectronicCardEditInfoActivity.this, "所有内容不能为空。");
101 return; 162 return;
102 }else { 163 } else if(!TextUtils.isEmpty(info8) ){
164 HttpManager.getInstance().checkSalesmanPhone(this,info8,handler);
165 savedata();
166 } else{
103 savedata(); 167 savedata();
104 Intent intent = new Intent(); 168 Intent intent = new Intent();
105 intent.setClass(ElectronicCardEditInfoActivity.this,ElectronicCardInfoOKActivity.class); 169 intent.putExtra(SaveParam.CARDPHONE,getIntent().getStringExtra(SaveParam.CARDPHONE));
170 intent.setClass(ElectronicCardEditInfoActivity.this, ElectronicCardInfoOKActivity.class);
106 startActivity(intent); 171 startActivity(intent);
107 overridePendingTransition(R.anim.rightin, R.anim.rightout); 172 overridePendingTransition(R.anim.rightin, R.anim.rightout);
108 } 173 }
109 174
110 break; 175 break;
111 case R.id.tv_edit_adress_shop: 176 case R.id.tv_edit_adress_shop:
112 case R.id.shopdizhi: 177 case R.id.shopdizhi:
113 Content.adressflag =1; 178 Content.adressflag = 1;
114 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) this).show(getSupportFragmentManager(), "ProvinceListDialog"); 179 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) this).show(getSupportFragmentManager(), "ProvinceListDialog");
115 180
116 break; 181 break;
117 case R.id.tv_edit_adress_custem: 182 case R.id.tv_edit_adress_custem:
118 case R.id.cunstomdizhi: 183 case R.id.cunstomdizhi:
119 Content.adressflag =2; 184 Content.adressflag = 2;
120 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) this).show(getSupportFragmentManager(), "ProvinceListDialog"); 185 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) this).show(getSupportFragmentManager(), "ProvinceListDialog");
121 186
122 break; 187 break;
123 case R.id.iv_card_back: 188 case R.id.iv_card_back:
124 finish(); 189 finish();
125 break; 190 break;
191 case R.id.cancel_btn:
192 salesDialog.cancel();
193 break;
194 case R.id.go_btn:
195 salesDialog.cancel();
196 Intent intent = new Intent();
197 intent.putExtra(SaveParam.CARDPHONE,getIntent().getStringExtra(SaveParam.CARDPHONE));
198 intent.setClass(ElectronicCardEditInfoActivity.this, ElectronicCardInfoOKActivity.class);
199 startActivity(intent);
200 overridePendingTransition(R.anim.rightin, R.anim.rightout);
201 break;
126 202
127 } 203 }
128 204
129 205
130 } 206 }
207
131 //保存数据 208 //保存数据
132 private void savedata() { 209 private void savedata() {
133 SaveParam.getInstance().saveCustomizeParam(this,SaveParam.CUNSTEMNAME, username.getText().toString().trim()); 210 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.CUNSTEMNAME, username.getText().toString().trim());
134 SaveParam.getInstance().saveCustomizeParam(this,SaveParam.ADRESSCUNSTEM, adress_custem.getText().toString().trim()+detalAdress.getText().toString().trim()); 211 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.ADRESSCUNSTEM, adress_custem.getText().toString().trim() + detalAdress.getText().toString().trim());
135 SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPTIME, tv_buy_time.getText().toString().trim()); 212 // SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPTIME, tv_buy_time.getText().toString().trim());
136 SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPADRESS, adress_shop.getText().toString().trim()+store.getText().toString().trim()); 213 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.SHOPADRESS, adress_shop.getText().toString().trim() + store.getText().toString().trim());
137 SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPTLEPHONE, telphone.getText().toString().trim()); 214 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.SHOPTLEPHONE, telphone.getText().toString().trim());
215 SaveParam.getInstance().saveCustomizeParam(this, SaveParam.SALES_PHONE, et_salesperson_phone.getText().toString().trim());
138 216
139 } 217 }
140 218
141 @Override 219 @Override
142 public void province1OnItemClick(ArrayList<CityInfo.CitiesBean> data, int position, int type) { 220 public void province1OnItemClick(ArrayList<CityInfo.CitiesBean> data, int position, int type) {
143 String regionName = data.get(position).getRegionName(); 221 String regionName = data.get(position).getRegionName();
144 String provice = SaveParam.getInstance().getLoginParam(this,"sheng"); 222 String provice = SaveParam.getInstance().getLoginParam(this, "sheng");
145 SaveParam.getInstance().saveLoginParam(this,"shi",regionName); 223 SaveParam.getInstance().saveLoginParam(this, "shi", regionName);
146 CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog"); 224 CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog");
147 if (Content.adressflag ==1){ 225 if (Content.adressflag == 1) {
148 adress_shop.setText(""); 226 adress_shop.setText("");
149 adress_shop.setText(provice+regionName); 227 adress_shop.setText(provice + regionName);
150 }else { 228 } else {
151 adress_custem.setText(""); 229 adress_custem.setText("");
152 adress_custem.setText(provice+regionName); 230 adress_custem.setText(provice + regionName);
153 } 231 }
154 232
155 } 233 }
156 234
157 @Override 235 @Override
158 public void province2OnItemClick(ArrayList<CountyInfo.CountiesBean> data, int position, int type) { 236 public void province2OnItemClick(ArrayList<CountyInfo.CountiesBean> data, int position, int type) {
159 String regionName = data.get(position).getRegionName(); 237 String regionName = data.get(position).getRegionName();
160 String provices = SaveParam.getInstance().getLoginParam(this,"sheng"); 238 int regionId = data.get(position).getRegionId();
161 String citys = SaveParam.getInstance().getLoginParam(this,"shi"); 239 String provices = SaveParam.getInstance().getLoginParam(this, "sheng");
162 if (Content.adressflag ==1){ 240 String citys = SaveParam.getInstance().getLoginParam(this, "shi");
241 if (Content.adressflag == 1) {
163 adress_shop.setText(""); 242 adress_shop.setText("");
164 adress_shop.setText(provices+citys+regionName); 243 adress_shop.setText(provices + citys + regionName);
165 }else { 244 } else {
166 adress_custem.setText(""); 245 adress_custem.setText("");
167 adress_custem.setText(provices+citys+regionName); 246 adress_custem.setText(provices + citys + regionName);
168 } 247 }
169 248
170 249
171
172 } 250 }
173 251
174 @Override 252 @Override
175 public void provinceOnItemClick(ArrayList<ProvinceInfo.ProvincesBean> data, int position, int type) { 253 public void provinceOnItemClick(ArrayList<ProvinceInfo.ProvincesBean> data, int position, int type) {
176 String regionName = data.get(position).getRegionName(); 254 String regionName = data.get(position).getRegionName();
177 SaveParam.getInstance().saveLoginParam(this,"sheng",regionName); 255 SaveParam.getInstance().saveLoginParam(this, "sheng", regionName);
178 CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog"); 256 CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog");
179 adress_custem.setText(""); 257 // adress_custem.setText("");
180 adress_custem.setText(regionName); 258 // adress_custem.setText(regionName);
181 259
182 } 260 }
183 } 261 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardInfoOKActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.os.Bundle; 3 import android.os.Bundle;
4 import android.support.v4.app.FragmentActivity; 4 import android.support.v4.app.FragmentActivity;
5 import android.view.KeyEvent; 5 import android.view.KeyEvent;
6 import android.view.View; 6 import android.view.View;
7 import android.widget.Button; 7 import android.widget.Button;
8 import android.widget.ImageView; 8 import android.widget.ImageView;
9 import android.widget.LinearLayout;
9 import android.widget.TextView; 10 import android.widget.TextView;
11 import android.widget.Toast;
10 12
11 import com.hjx.personalcenter.R; 13 import com.hjx.personalcenter.R;
12 import com.hjx.personalcenter.db.Content; 14 import com.hjx.personalcenter.db.Content;
13 import com.hjx.personalcenter.db.SaveParam; 15 import com.hjx.personalcenter.db.SaveParam;
14 import com.hjx.personalcenter.http.HttpManager; 16 import com.hjx.personalcenter.http.HttpManager;
15 import com.hjx.personalcenter.util.GetDevicesUtil; 17 import com.hjx.personalcenter.util.GetDevicesUtil;
16 18
17 /**确认保卡信息 19 /**确认保卡信息
18 * Created by h on 2017/8/11. 20 * Created by h on 2017/8/11.
19 */ 21 */
20 22
21 public class ElectronicCardInfoOKActivity extends FragmentActivity implements View.OnClickListener { 23 public class ElectronicCardInfoOKActivity extends FragmentActivity implements View.OnClickListener {
22 private Button btn_finish,btn_bangding; 24 private Button btn_finish,btn_bangding;
23 private ImageView iv_last_step; 25 private ImageView iv_last_step;
24 private TextView usename,deviceModel,customer_address,mac_adress,shoptime,deviceNumber,shopadress,phone,tlePhone; 26 private TextView usename,deviceModel,customer_address,mac_adress,deviceNumber,shopadress,phone,tlePhone,tv_salesperson_phone;
27 private LinearLayout salesperson_phone_layout;
28 private String salesId;
25 @Override 29 @Override
26 protected void onCreate(Bundle savedInstanceState) { 30 protected void onCreate(Bundle savedInstanceState) {
27 super.onCreate(savedInstanceState); 31 super.onCreate(savedInstanceState);
28 setContentView(R.layout.activity_ok_cardinfo); 32 setContentView(R.layout.activity_ok_cardinfo);
29 SysApplication.getInstance().addActivity(this); 33 SysApplication.getInstance().addActivity(this);
30 initView(); 34 initView();
31 initData(); 35 initData();
32 initLister(); 36 initLister();
33 } 37 }
34 private void initView() { 38 private void initView() {
35 btn_finish = (Button) findViewById(R.id.btn_finish); 39 btn_finish = (Button) findViewById(R.id.btn_finish);
36 iv_last_step = (ImageView) findViewById(R.id.cancel); 40 iv_last_step = (ImageView) findViewById(R.id.cancel);
37 usename = (TextView) findViewById(R.id.iv_card_username); 41 usename = (TextView) findViewById(R.id.iv_card_username);
38 deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel); 42 deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel);
39 customer_address = (TextView) findViewById(R.id.tv_card_adress); 43 customer_address = (TextView) findViewById(R.id.tv_card_adress);
40 mac_adress = (TextView) findViewById(R.id.tv_card_mac); 44 mac_adress = (TextView) findViewById(R.id.tv_card_mac);
41 shoptime = (TextView) findViewById(R.id.tv_card_time); 45 // shoptime = (TextView) findViewById(R.id.tv_card_time);
42 deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber); 46 deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber);
43 shopadress = (TextView) findViewById(R.id.tv_card_shopAdress); 47 shopadress = (TextView) findViewById(R.id.tv_card_shopAdress);
44 phone = (TextView) findViewById(R.id.tv_card_phone); 48 phone = (TextView) findViewById(R.id.tv_card_phone);
45 tlePhone = (TextView) findViewById(R.id.tv_card_tleNember); 49 tlePhone = (TextView) findViewById(R.id.tv_card_tleNember);
46 btn_bangding = (Button) findViewById(R.id.btn_bangding); 50 btn_bangding = (Button) findViewById(R.id.btn_bangding);
51 tv_salesperson_phone = (TextView) findViewById(R.id.tv_salesperson_phone);
52 salesperson_phone_layout = (LinearLayout) findViewById(R.id.salesperson_phone_layout);
47 } 53 }
48 54
49 private void initData() { 55 private void initData() {
56 salesId=getIntent().getStringExtra(SaveParam.SALES_ID);
57
50 //获取设备信息 58 //获取设备信息
51 deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel()); 59 deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel());
52 deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber()); 60 deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber());
53 mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac()); 61 mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac());
54 //获取保卡信息 62 //获取保卡信息
55 usename.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CUNSTEMNAME)); 63 usename.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CUNSTEMNAME));
56 customer_address.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.ADRESSCUNSTEM)); 64 customer_address.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.ADRESSCUNSTEM));
57 shoptime.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTIME)); 65 // shoptime.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTIME));
58 shopadress.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPADRESS)); 66 shopadress.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPADRESS));
59 tlePhone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTLEPHONE)); 67 tlePhone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTLEPHONE));
60 phone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CARDPHONE)); 68 phone.setText(getIntent().getStringExtra(SaveParam.CARDPHONE));
61 69 if (salesId != null && !salesId.isEmpty()) {
70 tv_salesperson_phone.setText(getIntent().getStringExtra(SaveParam.SALES_PHONE));
71 }else{
72 salesperson_phone_layout.setVisibility(View.INVISIBLE);
73 }
62 74
63 } 75 }
64 76
65 private void initLister() { 77 private void initLister() {
66 iv_last_step.setOnClickListener(this); 78 iv_last_step.setOnClickListener(this);
67 btn_finish.setOnClickListener(this); 79 btn_finish.setOnClickListener(this);
68 btn_bangding.setOnClickListener(this); 80 btn_bangding.setOnClickListener(this);
69 } 81 }
70 82
71 @Override 83 @Override
72 public void onClick(View v) { 84 public void onClick(View v) {
73 String userID = SaveParam.getInstance().getLoginParam(this,"userId"); 85 String userID = SaveParam.getInstance().getLoginParam(this,"userId");
74 long auserID = 0; 86 long auserID = 0;
75 switch (v.getId()){ 87 switch (v.getId()){
76 case R.id.btn_finish: 88 case R.id.btn_finish:
77 Content.cardintentflag =1; 89 Content.cardintentflag =1;
78 try { 90 try {
79 auserID = Long.parseLong(userID); 91 auserID = Long.parseLong(userID);
80 } catch (NumberFormatException e) { 92 } catch (NumberFormatException e) {
81 e.printStackTrace(); 93 e.printStackTrace();
82 } 94 }
95
83 HttpManager.getInstance().subcardinfo(this,auserID,usename.getText().toString().trim(), 96 HttpManager.getInstance().subcardinfo(this,auserID,usename.getText().toString().trim(),
84 customer_address.getText().toString().trim(),shopadress.getText().toString().trim(), 97 customer_address.getText().toString().trim(),shopadress.getText().toString().trim(),
85 shoptime.getText().toString().trim(),tlePhone.getText().toString().trim(), 98 tlePhone.getText().toString().trim(),
86 deviceModel.getText().toString().trim(),deviceNumber.getText().toString().trim(), 99 deviceModel.getText().toString().trim(),deviceNumber.getText().toString().trim(),
87 mac_adress.getText().toString().trim(),phone.getText().toString().trim()); 100 mac_adress.getText().toString().trim(),phone.getText().toString().trim(),
101 SaveParam.getInstance().getsaveCityParam(this,SaveParam.COUNTRY), salesId);
88 break; 102 break;
89 case R.id.btn_bangding: 103 case R.id.btn_bangding:
90 Content.cardintentflag =2; 104 Content.cardintentflag =2;
91 try { 105 try {
92 auserID = Long.parseLong(userID); 106 auserID = Long.parseLong(userID);
93 } catch (NumberFormatException e) { 107 } catch (NumberFormatException e) {
94 e.printStackTrace(); 108 e.printStackTrace();
95 } 109 }
96 HttpManager.getInstance().subcardinfo(this,auserID,usename.getText().toString().trim(), 110 HttpManager.getInstance().subcardinfo(this,auserID,usename.getText().toString().trim(),
97 customer_address.getText().toString().trim(),shopadress.getText().toString().trim(), 111 customer_address.getText().toString().trim(),shopadress.getText().toString().trim(),
98 shoptime.getText().toString().trim(),tlePhone.getText().toString().trim(), 112 tlePhone.getText().toString().trim(),
99 deviceModel.getText().toString().trim(),deviceNumber.getText().toString().trim(), 113 deviceModel.getText().toString().trim(),deviceNumber.getText().toString().trim(),
100 mac_adress.getText().toString().trim(),phone.getText().toString().trim()); 114 mac_adress.getText().toString().trim(),phone.getText().toString().trim(),
115 SaveParam.getInstance().getsaveCityParam(this,SaveParam.COUNTRY),salesId);
101 116
102 break; 117 break;
103 case R.id.cancel: 118 case R.id.cancel:
104 finish(); 119 finish();
105 break; 120 break;
106 } 121 }
107 } 122 }
108 @Override 123 // @Override
109 public boolean onKeyDown(int keyCode, KeyEvent event) { 124 // public boolean onKeyDown(int keyCode, KeyEvent event) {
110 if (keyCode == KeyEvent.KEYCODE_BACK) { 125 // if (keyCode == KeyEvent.KEYCODE_BACK) {
111 SaveParam.getInstance().saveCustomizeParam(ElectronicCardInfoOKActivity.this,SaveParam.CARDPHONE,""); 126 // SaveParam.getInstance().saveCustomizeParam(ElectronicCardInfoOKActivity.this,SaveParam.CARDPHONE,"");
112 return false;//return true;拦截事件传递,从而屏蔽back键。 127 // return false;//return true;拦截事件传递,从而屏蔽back键。
113 } 128 // }
114 if (KeyEvent.KEYCODE_HOME == keyCode) { 129 // if (KeyEvent.KEYCODE_HOME == keyCode) {
115 SaveParam.getInstance().saveCustomizeParam(ElectronicCardInfoOKActivity.this,SaveParam.CARDPHONE,""); 130 // SaveParam.getInstance().saveCustomizeParam(ElectronicCardInfoOKActivity.this,SaveParam.CARDPHONE,"");
116 return false;//同理 131 // return false;//同理
117 } 132 // }
118 return super.onKeyDown(keyCode, event); 133 // return super.onKeyDown(keyCode, event);
119 } 134 // }
120 135
121 } 136 }
122 137
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardLookInfoActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Build;
4 import android.os.Bundle; 5 import android.os.Bundle;
5 import android.os.Handler; 6 import android.os.Handler;
6 import android.os.Message; 7 import android.os.Message;
7 import android.support.v4.app.FragmentActivity; 8 import android.support.v4.app.FragmentActivity;
8 import android.view.View; 9 import android.view.View;
9 import android.widget.ImageView; 10 import android.widget.ImageView;
10 import android.widget.TextView; 11 import android.widget.TextView;
11 12
12 import com.hjx.personalcenter.R; 13 import com.hjx.personalcenter.R;
13 import com.hjx.personalcenter.db.Content; 14 import com.hjx.personalcenter.db.Content;
14 import com.hjx.personalcenter.db.SaveParam; 15 import com.hjx.personalcenter.db.SaveParam;
15 import com.hjx.personalcenter.http.HttpCode; 16 import com.hjx.personalcenter.http.HttpCode;
16 import com.hjx.personalcenter.http.HttpManager; 17 import com.hjx.personalcenter.http.HttpManager;
17 import com.hjx.personalcenter.model.CardInfo; 18 import com.hjx.personalcenter.model.CardInfo;
18 import com.hjx.personalcenter.util.AlertUtils; 19 import com.hjx.personalcenter.util.AlertUtils;
19 import com.hjx.personalcenter.util.GetDevicesUtil; 20 import com.hjx.personalcenter.util.GetDevicesUtil;
20 21
21 import java.util.ArrayList; 22 import java.util.ArrayList;
22 23
23 /** 24 /**
24 * Created by h on 2017/8/11. 25 * Created by h on 2017/8/11.
25 */ 26 */
26 27
27 public class ElectronicCardLookInfoActivity extends FragmentActivity implements View.OnClickListener { 28 public class ElectronicCardLookInfoActivity extends FragmentActivity implements View.OnClickListener {
28 private ImageView iv_last_step; 29 private ImageView iv_last_step;
29 private TextView usename, deviceModel, customer_address, mac_adress, shoptime, deviceNumber, 30 private TextView usename, deviceModel, customer_address, mac_adress, shoptime, deviceNumber,
30 shopadress, phone, tlePhone, tv_card_adress_change, tv_card_phone_change; 31 shopadress, phone, tlePhone, tv_card_adress_change, tv_card_phone_change,service_phone;
31 private ArrayList<CardInfo.DataBean> data = new ArrayList<>(); 32 private ArrayList<CardInfo.DataBean> data = new ArrayList<>();
32 33
33 Handler handler = new Handler() { 34 Handler handler = new Handler() {
34 @Override 35 @Override
35 public void handleMessage(Message msg) { 36 public void handleMessage(Message msg) {
36 super.handleMessage(msg); 37 super.handleMessage(msg);
37 switch (msg.what) { 38 switch (msg.what) {
38 39
39 case HttpCode.SUCHCARDINFO: 40 case HttpCode.SUCHCARDINFO:
40 CardInfo.DataBean cardinfoBean = (CardInfo.DataBean) msg.obj; 41 CardInfo.DataBean cardinfoBean = (CardInfo.DataBean) msg.obj;
41 if (cardinfoBean != null) { 42 if (cardinfoBean != null) {
42 //获取设备信息 43 //获取设备信息
43 deviceModel.setText(cardinfoBean.getProductModel()); 44 deviceModel.setText(cardinfoBean.getProductModel());
44 deviceNumber.setText(cardinfoBean.getDeviceNumber()); 45 deviceNumber.setText(cardinfoBean.getDeviceNumber());
45 mac_adress.setText(cardinfoBean.getMacAddress()); 46 mac_adress.setText(cardinfoBean.getMacAddress());
46 //获取保卡信息 47 //获取保卡信息
47 usename.setText(cardinfoBean.getCustomerName()); 48 usename.setText(cardinfoBean.getCustomerName());
48 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.CUNSTEMNAME, cardinfoBean.getCustomerName()); 49 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.CUNSTEMNAME, cardinfoBean.getCustomerName());
49 customer_address.setText(cardinfoBean.getCustomerAddress()); 50 customer_address.setText(cardinfoBean.getCustomerAddress());
50 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.ADRESSCUNSTEM, cardinfoBean.getCustomerAddress()); 51 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.ADRESSCUNSTEM, cardinfoBean.getCustomerAddress());
51 shoptime.setText(cardinfoBean.getBuyTime()); 52 shoptime.setText(cardinfoBean.getBuyTime());
52 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.SHOPTIME, cardinfoBean.getBuyTime()); 53 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.SHOPTIME, cardinfoBean.getBuyTime());
53 shopadress.setText(cardinfoBean.getBuyAddress()); 54 shopadress.setText(cardinfoBean.getBuyAddress());
54 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.SHOPADRESS, cardinfoBean.getBuyAddress()); 55 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.SHOPADRESS, cardinfoBean.getBuyAddress());
55 tlePhone.setText(cardinfoBean.getAlterSaleCall()); 56 tlePhone.setText(cardinfoBean.getAlterSaleCall());
56 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.SHOPTLEPHONE, cardinfoBean.getMobilePhone()); 57 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.SHOPTLEPHONE, cardinfoBean.getMobilePhone());
57 phone.setText(cardinfoBean.getMobilePhone()); 58 phone.setText(cardinfoBean.getMobilePhone());
58 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.CARDPHONE, cardinfoBean.getMobilePhone() ); 59 SaveParam.getInstance().saveCustomizeParam(ElectronicCardLookInfoActivity.this,SaveParam.CARDPHONE, cardinfoBean.getMobilePhone() );
59 initData(); 60 initData();
60 }else { 61 }else {
61 AlertUtils.showToast(ElectronicCardLookInfoActivity.this,"您的机器还没有保卡信息,请重新登录"); 62 AlertUtils.showToast(ElectronicCardLookInfoActivity.this,"您的机器还没有保卡信息,请重新登录");
62 } 63 }
63 64
64 break; 65 break;
65 66
66 } 67 }
67 68
68 } 69 }
69 }; 70 };
70 71
71 @Override 72 @Override
72 protected void onCreate(Bundle savedInstanceState) { 73 protected void onCreate(Bundle savedInstanceState) {
73 super.onCreate(savedInstanceState); 74 super.onCreate(savedInstanceState);
74 setContentView(R.layout.activity_electronic_look_cardinfo); 75 setContentView(R.layout.activity_electronic_look_cardinfo);
75 initView(); 76 initView();
76 initData(); 77 initData();
77 initLister(); 78 initLister();
78 } 79 }
79 80
80 @Override 81 @Override
81 protected void onResume() { 82 protected void onResume() {
82 super.onResume(); 83 super.onResume();
83 String deviceNumber = GetDevicesUtil.getDevicesInfo(ElectronicCardLookInfoActivity.this).getDeviceNumber(); 84 String deviceNumber = GetDevicesUtil.getDevicesInfo(ElectronicCardLookInfoActivity.this).getDeviceNumber();
84 HttpManager.getInstance().getcardinfo(this, deviceNumber, handler); 85 HttpManager.getInstance().getcardinfo(this, deviceNumber, handler);
85 } 86 }
86 87
87 private void initView() { 88 private void initView() {
88 usename = (TextView) findViewById(R.id.iv_card_username); 89 usename = (TextView) findViewById(R.id.iv_card_username);
89 iv_last_step = (ImageView) findViewById(R.id.cancel); 90 iv_last_step = (ImageView) findViewById(R.id.cancel);
90 deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel); 91 deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel);
91 customer_address = (TextView) findViewById(R.id.tv_card_adress); 92 customer_address = (TextView) findViewById(R.id.tv_card_adress);
92 mac_adress = (TextView) findViewById(R.id.tv_card_mac); 93 mac_adress = (TextView) findViewById(R.id.tv_card_mac);
93 shoptime = (TextView) findViewById(R.id.tv_card_time); 94 shoptime = (TextView) findViewById(R.id.tv_card_time);
94 deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber); 95 deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber);
95 shopadress = (TextView) findViewById(R.id.tv_card_shopAdress); 96 shopadress = (TextView) findViewById(R.id.tv_card_shopAdress);
96 phone = (TextView) findViewById(R.id.tv_card_phone); 97 phone = (TextView) findViewById(R.id.tv_card_phone);
97 tlePhone = (TextView) findViewById(R.id.tv_card_tleNember); 98 tlePhone = (TextView) findViewById(R.id.tv_card_tleNember);
98 tv_card_adress_change = (TextView) findViewById(R.id.tv_card_adress_change); 99 tv_card_adress_change = (TextView) findViewById(R.id.tv_card_adress_change);
99 tv_card_phone_change = (TextView) findViewById(R.id.tv_card_phone_change); 100 tv_card_phone_change = (TextView) findViewById(R.id.tv_card_phone_change);
101 service_phone = (TextView) findViewById(R.id.service_phone);
102 if(Build.MODEL.equals("T5 PLUS"))
103 service_phone.setText("400-158-8738") ;
104 else
105 service_phone.setText("400-800-3813");
106
100 } 107 }
101 108
102 private void initData() { 109 private void initData() {
103 110
104 // //获取设备信息 111 // //获取设备信息
105 // deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel()); 112 // deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel());
106 // deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber()); 113 // deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber());
107 // mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac()); 114 // mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac());
108 // //获取保卡信息 115 // //获取保卡信息
109 // usename.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CUNSTEMNAME)); 116 // usename.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CUNSTEMNAME));
110 // customer_address.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.ADRESSCUNSTEM)); 117 // customer_address.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.ADRESSCUNSTEM));
111 // shoptime.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTIME)); 118 // shoptime.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTIME));
112 // shopadress.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPADRESS)); 119 // shopadress.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPADRESS));
113 // tlePhone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTLEPHONE)); 120 // tlePhone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTLEPHONE));
114 // phone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CARDPHONE)); 121 // phone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CARDPHONE));
115 122
116 123
117 } 124 }
118 125
119 private void initLister() { 126 private void initLister() {
120 tv_card_adress_change.setOnClickListener(this); 127 tv_card_adress_change.setOnClickListener(this);
121 tv_card_phone_change.setOnClickListener(this); 128 tv_card_phone_change.setOnClickListener(this);
122 iv_last_step.setOnClickListener(this); 129 iv_last_step.setOnClickListener(this);
123 } 130 }
124 131
125 @Override 132 @Override
126 public void onClick(View v) { 133 public void onClick(View v) {
127 switch (v.getId()) { 134 switch (v.getId()) {
128 case R.id.tv_card_adress_change: 135 case R.id.tv_card_adress_change:
129 Intent intent = new Intent(); 136 Intent intent = new Intent();
130 intent.setClass(this, ChangeElectronicCardAdressInfoActivity.class); 137 intent.setClass(this, ChangeElectronicCardAdressInfoActivity.class);
131 startActivity(intent); 138 startActivity(intent);
132 overridePendingTransition(R.anim.rightin, R.anim.rightout); 139 overridePendingTransition(R.anim.rightin, R.anim.rightout);
133 140
134 break; 141 break;
135 case R.id.tv_card_phone_change: 142 case R.id.tv_card_phone_change:
136 Content.authcodeflag = 2; 143 Content.authcodeflag = 2;
137 Intent intent1 = new Intent(); 144 Intent intent1 = new Intent();
138 intent1.setClass(this, ElectronicCardValidationActivity.class); 145 intent1.setClass(this, ElectronicCardValidationActivity.class);
139 startActivity(intent1); 146 startActivity(intent1);
140 overridePendingTransition(R.anim.rightin, R.anim.rightout); 147 overridePendingTransition(R.anim.rightin, R.anim.rightout);
141 148
142 149
143 break; 150 break;
144 case R.id.cancel: 151 case R.id.cancel:
145 finish(); 152 finish();
146 break; 153 break;
147 } 154 }
148 } 155 }
149 156
150 } 157 }
151 158
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ElectronicCardValidationActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Build;
4 import android.os.Bundle; 5 import android.os.Bundle;
5 import android.os.Handler; 6 import android.os.Handler;
6 import android.os.Message; 7 import android.os.Message;
7 import android.support.v4.app.FragmentActivity; 8 import android.support.v4.app.FragmentActivity;
9 import android.text.Editable;
8 import android.text.TextUtils; 10 import android.text.TextUtils;
11 import android.text.TextWatcher;
9 import android.view.View; 12 import android.view.View;
10 import android.widget.Button; 13 import android.widget.Button;
11 import android.widget.EditText; 14 import android.widget.EditText;
15 import android.widget.ImageButton;
12 import android.widget.ImageView; 16 import android.widget.ImageView;
17 import android.widget.LinearLayout;
13 import android.widget.TextView; 18 import android.widget.TextView;
14 19
15 import com.hjx.personalcenter.R; 20 import com.hjx.personalcenter.R;
16 import com.hjx.personalcenter.db.Content; 21 import com.hjx.personalcenter.db.Content;
17 import com.hjx.personalcenter.db.SaveParam; 22 import com.hjx.personalcenter.db.SaveParam;
18 import com.hjx.personalcenter.http.HttpCode; 23 import com.hjx.personalcenter.http.HttpCode;
19 import com.hjx.personalcenter.http.HttpManager; 24 import com.hjx.personalcenter.http.HttpManager;
20 import com.hjx.personalcenter.util.AlertUtils; 25 import com.hjx.personalcenter.util.AlertUtils;
21 import com.hjx.personalcenter.util.GetDevicesUtil; 26 import com.hjx.personalcenter.util.GetDevicesUtil;
22 import com.hjx.personalcenter.util.PhoneNumCheckUtils; 27 import com.hjx.personalcenter.util.PhoneNumCheckUtils;
23 28
29 import org.json.JSONException;
24 import org.json.JSONObject; 30 import org.json.JSONObject;
25 31
26 import java.util.TimerTask; 32 import java.util.TimerTask;
27 33
28 /** 34 /**
29 * Created by h on 2017/8/9. 35 * Created by h on 2017/8/9.
30 */ 36 */
31 37
32 public class ElectronicCardValidationActivity extends FragmentActivity implements View.OnClickListener { 38 public class ElectronicCardValidationActivity extends FragmentActivity implements View.OnClickListener {
33 private Button btn_card_valiyanzhen,get_authcode; 39 private Button btn_card_valiyanzhen, get_authcode;
34 private EditText phonenumber,anth_6num;//;//密码 40 private EditText phonenumber, anth_6num, activation_code;//;//密码
41 private ImageButton phone_delete_btn, code_delete_btn, activation_code_delete_btn;
35 private TextView menu_title; 42 private TextView menu_title;
36 private ImageView cancel; 43 private ImageView cancel;
37 private int delayTime=60; 44 private int delayTime = 60;
45 private LinearLayout rl_authcode, activation_code_layout;
38 private java.util.Timer Delaytimer; 46 private java.util.Timer Delaytimer;
39 private String sourceStr ="android"; 47 private String sourceStr = "android";
40 private String typeStr = "general"; 48 private String typeStr = "general";
41 String authcode = ""; 49 String authcode = "";
42 Handler handler = new Handler() { 50 Handler handler = new Handler() {
43 @Override 51 @Override
44 public void handleMessage(Message msg) { 52 public void handleMessage(Message msg) {
45 super.handleMessage(msg); 53 super.handleMessage(msg);
46 JSONObject jsonObject; 54 JSONObject jsonObject;
47 String status; 55 String status;
48 switch (msg.what) { 56 switch (msg.what) {
49 case HttpCode.AUTHCODE_SUCESS: 57 case HttpCode.AUTHCODE_SUCESS:
50 jsonObject = (JSONObject) msg.obj; 58 jsonObject = (JSONObject) msg.obj;
51 status = jsonObject.optString("status"); 59 status = jsonObject.optString("status");
52 authcode = jsonObject.optString("jsessionid"); 60 authcode = jsonObject.optString("jsessionid");
53 if (status.equals("100")) { 61 if (status.equals("100")) {
54 AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送成功"); 62 AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送成功");
55 } 63 }
56 64
57 break; 65 break;
58 case HttpCode.AUTHCODE_FAIL: 66 case HttpCode.AUTHCODE_FAIL:
59 AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送失败"); 67 AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送失败");
60 break; 68 break;
61 case 21: 69 case 21:
62 if(delayTime<=0){ 70 if (delayTime <= 0) {
63 if(Delaytimer!=null){ 71 if (Delaytimer != null) {
64 Delaytimer.cancel(); 72 Delaytimer.cancel();
65 }
66 get_authcode.setEnabled(true);
67 get_authcode.setClickable(true);
68 get_authcode.setText("获取验证码");
69 delayTime=60;
70 }else{
71 get_authcode.setEnabled(false);
72 get_authcode.setClickable(false);
73 get_authcode.setText(delayTime + " s");
74 } 73 }
75 break; 74 get_authcode.setEnabled(true);
76 } 75 get_authcode.setClickable(true);
76 get_authcode.setText("获取验证码");
77 delayTime = 60;
78 } else {
79 get_authcode.setEnabled(false);
80 get_authcode.setClickable(false);
81 get_authcode.setText(delayTime + " s");
82 }
83 break;
84 case HttpCode.ACTIVATION_SUCCESS:
85 jsonObject = (JSONObject) msg.obj;
86 status = jsonObject.optString("status");
87 if(status.equals("1")){
88 AlertUtils.showToast(ElectronicCardValidationActivity.this, "激活成功");
89 String phone = phonenumber.getText().toString().trim();
90 Intent intent = new Intent();
91 intent.putExtra(SaveParam.CARDPHONE, phone);
92 intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class);
93 startActivity(intent);
94 overridePendingTransition(R.anim.rightin, R.anim.rightout);
95 }else if(status.equals("5001")){
96 AlertUtils.showToast(ElectronicCardValidationActivity.this, "激活码无效");
97 }else if(status.equals("0")){
98 AlertUtils.showToast(ElectronicCardValidationActivity.this, "无法链接到服务器,请检查您的网络或稍后重试");
99 }
100 break;
101 }
77 } 102 }
78 }; 103 };
104
79 @Override 105 @Override
80 protected void onCreate(Bundle savedInstanceState) { 106 protected void onCreate(Bundle savedInstanceState) {
81 super.onCreate(savedInstanceState); 107 super.onCreate(savedInstanceState);
82 setContentView(R.layout.activity_electroniccard_validation); 108 setContentView(R.layout.activity_electroniccard_validation);
83 SysApplication.getInstance().addActivity(this); 109 SysApplication.getInstance().addActivity(this);
84 initView(); 110 initView();
85 initData(); 111 initData();
86 initLister(); 112 initLister();
113 initTextWatch();
87 } 114 }
88 115
89 private void initView() { 116 private void initView() {
90 btn_card_valiyanzhen = (Button) findViewById(R.id.btn_card_valiyanzhen); 117 btn_card_valiyanzhen = (Button) findViewById(R.id.btn_card_valiyanzhen);
91 get_authcode = (Button) findViewById(R.id.btn_authcode); 118 get_authcode = (Button) findViewById(R.id.btn_authcode);
92 anth_6num = (EditText) findViewById(R.id.et_authcode); 119 anth_6num = (EditText) findViewById(R.id.et_authcode);
93 phonenumber = (EditText) findViewById(R.id.et_phonenumber); 120 phonenumber = (EditText) findViewById(R.id.et_phonenumber);
121 activation_code = (EditText) findViewById(R.id.activation_code);
94 menu_title = (TextView) findViewById(R.id.menu_title); 122 menu_title = (TextView) findViewById(R.id.menu_title);
95 cancel = (ImageView) findViewById(R.id.cancel); 123 cancel = (ImageView) findViewById(R.id.cancel);
124 code_delete_btn = (ImageButton) findViewById(R.id.code_delete_btn);
125 phone_delete_btn = (ImageButton) findViewById(R.id.phone_delete_btn);
126 activation_code_delete_btn = (ImageButton) findViewById(R.id.activation_code_delete_btn);
127 rl_authcode = (LinearLayout) findViewById(R.id.rl_authcode);
128 activation_code_layout = (LinearLayout) findViewById(R.id.activation_code_layout);
96 } 129 }
97 130
98 private void initData() { 131 private void initData() {
99 if (Content.authcodeflag==1){ 132 phonenumber.setText(SaveParam.getInstance().getLoginParam(this, "username"));
133 if (Content.authcodeflag == 1) {
100 menu_title.setText("更换绑定"); 134 menu_title.setText("更换绑定");
101 btn_card_valiyanzhen.setText("确定"); 135 btn_card_valiyanzhen.setText("确定");
102 136 phonenumber.setText("");
103 }else if (Content.authcodeflag==2){ 137 rl_authcode.setVisibility(View.VISIBLE);
138 } else if (Content.authcodeflag == 2) {
104 menu_title.setText("修改保卡信息"); 139 menu_title.setText("修改保卡信息");
105 btn_card_valiyanzhen.setText("确定"); 140 btn_card_valiyanzhen.setText("确定");
106 141 rl_authcode.setVisibility(View.VISIBLE);
107 }else { 142 anth_6num.requestFocus();
108 menu_title.setText("填写保卡信息"); 143 } else {
144 if (Build.MODEL.toUpperCase().equals("T5 PLUS")) {//T5 PLUS需要输入注册激活码
145 menu_title.setText("激活机器并确认绑定保卡的手机号");
146 activation_code_layout.setVisibility(View.VISIBLE);
147 } else {
148 menu_title.setText("确认绑定保卡的手机号");
149 activation_code_layout.setVisibility(View.GONE);
150 }
109 btn_card_valiyanzhen.setText("下一步"); 151 btn_card_valiyanzhen.setText("下一步");
152 anth_6num.requestFocus();
110 } 153 }
111 154
112 155
113
114 } 156 }
115 157
116 private void initLister() { 158 private void initLister() {
117 get_authcode.setOnClickListener(this); 159 get_authcode.setOnClickListener(this);
118 btn_card_valiyanzhen.setOnClickListener(this); 160 btn_card_valiyanzhen.setOnClickListener(this);
119 cancel.setOnClickListener(this); 161 cancel.setOnClickListener(this);
162 phone_delete_btn.setOnClickListener(this);
163 code_delete_btn.setOnClickListener(this);
164 activation_code_delete_btn.setOnClickListener(this);
165
166 }
167
168 /**
169 * 输入框改变的监听
170 */
171 private void initTextWatch() {
172 phonenumber.addTextChangedListener(new TextWatcher() {
173 @Override
174 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
175 }
176
177 @Override
178 public void onTextChanged(CharSequence s, int start, int before, int count) {
179 if (s.toString().length() == 0) {
180 phone_delete_btn.setVisibility(View.INVISIBLE);
181 } else {
182 phone_delete_btn.setVisibility(View.VISIBLE);
183 }
184 if (Build.MODEL.toUpperCase().equals("T5 PLUS")) {
185 if (!menu_title.getText().toString().equals("激活机器并确认绑定保卡的手机号") || s.toString().length() == 0 || !s.toString().equals(SaveParam.getInstance().getLoginParam(ElectronicCardValidationActivity.this, "username"))) {
186 rl_authcode.setVisibility(View.VISIBLE);
187 } else {
188 rl_authcode.setVisibility(View.GONE);
189 }
190 } else {
191 if (!menu_title.getText().toString().equals("确认绑定保卡的手机号") || s.toString().length() == 0 || !s.toString().equals(SaveParam.getInstance().getLoginParam(ElectronicCardValidationActivity.this, "username"))) {
192 rl_authcode.setVisibility(View.VISIBLE);
193 } else {
194 rl_authcode.setVisibility(View.GONE);
195 }
196 }
197 }
198
199 @Override
200 public void afterTextChanged(Editable s) {
201
202 }
203 });
204 phonenumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
205 @Override
206 public void onFocusChange(View v, boolean hasFocus) {
207 if (hasFocus) {
208 if (!phonenumber.getText().toString().isEmpty()) {
209 phone_delete_btn.setVisibility(View.VISIBLE);
210 }
211 } else {
212
213 phone_delete_btn.setVisibility(View.INVISIBLE);
214 }
215 }
216 });
217 anth_6num.addTextChangedListener(new TextWatcher() {
218 @Override
219 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
220
221 }
120 222
223 @Override
224 public void onTextChanged(CharSequence s, int start, int before, int count) {
225 if (s.toString().length() == 0) {
226
227 code_delete_btn.setVisibility(View.INVISIBLE);
228 } else {
229 code_delete_btn.setVisibility(View.VISIBLE);
230 }
231 }
232
233 @Override
234 public void afterTextChanged(Editable s) {
235
236 }
237 });
238 anth_6num.setOnFocusChangeListener(new View.OnFocusChangeListener() {
239 @Override
240 public void onFocusChange(View v, boolean hasFocus) {
241 if (hasFocus) {
242 if (!anth_6num.getText().toString().isEmpty()) {
243 code_delete_btn.setVisibility(View.VISIBLE);
244 }
245 } else {
246 code_delete_btn.setVisibility(View.INVISIBLE);
247 }
248 }
249 });
250 activation_code.addTextChangedListener(new TextWatcher() {
251 @Override
252 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
253
254 }
255
256 @Override
257 public void onTextChanged(CharSequence s, int start, int before, int count) {
258 if (s.toString().length() == 0) {
259
260 activation_code_delete_btn.setVisibility(View.INVISIBLE);
261 } else {
262 activation_code_delete_btn.setVisibility(View.VISIBLE);
263 }
264 }
265
266 @Override
267 public void afterTextChanged(Editable s) {
268
269 }
270 });
271 activation_code.setOnFocusChangeListener(new View.OnFocusChangeListener() {
272 @Override
273 public void onFocusChange(View v, boolean hasFocus) {
274 if (hasFocus) {
275 if (!activation_code.getText().toString().isEmpty()) {
276 activation_code_delete_btn.setVisibility(View.VISIBLE);
277 }
278 } else {
279 activation_code_delete_btn.setVisibility(View.INVISIBLE);
280 }
281 }
282 });
121 } 283 }
122 284
123 @Override 285 @Override
124 public void onClick(View v) { 286 public void onClick(View v) {
125 switch (v.getId()){ 287 switch (v.getId()) {
126 case R.id.btn_card_valiyanzhen: 288 case R.id.btn_card_valiyanzhen:
127 289 String userID22 = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber();
128 String usernameStr = phonenumber.getText().toString().trim(); 290 String usernameStr = phonenumber.getText().toString().trim();
129 String authcodeStr = anth_6num.getText().toString().trim(); 291 String authcodeStr = anth_6num.getText().toString().trim();
130 if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)) { 292 String activationStr = activation_code.getText().toString().trim();
131 AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号,和验证码不能为空"); 293 if (TextUtils.isEmpty(usernameStr)) {
294 AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号不能为空");
132 return; 295 return;
133 } else if (!PhoneNumCheckUtils.isPhone(usernameStr)){ 296 } else if (activation_code_layout.getVisibility() == View.VISIBLE && TextUtils.isEmpty(activationStr)) {
297 AlertUtils.showToast(ElectronicCardValidationActivity.this, "注册激活码不能为空");
298 return;
299 }else if (rl_authcode.getVisibility() == View.VISIBLE && TextUtils.isEmpty(authcodeStr)) {
300 AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码不能为空");
301 return;
302 } else if (!PhoneNumCheckUtils.isPhone(usernameStr)) {
134 AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号码输入错误"); 303 AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号码输入错误");
135 304
136 }else if (!authcode.equals(authcodeStr)){ 305 } else if (!authcode.equals(authcodeStr)) {
137 AlertUtils.showToast(ElectronicCardValidationActivity.this, "您输入的验证码不正确"); 306 AlertUtils.showToast(ElectronicCardValidationActivity.this, "您输入的验证码不正确");
138 }else { 307 } else {
139 String userID = SaveParam.getInstance().getLoginParam(this,"userId"); 308 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
140 Long auserID = null; 309 Long auserID = null;
141 try { 310 try {
142 auserID = Long.parseLong(userID); 311 auserID = Long.parseLong(userID);
143 } catch (NumberFormatException e) { 312 } catch (NumberFormatException e) {
144 e.printStackTrace(); 313 e.printStackTrace();
145 } 314 }
146 if (Content.authcodeflag==1){ 315 if (Content.authcodeflag == 1) {
147 //修改账户手机号 316 //修改账户手机号
148 HttpManager.getInstance().changeaccountphone(this, 317 HttpManager.getInstance().changeaccountphone(this,
149 auserID,usernameStr,authcodeStr); 318 auserID, usernameStr, authcodeStr);
150 319
151 }else if (Content.authcodeflag==2){ 320 } else if (Content.authcodeflag == 2) {
152 //修改保卡手机号 321 //修改保卡手机号
153 String userID22 = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); 322
154 HttpManager.getInstance().changecardinfophone(this, 323 HttpManager.getInstance().changecardinfophone(this,
155 userID22,usernameStr,authcodeStr); 324 userID22, usernameStr, authcodeStr);
156 }else { 325 } else {
157 String phone =phonenumber.getText().toString().trim(); 326 if(Build.MODEL.toUpperCase().equals("T5 PLUS")){
158 SaveParam.getInstance().saveCustomizeParam(this,SaveParam.CARDPHONE, phone ); 327 HttpManager.getInstance().submitEcard(this,userID22,activationStr,handler);
159 Intent intent = new Intent(); 328 } else{
160 intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class); 329 String phone = phonenumber.getText().toString().trim();
161 startActivity(intent); 330 // SaveParam.getInstance().saveCustomizeParam(this, SaveParam.CARDPHONE, phone);
162 overridePendingTransition(R.anim.rightin, R.anim.rightout); 331 Intent intent = new Intent();
332 intent.putExtra(SaveParam.CARDPHONE, phone);
333 intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class);
334 startActivity(intent);
335 overridePendingTransition(R.anim.rightin, R.anim.rightout);
336 }
163 } 337 }
164 // SaveParam.getInstance().saveLoginParam(this,SaveParam.CARDPHONE, phonenumber.getText().toString().trim()); 338 // SaveParam.getInstance().saveLoginParam(this,SaveParam.CARDPHONE, phonenumber.getText().toString().trim());
165 // Intent intent = new Intent(); 339 // Intent intent = new Intent();
166 // intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class); 340 // intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class);
167 // startActivity(intent); 341 // startActivity(intent);
168 // overridePendingTransition(R.anim.rightin, R.anim.rightout); 342 // overridePendingTransition(R.anim.rightin, R.anim.rightout);
169 } 343 }
170 break; 344 break;
171 case R.id.btn_authcode: 345 case R.id.btn_authcode:
172 String usernameStr1 = phonenumber.getText().toString().trim(); 346 String usernameStr1 = phonenumber.getText().toString().trim();
173 if (!PhoneNumCheckUtils.isPhone(usernameStr1)){ 347 if (!PhoneNumCheckUtils.isPhone(usernameStr1)) {
174 AlertUtils.showToast(ElectronicCardValidationActivity.this, "请输入正确的手机号"); 348 AlertUtils.showToast(ElectronicCardValidationActivity.this, "请输入正确的手机号");
175 }else { 349 } else {
176 anth_6num.requestFocus(); 350 anth_6num.requestFocus();
177 HttpManager.getInstance().authCode(typeStr, usernameStr1, handler, ElectronicCardValidationActivity.this); 351 HttpManager.getInstance().authCode(typeStr, usernameStr1, handler, ElectronicCardValidationActivity.this);
178 valiDelay(); 352 valiDelay();
179 353
180 } 354 }
181 355
182 break; 356 break;
183 case R.id.cancel: 357 case R.id.cancel:
184 finish(); 358 finish();
185 break; 359 break;
360 case R.id.phone_delete_btn:
361 phonenumber.setText("");
362 break;
363 case R.id.code_delete_btn:
364 anth_6num.setText("");
365 break;
366 case R.id.activation_code_delete_btn:
367 activation_code.setText("");
368 break;
186 } 369 }
187 } 370 }
371
188 // 线程类 定时器 372 // 线程类 定时器
189 public void valiDelay() { 373 public void valiDelay() {
190 374
191 Delaytimer = new java.util.Timer(true); 375 Delaytimer = new java.util.Timer(true);
192 376
193 377
194 TimerTask task = new TimerTask() { 378 TimerTask task = new TimerTask() {
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/FeedBackActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.content.pm.PackageManager; 4 import android.content.pm.PackageManager;
5 import android.graphics.Color; 5 import android.graphics.Color;
6 import android.net.Uri; 6 import android.net.Uri;
7 import android.os.Build; 7 import android.os.Build;
8 import android.os.Bundle; 8 import android.os.Bundle;
9 import android.provider.MediaStore; 9 import android.provider.MediaStore;
10 import android.support.annotation.NonNull; 10 import android.support.annotation.NonNull;
11 import android.support.v4.app.FragmentActivity; 11 import android.support.v4.app.FragmentActivity;
12 import android.support.v4.content.FileProvider; 12 import android.support.v4.content.FileProvider;
13 import android.text.TextUtils; 13 import android.text.TextUtils;
14 import android.view.Gravity; 14 import android.view.Gravity;
15 import android.view.View; 15 import android.view.View;
16 import android.widget.AdapterView; 16 import android.widget.AdapterView;
17 import android.widget.EditText; 17 import android.widget.EditText;
18 import android.widget.ImageView; 18 import android.widget.ImageView;
19 import android.widget.TextView; 19 import android.widget.TextView;
20 import android.widget.Toast; 20 import android.widget.Toast;
21 21
22 import com.hjx.personalcenter.R; 22 import com.hjx.personalcenter.R;
23 import com.hjx.personalcenter.db.SaveParam; 23 import com.hjx.personalcenter.db.SaveParam;
24 import com.hjx.personalcenter.http.HttpManager; 24 import com.hjx.personalcenter.http.HttpManager;
25 import com.hjx.personalcenter.util.AlertUtils; 25 import com.hjx.personalcenter.util.AlertUtils;
26 import com.hjx.personalcenter.util.CropUtils; 26 import com.hjx.personalcenter.util.CropUtils;
27 import com.hjx.personalcenter.util.DialogPermission; 27 import com.hjx.personalcenter.util.DialogPermission;
28 import com.hjx.personalcenter.util.FileUtil; 28 import com.hjx.personalcenter.util.FileUtil;
29 import com.hjx.personalcenter.util.PermissionUtil; 29 import com.hjx.personalcenter.util.PermissionUtil;
30 import com.hjx.personalcenter.util.SharedPreferenceMark; 30 import com.hjx.personalcenter.util.SharedPreferenceMark;
31 import com.mylhyl.circledialog.CircleDialog; 31 import com.mylhyl.circledialog.CircleDialog;
32 import com.mylhyl.circledialog.callback.ConfigButton; 32 import com.mylhyl.circledialog.callback.ConfigButton;
33 import com.mylhyl.circledialog.callback.ConfigDialog; 33 import com.mylhyl.circledialog.callback.ConfigDialog;
34 import com.mylhyl.circledialog.params.ButtonParams; 34 import com.mylhyl.circledialog.params.ButtonParams;
35 import com.mylhyl.circledialog.params.DialogParams; 35 import com.mylhyl.circledialog.params.DialogParams;
36 36
37 import java.io.File; 37 import java.io.File;
38 38
39 /** 39 /**
40 * Created by h on 2017/8/11. 40 * Created by h on 2017/8/11.
41 */ 41 */
42 42
43 public class FeedBackActivity extends FragmentActivity implements View.OnClickListener { 43 public class FeedBackActivity extends FragmentActivity implements View.OnClickListener {
44 private ImageView iv_cance, iv_show, iv_take; 44 private ImageView iv_cance, iv_show, iv_take;
45 private EditText content, phone; 45 private EditText content, phone;
46 private TextView tv_sub; 46 private TextView tv_sub;
47 private static final int REQUEST_CODE_TAKE_PHOTO = 1; 47 private static final int REQUEST_CODE_TAKE_PHOTO = 1;
48 private static final int REQUEST_CODE_ALBUM = 2; 48 private static final int REQUEST_CODE_ALBUM = 2;
49 private static final int REQUEST_CODE_CROUP_PHOTO = 3; 49 private static final int REQUEST_CODE_CROUP_PHOTO = 3;
50 private ImageView mSimpleDraweeView; 50 private ImageView mSimpleDraweeView;
51 String type = "个人中心"; 51 String type = "个人中心";
52 private File file; 52 private File file;
53 private Uri uri; 53 private Uri uri;
54 54
55 @Override 55 @Override
56 protected void onCreate(Bundle savedInstanceState) { 56 protected void onCreate(Bundle savedInstanceState) {
57 super.onCreate(savedInstanceState); 57 super.onCreate(savedInstanceState);
58 setContentView(R.layout.activity_feedback); 58 setContentView(R.layout.activity_feedback);
59 initView(); 59 initView();
60 initData(); 60 initData();
61 initLister(); 61 initLister();
62 } 62 }
63 63
64 private void initView() { 64 private void initView() {
65 iv_cance = (ImageView) findViewById(R.id.cancel); 65 iv_cance = (ImageView) findViewById(R.id.cancel);
66 mSimpleDraweeView = (ImageView) findViewById(R.id.show_iv); 66 mSimpleDraweeView = (ImageView) findViewById(R.id.show_iv);
67 iv_take = (ImageView) findViewById(R.id.iv_take); 67 iv_take = (ImageView) findViewById(R.id.iv_take);
68 content = (EditText) findViewById(R.id.feedback_content); 68 content = (EditText) findViewById(R.id.feedback_content);
69 phone = (EditText) findViewById(R.id.feedback_phone); 69 phone = (EditText) findViewById(R.id.feedback_phone);
70 tv_sub = (TextView) findViewById(R.id.feedback_sub); 70 tv_sub = (TextView) findViewById(R.id.feedback_sub);
71 71
72 } 72 }
73 73
74 private void initData() { 74 private void initData() {
75 file = new File(FileUtil.getCachePath(this), "user-feedback.jpg"); 75 file = new File(FileUtil.getCachePath(this), "user-feedback.jpg");
76 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { 76 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
77 uri = Uri.fromFile(file); 77 uri = Uri.fromFile(file);
78 } else { 78 } else {
79 //通过FileProvider创建一个content类型的Uri(android 7.0需要这样的方法跨应用访问) 79 //通过FileProvider创建一个content类型的Uri(android 7.0需要这样的方法跨应用访问)
80 uri = FileProvider.getUriForFile(MyApplication.getContext(), "com.hjx.personalcenter", file); 80 uri = FileProvider.getUriForFile(MyApplication.getContext(), "com.hjx.personalcenter.fileprovider", file);
81 } 81 }
82 82
83 } 83 }
84 84
85 private void initLister() { 85 private void initLister() {
86 iv_cance.setOnClickListener(this); 86 iv_cance.setOnClickListener(this);
87 iv_take.setOnClickListener(this); 87 iv_take.setOnClickListener(this);
88 tv_sub.setOnClickListener(this); 88 tv_sub.setOnClickListener(this);
89 mSimpleDraweeView.setOnClickListener(this); 89 mSimpleDraweeView.setOnClickListener(this);
90 90
91 } 91 }
92 92
93 @Override 93 @Override
94 public void onClick(View v) { 94 public void onClick(View v) {
95 String contents = content.getText().toString().trim(); 95 String contents = content.getText().toString().trim();
96 String contants = phone.getText().toString().trim(); 96 String contants = phone.getText().toString().trim();
97 switch (v.getId()) { 97 switch (v.getId()) {
98 case R.id.cancel: 98 case R.id.cancel:
99 finish(); 99 finish();
100 break; 100 break;
101 case R.id.iv_take: 101 case R.id.iv_take:
102 choiceAvatar(); 102 choiceAvatar();
103 break; 103 break;
104 case R.id.feedback_sub: 104 case R.id.feedback_sub:
105 //提交用户反馈 105 //提交用户反馈
106 if (TextUtils.isEmpty(contents)) { 106 if (TextUtils.isEmpty(contents)) {
107 AlertUtils.showToast(FeedBackActivity.this, "写下两点宝贵的意见或建议吧"); 107 AlertUtils.showToast(FeedBackActivity.this, "写下两点宝贵的意见或建议吧");
108 return; 108 return;
109 } 109 }
110 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 110 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
111 try { 111 try {
112 HttpManager.getInstance().feedback(FeedBackActivity.this, userID, 112 HttpManager.getInstance().feedback(FeedBackActivity.this, userID,
113 contents, contants, file.getPath(), type); 113 contents, contants, file.getPath(), type);
114 } catch (Exception e) { 114 } catch (Exception e) {
115 e.printStackTrace(); 115 e.printStackTrace();
116 } 116 }
117 break; 117 break;
118 case R.id.show_iv: 118 case R.id.show_iv:
119 119
120 120
121 break; 121 break;
122 } 122 }
123 } 123 }
124 124
125 //拍摄头像 125 //拍摄头像
126 private void choiceAvatar() { 126 private void choiceAvatar() {
127 final String[] items = {"拍照", "从相册选择"}; 127 final String[] items = {"拍照", "从相册选择"};
128 new CircleDialog.Builder(this) 128 new CircleDialog.Builder(this)
129 .configDialog(new ConfigDialog() { 129 .configDialog(new ConfigDialog() {
130 @Override 130 @Override
131 public void onConfig(DialogParams params) { 131 public void onConfig(DialogParams params) {
132 //增加弹出动画 132 //增加弹出动画
133 params.gravity = Gravity.CENTER; 133 params.gravity = Gravity.CENTER;
134 } 134 }
135 }) 135 })
136 .setTitle("请选择图片来源") 136 .setTitle("请选择图片来源")
137 .setWidth(0.5f) 137 .setWidth(0.5f)
138 .setItems(items, new AdapterView.OnItemClickListener() { 138 .setItems(items, new AdapterView.OnItemClickListener() {
139 @Override 139 @Override
140 public void onItemClick(AdapterView<?> parent, View view, int 140 public void onItemClick(AdapterView<?> parent, View view, int
141 position, long id) { 141 position, long id) {
142 switch (position) { 142 switch (position) {
143 case 0: 143 case 0:
144 if (PermissionUtil.hasCameraPermission(FeedBackActivity.this)) { 144 if (PermissionUtil.hasCameraPermission(FeedBackActivity.this)) {
145 uploadAvatarFromPhotoRequest(); 145 uploadAvatarFromPhotoRequest();
146 } 146 }
147 break; 147 break;
148 case 1: 148 case 1:
149 uploadAvatarFromAlbumRequest(); 149 uploadAvatarFromAlbumRequest();
150 break; 150 break;
151 } 151 }
152 152
153 } 153 }
154 }) 154 })
155 .setNegative("取消", null) 155 .setNegative("取消", null)
156 .configNegative(new ConfigButton() { 156 .configNegative(new ConfigButton() {
157 @Override 157 @Override
158 public void onConfig(ButtonParams params) { 158 public void onConfig(ButtonParams params) {
159 //取消按钮字体颜色 159 //取消按钮字体颜色
160 params.textColor = Color.RED; 160 params.textColor = Color.RED;
161 } 161 }
162 }) 162 })
163 .show(); 163 .show();
164 164
165 165
166 } 166 }
167 167
168 //照相 168 //照相
169 private void uploadAvatarFromPhotoRequest() { 169 private void uploadAvatarFromPhotoRequest() {
170 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 170 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
171 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 171 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
172 intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0); 172 intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
173 intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); 173 intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
174 startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO); 174 startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO);
175 } 175 }
176 176
177 //选择图库 177 //选择图库
178 private void uploadAvatarFromAlbumRequest() { 178 private void uploadAvatarFromAlbumRequest() {
179 Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); 179 Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
180 photoPickerIntent.setType("image/*"); 180 photoPickerIntent.setType("image/*");
181 startActivityForResult(photoPickerIntent, REQUEST_CODE_ALBUM); 181 startActivityForResult(photoPickerIntent, REQUEST_CODE_ALBUM);
182 } 182 }
183 183
184 //回掉 184 //回掉
185 @Override 185 @Override
186 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 186 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
187 super.onActivityResult(requestCode, resultCode, data); 187 super.onActivityResult(requestCode, resultCode, data);
188 if (resultCode != -1) { 188 if (resultCode != -1) {
189 return; 189 return;
190 } 190 }
191 if (requestCode == REQUEST_CODE_ALBUM && data != null) { 191 if (requestCode == REQUEST_CODE_ALBUM && data != null) {
192 Uri newUri; 192 Uri newUri;
193 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { 193 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
194 newUri = Uri.parse("file:///" + CropUtils.getPath(this, data.getData())); 194 newUri = Uri.parse("file:///" + CropUtils.getPath(this, data.getData()));
195 } else { 195 } else {
196 newUri = data.getData(); 196 newUri = data.getData();
197 } 197 }
198 if (newUri != null) { 198 if (newUri != null) {
199 //uploadAvatarFromPhoto(); 199 //uploadAvatarFromPhoto();
200 //裁剪图片 200 //裁剪图片
201 startPhotoZoom(newUri); 201 startPhotoZoom(newUri);
202 } else { 202 } else {
203 Toast.makeText(this, "没有得到相册图片", Toast.LENGTH_LONG).show(); 203 Toast.makeText(this, "没有得到相册图片", Toast.LENGTH_LONG).show();
204 } 204 }
205 } else if (requestCode == REQUEST_CODE_TAKE_PHOTO) { 205 } else if (requestCode == REQUEST_CODE_TAKE_PHOTO) {
206 uploadAvatarFromPhoto(); 206 uploadAvatarFromPhoto();
207 } else if (requestCode == REQUEST_CODE_CROUP_PHOTO) { 207 } else if (requestCode == REQUEST_CODE_CROUP_PHOTO) {
208 uploadAvatarFromPhoto(); 208 uploadAvatarFromPhoto();
209 } 209 }
210 } 210 }
211 211
212 private void uploadAvatarFromPhoto() { 212 private void uploadAvatarFromPhoto() {
213 compressAndUploadAvatar(file.getPath()); 213 compressAndUploadAvatar(file.getPath());
214 214
215 } 215 }
216 216
217 private void compressAndUploadAvatar(String fileSrc) { 217 private void compressAndUploadAvatar(String fileSrc) {
218 218
219 219
220 //上传到服务器 220 //上传到服务器
221 221
222 final File cover = FileUtil.getSmallBitmap(this, fileSrc); 222 final File cover = FileUtil.getSmallBitmap(this, fileSrc);
223 String mimeType = "image/*"; 223 String mimeType = "image/*";
224 //requestBody = RequestBody.create(MediaType.parse(mimeType), file); 224 //requestBody = RequestBody.create(MediaType.parse(mimeType), file);
225 //String fileName = cover.getName(); 225 //String fileName = cover.getName();
226 //HttpManager.getInstance().header(this, fileSrc); 226 //HttpManager.getInstance().header(this, fileSrc);
227 //photo = MultipartBody.Part.createFormData("portrait", fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()), requestBody); 227 //photo = MultipartBody.Part.createFormData("portrait", fileName.substring(fileName.lastIndexOf("/") + 1, fileName.length()), requestBody);
228 //Fresco设置圆形头像 228 //Fresco设置圆形头像
229 // GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources()); 229 // GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources());
230 // GenericDraweeHierarchy hierarchy = builder 230 // GenericDraweeHierarchy hierarchy = builder
231 // .setDesiredAspectRatio(1f) 231 // .setDesiredAspectRatio(1f)
232 // .setFailureImage(R.mipmap.blank) 232 // .setFailureImage(R.mipmap.blank)
233 // //圆形头像 233 // //圆形头像
234 // .setRoundingParams(RoundingParams.fromCornersRadius(0.7f)) 234 // .setRoundingParams(RoundingParams.fromCornersRadius(0.7f))
235 // .build(); 235 // .build();
236 // //OOM 236 // //OOM
237 // ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri) 237 // ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
238 // //根据View的尺寸放缩图片 238 // //根据View的尺寸放缩图片
239 // .setResizeOptions(new ResizeOptions(mSimpleDraweeView.getWidth(), mSimpleDraweeView.getHeight())) 239 // .setResizeOptions(new ResizeOptions(mSimpleDraweeView.getWidth(), mSimpleDraweeView.getHeight()))
240 // .build(); 240 // .build();
241 241
242 242
243 //加载本地图片 243 //加载本地图片
244 mSimpleDraweeView.setImageURI(Uri.fromFile(new File(fileSrc))); 244 mSimpleDraweeView.setImageURI(Uri.fromFile(new File(fileSrc)));
245 245
246 //Picasso.with(FeedBackActivity.this).load(fileSrc).into(mSimpleDraweeView); 246 //Picasso.with(FeedBackActivity.this).load(fileSrc).into(mSimpleDraweeView);
247 // Uri uri = Uri.fromFile(cover); 247 // Uri uri = Uri.fromFile(cover);
248 // DraweeController controller = Fresco.newDraweeControllerBuilder() 248 // DraweeController controller = Fresco.newDraweeControllerBuilder()
249 // .setOldController(mSimpleDraweeView.getController()) 249 // .setOldController(mSimpleDraweeView.getController())
250 // .setImageRequest(request) 250 // .setImageRequest(request)
251 // .setUri(uri) 251 // .setUri(uri)
252 // .build(); 252 // .build();
253 // mSimpleDraweeView.setHierarchy(hierarchy); 253 // mSimpleDraweeView.setHierarchy(hierarchy);
254 // mSimpleDraweeView.setController(controller); 254 // mSimpleDraweeView.setController(controller);
255 255
256 } 256 }
257 257
258 public void startPhotoZoom(Uri uri) { 258 public void startPhotoZoom(Uri uri) {
259 Intent intent = new Intent("com.android.camera.action.CROP"); 259 Intent intent = new Intent("com.android.camera.action.CROP");
260 intent.setDataAndType(uri, "image/*"); 260 intent.setDataAndType(uri, "image/*");
261 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 261 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
262 intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面. 262 intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面.
263 intent.putExtra("aspectX", 1);// 这两项为裁剪框的比例. 263 intent.putExtra("aspectX", 1);// 这两项为裁剪框的比例.
264 intent.putExtra("aspectY", 1);// x:y=1:1 264 intent.putExtra("aspectY", 1);// x:y=1:1
265 // intent.putExtra("outputX", 400);//图片输出大小 265 // intent.putExtra("outputX", 400);//图片输出大小
266 // intent.putExtra("outputY", 400); 266 // intent.putExtra("outputY", 400);
267 intent.putExtra("output", Uri.fromFile(file)); 267 intent.putExtra("output", Uri.fromFile(file));
268 intent.putExtra("outputFormat", "JPEG");// 返回格式 268 intent.putExtra("outputFormat", "JPEG");// 返回格式
269 startActivityForResult(intent, REQUEST_CODE_CROUP_PHOTO); 269 startActivityForResult(intent, REQUEST_CODE_CROUP_PHOTO);
270 } 270 }
271 271
272 @Override 272 @Override
273 public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 273 public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
274 switch (requestCode) { 274 switch (requestCode) {
275 275
276 case PermissionUtil.REQUEST_SHOWCAMERA: 276 case PermissionUtil.REQUEST_SHOWCAMERA:
277 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 277 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
278 // Permission Granted 278 // Permission Granted
279 uploadAvatarFromPhotoRequest(); 279 uploadAvatarFromPhotoRequest();
280 280
281 } else { 281 } else {
282 if (!SharedPreferenceMark.getHasShowCamera()) { 282 if (!SharedPreferenceMark.getHasShowCamera()) {
283 SharedPreferenceMark.setHasShowCamera(true); 283 SharedPreferenceMark.setHasShowCamera(true);
284 new DialogPermission(this, "关闭摄像头权限影响扫描功能"); 284 new DialogPermission(this, "关闭摄像头权限影响扫描功能");
285 285
286 } else { 286 } else {
287 Toast.makeText(this, "未获取摄像头权限", Toast.LENGTH_SHORT) 287 Toast.makeText(this, "未获取摄像头权限", Toast.LENGTH_SHORT)
288 .show(); 288 .show();
289 } 289 }
290 } 290 }
291 break; 291 break;
292 default: 292 default:
293 super.onRequestPermissionsResult(requestCode, permissions, grantResults); 293 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
294 } 294 }
295 } 295 }
296 } 296 }
297 297
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ForgotPasswordActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.os.Bundle; 3 import android.os.Bundle;
4 import android.os.Handler; 4 import android.os.Handler;
5 import android.os.Message; 5 import android.os.Message;
6 import android.support.v4.app.FragmentActivity; 6 import android.support.v4.app.FragmentActivity;
7 import android.support.v7.app.AppCompatActivity; 7 import android.support.v7.app.AppCompatActivity;
8 import android.text.Editable;
8 import android.text.TextUtils; 9 import android.text.TextUtils;
10 import android.text.TextWatcher;
9 import android.text.method.HideReturnsTransformationMethod; 11 import android.text.method.HideReturnsTransformationMethod;
10 import android.text.method.PasswordTransformationMethod; 12 import android.text.method.PasswordTransformationMethod;
11 import android.view.View; 13 import android.view.View;
12 import android.widget.Button; 14 import android.widget.Button;
13 import android.widget.EditText; 15 import android.widget.EditText;
16 import android.widget.ImageButton;
14 import android.widget.ImageView; 17 import android.widget.ImageView;
15 18
16 import com.hjx.personalcenter.R; 19 import com.hjx.personalcenter.R;
17 import com.hjx.personalcenter.http.HttpCode; 20 import com.hjx.personalcenter.http.HttpCode;
18 import com.hjx.personalcenter.http.HttpManager; 21 import com.hjx.personalcenter.http.HttpManager;
19 import com.hjx.personalcenter.util.AlertUtils; 22 import com.hjx.personalcenter.util.AlertUtils;
20 import com.hjx.personalcenter.util.Judgment; 23 import com.hjx.personalcenter.util.Judgment;
21 import com.hjx.personalcenter.util.PasswordCheckUtils; 24 import com.hjx.personalcenter.util.PasswordCheckUtils;
22 import com.hjx.personalcenter.util.PhoneNumCheckUtils; 25 import com.hjx.personalcenter.util.PhoneNumCheckUtils;
23 26
24 import org.json.JSONException; 27 import org.json.JSONException;
25 import org.json.JSONObject; 28 import org.json.JSONObject;
26 29
27 import java.util.TimerTask; 30 import java.util.TimerTask;
28 31
29 /** 32 /**
30 * 忘记密码 33 * 忘记密码
31 * Created by h on 2017/6/17. 34 * Created by h on 2017/6/17.
32 */ 35 */
33 36
34 public class ForgotPasswordActivity extends FragmentActivity implements View.OnClickListener { 37 public class ForgotPasswordActivity extends FragmentActivity implements View.OnClickListener {
35 private ImageView back_forgit, iv_pwd_change; 38 private ImageView back_forgit, iv_pwd_change,iv_newpwd_change;
36 private EditText forot_pwd_phone, forot_pwd_anthcode, forot_pwd_pwd, forot_pwd_pwd2; 39 private EditText forot_pwd_phone, forot_pwd_anthcode, forot_pwd_pwd, forot_pwd_pwd2;
37 private Button forot_pwd_sub, forot_pwd_getanthcode; 40 private Button forot_pwd_sub, forot_pwd_getanthcode;
41 private ImageButton phone_delete_btn,code_delete_btn;
38 private String forot_pwd_phone1; 42 private String forot_pwd_phone1;
39 private String forot_pwd_anthcode1; 43 private String forot_pwd_anthcode1;
40 private String forot_pwd_pwd3; 44 private String forot_pwd_pwd3;
41 private String forot_pwd_pwd4; 45 private String forot_pwd_pwd4;
42 private String typeStr = "login"; 46 private String typeStr = "login";
43 private int delayTime=60; 47 private int delayTime=60;
44 private java.util.Timer Delaytimer; 48 private java.util.Timer Delaytimer;
45 public static Boolean showPassword = false; 49 public static Boolean showPassword = false;
50 public static Boolean showNewPassword = false;
46 51
47 Handler handler = new Handler() { 52 Handler handler = new Handler() {
48 @Override 53 @Override
49 public void handleMessage(Message msg) { 54 public void handleMessage(Message msg) {
50 super.handleMessage(msg); 55 super.handleMessage(msg);
51 try { 56 try {
52 JSONObject jsonObject; 57 JSONObject jsonObject;
53 String status; 58 String status;
54 switch (msg.what) { 59 switch (msg.what) {
55 case HttpCode.PASSWORD_SUCESS: 60 case HttpCode.PASSWORD_SUCESS:
56 jsonObject = (JSONObject) msg.obj; 61 jsonObject = (JSONObject) msg.obj;
57 status = jsonObject.getString("status"); 62 status = jsonObject.getString("status");
58 // AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); 63 // AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message"));
59 if (status.equals("100")) { 64 if (status.equals("100")) {
60 AlertUtils.showToast(ForgotPasswordActivity.this, "密码修改成功"); 65 AlertUtils.showToast(ForgotPasswordActivity.this, "密码修改成功");
61 } 66 }
62 67
63 break; 68 break;
64 case HttpCode.PASSWORD_FAIL: 69 case HttpCode.PASSWORD_FAIL:
65 jsonObject = (JSONObject) msg.obj; 70 jsonObject = (JSONObject) msg.obj;
66 AlertUtils.showToast(ForgotPasswordActivity.this, "密码修改失败,请检查网络是否畅通。"); 71 AlertUtils.showToast(ForgotPasswordActivity.this, "密码修改失败,请检查网络是否畅通。");
67 break; 72 break;
68 case HttpCode.AUTHCODE_SUCESS1: 73 case HttpCode.AUTHCODE_SUCESS1:
69 jsonObject = (JSONObject) msg.obj; 74 jsonObject = (JSONObject) msg.obj;
70 status = jsonObject.optString("status"); 75 status = jsonObject.optString("status");
71 if (status.equals("100")) { 76 if (status.equals("100")) {
72 AlertUtils.showToast(ForgotPasswordActivity.this, "验证码发送成功"); 77 AlertUtils.showToast(ForgotPasswordActivity.this, "验证码发送成功");
73 } 78 }
74 //AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); 79 //AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message"));
75 break; 80 break;
76 case HttpCode.AUTHCODE_FAIL1: 81 case HttpCode.AUTHCODE_FAIL1:
77 jsonObject = (JSONObject) msg.obj; 82 jsonObject = (JSONObject) msg.obj;
78 AlertUtils.showToast(ForgotPasswordActivity.this, jsonObject.optString("验证码发送失败,请检查网络")); 83 AlertUtils.showToast(ForgotPasswordActivity.this, jsonObject.optString("验证码发送失败,请检查网络"));
79 break; 84 break;
80 case HttpCode.IS_REFISTER: 85 case HttpCode.IS_REFISTER:
81 jsonObject = (JSONObject) msg.obj; 86 jsonObject = (JSONObject) msg.obj;
82 status = jsonObject.getString("status"); 87 status = jsonObject.getString("status");
83 if (status.equals("true")) { 88 if (status.equals("true")) {
84 getauthcode(); 89 getauthcode();
85 90
86 } else { 91 } else {
87 AlertUtils.showToast(ForgotPasswordActivity.this, "该手机号没有注册"); 92 AlertUtils.showToast(ForgotPasswordActivity.this, "该手机号没有注册");
88 } 93 }
89 break; 94 break;
90 case 21: 95 case 21:
91 96
92 if(delayTime<=0){ 97 if(delayTime<=0){
93 if(Delaytimer!=null){ 98 if(Delaytimer!=null){
94 Delaytimer.cancel(); 99 Delaytimer.cancel();
95 } 100 }
96 forot_pwd_getanthcode.setEnabled(true); 101 forot_pwd_getanthcode.setEnabled(true);
97 forot_pwd_getanthcode.setClickable(true); 102 forot_pwd_getanthcode.setClickable(true);
98 forot_pwd_getanthcode.setText("获取验证码"); 103 forot_pwd_getanthcode.setText("获取验证码");
99 delayTime=60; 104 delayTime=60;
100 }else{ 105 }else{
101 forot_pwd_getanthcode.setEnabled(false); 106 forot_pwd_getanthcode.setEnabled(false);
102 forot_pwd_getanthcode.setClickable(false); 107 forot_pwd_getanthcode.setClickable(false);
103 forot_pwd_getanthcode.setText(delayTime + " s"); 108 forot_pwd_getanthcode.setText(delayTime + " s");
104 } 109 }
105 break; 110 break;
106 } 111 }
107 } catch (JSONException e) { 112 } catch (JSONException e) {
108 e.printStackTrace(); 113 e.printStackTrace();
109 } 114 }
110 } 115 }
111 }; 116 };
112 117
113 @Override 118 @Override
114 protected void onCreate(Bundle savedInstanceState) { 119 protected void onCreate(Bundle savedInstanceState) {
115 super.onCreate(savedInstanceState); 120 super.onCreate(savedInstanceState);
116 setContentView(R.layout.activity_forgetpsword); 121 setContentView(R.layout.activity_forgetpsword);
117 initView(); 122 initView();
118 setLister(); 123 setLister();
124 initTextWatch();
119 } 125 }
120 126
121 //获取验证码 127 //获取验证码
122 private void getauthcode() { 128 private void getauthcode() {
123 forot_pwd_anthcode.requestFocus(); 129 forot_pwd_anthcode.requestFocus();
124 HttpManager.getInstance().authCode(typeStr, forot_pwd_phone1, handler, this); 130 HttpManager.getInstance().authCode(typeStr, forot_pwd_phone1, handler, this);
125 valiDelay(); 131 valiDelay();
126 132
127 } 133 }
128 134
129 private void initView() { 135 private void initView() {
130 forot_pwd_phone = (EditText) findViewById(R.id.et_phonenumber); 136 forot_pwd_phone = (EditText) findViewById(R.id.et_phonenumber);
131 forot_pwd_anthcode = (EditText) findViewById(R.id.et_authcode); 137 forot_pwd_anthcode = (EditText) findViewById(R.id.et_authcode);
132 forot_pwd_pwd = (EditText) findViewById(R.id.et_newpassword); 138 forot_pwd_pwd = (EditText) findViewById(R.id.et_newpassword);
133 forot_pwd_pwd2 = (EditText) findViewById(R.id.et_again_newpassword); 139 forot_pwd_pwd2 = (EditText) findViewById(R.id.et_again_newpassword);
134 forot_pwd_sub = (Button) findViewById(R.id.btn_ok); 140 forot_pwd_sub = (Button) findViewById(R.id.btn_ok);
135 forot_pwd_getanthcode = (Button) findViewById(R.id.btn_authcode); 141 forot_pwd_getanthcode = (Button) findViewById(R.id.btn_authcode);
136 iv_pwd_change = (ImageView) findViewById(R.id.iv_pwd_change); 142 iv_pwd_change = (ImageView) findViewById(R.id.iv_pwd_change);
143 iv_newpwd_change = (ImageView) findViewById(R.id.iv_newpwd_change);
137 back_forgit = (ImageView) findViewById(R.id.cancel); 144 back_forgit = (ImageView) findViewById(R.id.cancel);
145 phone_delete_btn = (ImageButton) findViewById(R.id.phone_delete_btn);
146 code_delete_btn = (ImageButton) findViewById(R.id.code_delete_btn);
138 } 147 }
139 148
140 private void setLister() { 149 private void setLister() {
141 iv_pwd_change.setOnClickListener(this); 150 iv_pwd_change.setOnClickListener(this);
151 iv_newpwd_change.setOnClickListener(this);
142 back_forgit.setOnClickListener(this); 152 back_forgit.setOnClickListener(this);
143 forot_pwd_sub.setOnClickListener(this); 153 forot_pwd_sub.setOnClickListener(this);
144 forot_pwd_getanthcode.setOnClickListener(this); 154 forot_pwd_getanthcode.setOnClickListener(this);
155 phone_delete_btn.setOnClickListener(this);
156 code_delete_btn.setOnClickListener(this);
145 157
146 } 158 }
147 159
160 /**
161 * 输入框改变的监听
162 */
163 private void initTextWatch() {
164 forot_pwd_phone.addTextChangedListener(new TextWatcher() {
165 @Override
166 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
167 }
168
169 @Override
170 public void onTextChanged(CharSequence s, int start, int before, int count) {
171 if (s.toString().length() == 0) {
172 phone_delete_btn.setVisibility(View.INVISIBLE);
173 } else {
174 phone_delete_btn.setVisibility(View.VISIBLE);
175 }
176 }
177
178 @Override
179 public void afterTextChanged(Editable s) {
180
181 }
182 });
183 forot_pwd_phone.setOnFocusChangeListener(new View.OnFocusChangeListener() {
184 @Override
185 public void onFocusChange(View v, boolean hasFocus) {
186 if (hasFocus) {
187 if (!forot_pwd_phone.getText().toString().isEmpty()) {
188 phone_delete_btn.setVisibility(View.VISIBLE);
189 }
190 } else {
191
192 phone_delete_btn.setVisibility(View.INVISIBLE);
193 }
194 }
195 });
196 forot_pwd_anthcode.addTextChangedListener(new TextWatcher() {
197 @Override
198 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
199
200 }
201
202 @Override
203 public void onTextChanged(CharSequence s, int start, int before, int count) {
204 if (s.toString().length() == 0) {
205
206 code_delete_btn.setVisibility(View.INVISIBLE);
207 } else {
208 code_delete_btn.setVisibility(View.VISIBLE);
209 }
210 }
211
212 @Override
213 public void afterTextChanged(Editable s) {
214
215 }
216 });
217 forot_pwd_anthcode.setOnFocusChangeListener(new View.OnFocusChangeListener() {
218 @Override
219 public void onFocusChange(View v, boolean hasFocus) {
220 if (hasFocus) {
221 if (!forot_pwd_anthcode.getText().toString().isEmpty()) {
222 code_delete_btn.setVisibility(View.VISIBLE);
223 }
224 } else {
225 code_delete_btn.setVisibility(View.INVISIBLE);
226 }
227 }
228 });
229 }
230
148 231
149 @Override 232 @Override
150 public void onClick(View view) { 233 public void onClick(View view) {
151 switch (view.getId()) { 234 switch (view.getId()) {
152 case R.id.btn_ok: 235 case R.id.btn_ok:
153 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); 236 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim();
154 forot_pwd_anthcode1 = forot_pwd_anthcode.getText().toString().trim(); 237 forot_pwd_anthcode1 = forot_pwd_anthcode.getText().toString().trim();
155 forot_pwd_pwd3 = forot_pwd_pwd.getText().toString().trim(); 238 forot_pwd_pwd3 = forot_pwd_pwd.getText().toString().trim();
156 forot_pwd_pwd4 = forot_pwd_pwd2.getText().toString().trim(); 239 forot_pwd_pwd4 = forot_pwd_pwd2.getText().toString().trim();
157 if (TextUtils.isEmpty(forot_pwd_phone1) || 240 if (TextUtils.isEmpty(forot_pwd_phone1) ||
158 TextUtils.isEmpty(forot_pwd_pwd3) || TextUtils.isEmpty(forot_pwd_pwd4)) { 241 TextUtils.isEmpty(forot_pwd_pwd3) || TextUtils.isEmpty(forot_pwd_pwd4)) {
159 AlertUtils.showToast(ForgotPasswordActivity.this, "请将必填项填写完整"); 242 AlertUtils.showToast(ForgotPasswordActivity.this, "请将必填项填写完整");
160 return; 243 return;
161 } else if (Judgment.getInstance().isPhoneNum(forot_pwd_phone1)) { 244 } else if (Judgment.getInstance().isPhoneNum(forot_pwd_phone1)) {
162 AlertUtils.showToast(ForgotPasswordActivity.this, "手机号码输入有误"); 245 AlertUtils.showToast(ForgotPasswordActivity.this, "手机号码输入有误");
163 246
164 } else if (forot_pwd_pwd3.length() < 8 || forot_pwd_pwd4.length() < 8) { 247 } else if (forot_pwd_pwd3.length() < 8 || forot_pwd_pwd4.length() < 8) {
165 AlertUtils.showToast(ForgotPasswordActivity.this, "密码不能少于8位"); 248 AlertUtils.showToast(ForgotPasswordActivity.this, "密码不能少于8位");
166 } else if (!forot_pwd_pwd3.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER) || !forot_pwd_pwd4.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)) { 249 } else if (!forot_pwd_pwd3.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER) || !forot_pwd_pwd4.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)) {
167 AlertUtils.showToast(ForgotPasswordActivity.this, "密码必须由英文和数字组成"); 250 AlertUtils.showToast(ForgotPasswordActivity.this, "密码必须由英文和数字组成");
168 } else if (!forot_pwd_pwd3.equals(forot_pwd_pwd4)) { 251 } else if (!forot_pwd_pwd3.equals(forot_pwd_pwd4)) {
169 AlertUtils.showToast(ForgotPasswordActivity.this, "两次输入的密码不一致"); 252 AlertUtils.showToast(ForgotPasswordActivity.this, "两次输入的密码不一致");
170 return; 253 return;
171 } else { 254 } else {
172 //忘记密码接口 255 //忘记密码接口
173 HttpManager.getInstance().forgetpassword(this, forot_pwd_phone1, forot_pwd_pwd3, forot_pwd_anthcode1, handler); 256 HttpManager.getInstance().forgetpassword(this, forot_pwd_phone1, forot_pwd_pwd3, forot_pwd_anthcode1, handler);
174 } 257 }
175 break; 258 break;
176 case R.id.btn_authcode: 259 case R.id.btn_authcode:
177 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); 260 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim();
178 if (!PhoneNumCheckUtils.isPhone(forot_pwd_phone1)) { 261 if (!PhoneNumCheckUtils.isPhone(forot_pwd_phone1)) {
179 AlertUtils.showToast(ForgotPasswordActivity.this, "请输入正确的手机号"); 262 AlertUtils.showToast(ForgotPasswordActivity.this, "请输入正确的手机号");
180 } else { 263 } else {
181 forot_pwd_anthcode.requestFocus(); 264 forot_pwd_anthcode.requestFocus();
182 ifregister(); 265 ifregister();
183 266
184 } 267 }
185 268
186 break; 269 break;
187 case R.id.iv_pwd_change: 270 case R.id.iv_pwd_change:
188 if (showPassword) {//显示密码 271 if (showPassword) {//显示密码
189 showPassword = !showPassword; 272 showPassword = !showPassword;
190 iv_pwd_change.setImageResource(R.mipmap.pwd_open); 273 iv_pwd_change.setImageResource(R.mipmap.pwd_open);
191 forot_pwd_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); 274 forot_pwd_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
192 forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length()); 275 forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length());
193 } else {//隐藏密码 276 } else {//隐藏密码
194 showPassword = !showPassword; 277 showPassword = !showPassword;
195 iv_pwd_change.setImageResource(R.mipmap.pwd_hide); 278 iv_pwd_change.setImageResource(R.mipmap.pwd_hide);
196 forot_pwd_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); 279 forot_pwd_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
197 forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length()); 280 forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length());
198 } 281 }
199 break; 282 break;
283 case R.id.iv_newpwd_change:
284 if (showNewPassword) {//显示密码
285 showNewPassword = !showNewPassword;
286 iv_newpwd_change.setImageResource(R.mipmap.pwd_open);
287 forot_pwd_pwd2.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
288 forot_pwd_pwd2.setSelection(forot_pwd_pwd.getText().toString().length());
289 } else {//隐藏密码
290 showNewPassword = !showNewPassword;
291 iv_newpwd_change.setImageResource(R.mipmap.pwd_hide);
292 forot_pwd_pwd2.setTransformationMethod(PasswordTransformationMethod.getInstance());
293 forot_pwd_pwd2.setSelection(forot_pwd_pwd.getText().toString().length());
294 }
295 break;
200 296
201 case R.id.cancel: 297 case R.id.cancel:
202 finish(); 298 finish();
203 break; 299 break;
300 case R.id.phone_delete_btn:
301 forot_pwd_phone.setText("");
302 break;
303 case R.id.code_delete_btn:
304 forot_pwd_anthcode.setText("");
305 break;
204 } 306 }
205 } 307 }
206 308
207 //是否注册 309 //是否注册
208 private void ifregister() { 310 private void ifregister() {
209 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); 311 forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim();
210 HttpManager.getInstance().isregistered(forot_pwd_phone1, handler, this); 312 HttpManager.getInstance().isregistered(forot_pwd_phone1, handler, this);
211 } 313 }
212 314
213 // 线程类 定时器 315 // 线程类 定时器
214 public void valiDelay() { 316 public void valiDelay() {
215 317
216 Delaytimer = new java.util.Timer(true); 318 Delaytimer = new java.util.Timer(true);
217 319
218 320
219 TimerTask task = new TimerTask() { 321 TimerTask task = new TimerTask() {
220 public void run() { 322 public void run() {
221 //每次需要执行的代码放到这里面。 323 //每次需要执行的代码放到这里面。
222 delayTime--; 324 delayTime--;
223 handler.sendEmptyMessage(21); 325 handler.sendEmptyMessage(21);
224 } 326 }
225 }; 327 };
226 Delaytimer.schedule(task, 1000,1000); 328 Delaytimer.schedule(task, 1000,1000);
227 } 329 }
228 } 330 }
229 331
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.provider.Settings; 5 import android.provider.Settings;
6 import android.support.annotation.Nullable; 6 import android.support.annotation.Nullable;
7 import android.support.v4.app.Fragment; 7 import android.support.v4.app.Fragment;
8 import android.support.v4.app.FragmentActivity; 8 import android.support.v4.app.FragmentActivity;
9 import android.support.v4.view.ViewPager; 9 import android.support.v4.view.ViewPager;
10 import android.view.Gravity; 10 import android.view.Gravity;
11 import android.view.View; 11 import android.view.View;
12 12
13 import com.hjx.personalcenter.R; 13 import com.hjx.personalcenter.R;
14 import com.hjx.personalcenter.adapter.LoginAndRegisterAdapter; 14 import com.hjx.personalcenter.adapter.LoginAndRegisterAdapter;
15 import com.hjx.personalcenter.db.SaveParam; 15 import com.hjx.personalcenter.db.SaveParam;
16 import com.hjx.personalcenter.fragment.LoginFragment; 16 import com.hjx.personalcenter.fragment.LoginFragment;
17 import com.hjx.personalcenter.fragment.RegisterFragment; 17 import com.hjx.personalcenter.fragment.RegisterFragment;
18 import com.hjx.personalcenter.thirdparty.SlidingTabLayout; 18 import com.hjx.personalcenter.thirdparty.SlidingTabLayout;
19 import com.hjx.personalcenter.update.UpdateChecker;
19 import com.hjx.personalcenter.util.NetUtils; 20 import com.hjx.personalcenter.util.NetUtils;
21 import com.hjx.personalcenter.util.PermissionUtil;
20 import com.mylhyl.circledialog.CircleDialog; 22 import com.mylhyl.circledialog.CircleDialog;
21 import com.mylhyl.circledialog.callback.ConfigText; 23 import com.mylhyl.circledialog.callback.ConfigText;
22 import com.mylhyl.circledialog.params.TextParams; 24 import com.mylhyl.circledialog.params.TextParams;
23 25
24 import java.util.ArrayList; 26 import java.util.ArrayList;
25 import java.util.Arrays; 27 import java.util.Arrays;
26 import java.util.List; 28 import java.util.List;
27 29
28 /** 30 /**
29 * 登录和注册 熊巍 31 * 登录和注册 熊巍
30 * Created by h on 2017/8/8. 32 * Created by h on 2017/8/8.
31 */ 33 */
32 34
33 public class LoginAndRegisterActivity extends FragmentActivity { 35 public class LoginAndRegisterActivity extends FragmentActivity {
34 private ViewPager viewPager; 36 private ViewPager viewPager;
35 private SlidingTabLayout tableLayout; 37 private SlidingTabLayout tableLayout;
36 private List<Fragment> loginlist; 38 private List<Fragment> loginlist;
37 private LoginAndRegisterAdapter logindapter; 39 private LoginAndRegisterAdapter logindapter;
38 private List<String> title = Arrays.asList("登录", "注册"); 40 private List<String> title = Arrays.asList("登录", "注册");
39 41
40 @Override 42 @Override
41 protected void onCreate(@Nullable Bundle savedInstanceState) { 43 protected void onCreate(@Nullable Bundle savedInstanceState) {
42 super.onCreate(savedInstanceState); 44 super.onCreate(savedInstanceState);
43 SysApplication.getInstance().addActivity(this); 45 SysApplication.getInstance().addActivity(this);
44 //检查网络 46 //检查网络
45 boolean isconnect = NetUtils.isNetworkConnected(this); 47 boolean isconnect = NetUtils.isNetworkConnected(this);
46 if (!isconnect){ 48 if (!isconnect){
47 new CircleDialog.Builder(this) 49 new CircleDialog.Builder(this)
48 .setCanceledOnTouchOutside(false) 50 .setCanceledOnTouchOutside(false)
49 .setCancelable(false) 51 .setCancelable(false)
50 .setWidth(0.5f) 52 .setWidth(0.5f)
51 .configText(new ConfigText() { 53 .configText(new ConfigText() {
52 @Override 54 @Override
53 public void onConfig(TextParams params) { 55 public void onConfig(TextParams params) {
54 params.gravity = Gravity.CENTER; 56 params.gravity = Gravity.CENTER;
55 params.padding = new int[]{50, 50, 50, 50}; 57 params.padding = new int[]{50, 50, 50, 50};
56 } 58 }
57 }) 59 })
58 .setText("当前无网络,请检查网络设置") 60 .setText("当前无网络,请检查网络设置")
59 .setNegative("继续使用", null) 61 .setNegative("继续使用", null)
60 .setPositive("设置网络", new View.OnClickListener() { 62 .setPositive("设置网络", new View.OnClickListener() {
61 @Override 63 @Override
62 public void onClick(View v) { 64 public void onClick(View v) {
63 Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 65 Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面
64 startActivity(intent); 66 startActivity(intent);
65 } 67 }
66 }) 68 })
67 .show(); 69 .show();
68 } 70 }
69 String islogin =SaveParam.getInstance().getLoginParam(this,"login"); 71 String islogin =SaveParam.getInstance().getLoginParam(this,"login");
70 String type =SaveParam.getInstance().getCustomizeParam(LoginAndRegisterActivity.this,SaveParam.ACCOUNT); 72 String type =SaveParam.getInstance().getCustomizeParam(LoginAndRegisterActivity.this,SaveParam.ACCOUNT);
71 if (type==null){ 73 if (type==null){
72 SaveParam.getInstance().saveCustomizeParam(LoginAndRegisterActivity.this, SaveParam.ACCOUNT,"1"); 74 SaveParam.getInstance().saveCustomizeParam(LoginAndRegisterActivity.this, SaveParam.ACCOUNT,"1");
73 } 75 }
74 if ("true".equals(islogin)){ 76 if ("true".equals(islogin)){
75 Intent intent = new Intent(); 77 Intent intent = new Intent();
76 intent.setClass(LoginAndRegisterActivity.this,MainActivity.class); 78 intent.setClass(LoginAndRegisterActivity.this,MainActivity.class);
77 startActivity(intent); 79 startActivity(intent);
78 overridePendingTransition(R.anim.rightin, R.anim.rightout); 80 overridePendingTransition(R.anim.rightin, R.anim.rightout);
79 finish(); 81 finish();
80 82
81 } 83 }
82 setContentView(R.layout.activity_loginandregister); 84 setContentView(R.layout.activity_loginandregister);
83 initView(); 85 initView();
84 initData(); 86 initData();
87 updateVersion();
85 setLister(); 88 setLister();
86 } 89 }
87 90
88 private void initView() { 91 private void initView() {
89 viewPager = (ViewPager) findViewById(R.id.viewpager_login); 92 viewPager = (ViewPager) findViewById(R.id.viewpager_login);
90 tableLayout = (SlidingTabLayout) findViewById(R.id.TabLayout_id); 93 tableLayout = (SlidingTabLayout) findViewById(R.id.TabLayout_id);
91 } 94 }
92 95
93 private void initData() { 96 private void initData() {
94 loginlist = new ArrayList<>(); 97 loginlist = new ArrayList<>();
95 for (int i = 0; i < title.size(); i++) { 98 for (int i = 0; i < title.size(); i++) {
96 if (title.get(i).equals("登录")) { 99 if (title.get(i).equals("登录")) {
97 loginlist.add(LoginFragment.newInstance(i + 1)); 100 loginlist.add(LoginFragment.newInstance(i + 1));
98 } else { 101 } else {
99 loginlist.add(RegisterFragment.newInstance(i + 1)); 102 loginlist.add(RegisterFragment.newInstance(i + 1));
100 } 103 }
101 } 104 }
102 105
103 106
104 //设置Tab上的标题 107 //设置Tab上的标题
105 tableLayout.setData(title); 108 tableLayout.setData(title);
106 //设置关联的ViewPager 109 //设置关联的ViewPager
107 tableLayout.setViewPager(viewPager, 0); 110 tableLayout.setViewPager(viewPager, 0);
108 logindapter = new LoginAndRegisterAdapter(loginlist, getSupportFragmentManager()); 111 logindapter = new LoginAndRegisterAdapter(loginlist, getSupportFragmentManager());
109 //给ViewPager设置适配器 112 //给ViewPager设置适配器
110 viewPager.setAdapter(logindapter); 113 viewPager.setAdapter(logindapter);
111 //设置滑动时数据不丢失 114 //设置滑动时数据不丢失
112 viewPager.setOffscreenPageLimit(0); 115 viewPager.setOffscreenPageLimit(0);
113 //将TabLayout和ViewPager关联起来。 116 //将TabLayout和ViewPager关联起来。
114 } 117 }
115 118
116 private void setLister() { 119 private void setLister() {
117 120
118 } 121 }
119 122
123 //////版本更新
124 private void updateVersion() {
125 if (PermissionUtil.hasReadExternalStoragePermission(this)) {
126 UpdateChecker updateChecker = new UpdateChecker(this);
127 updateChecker.checkForUpdates();
128 }
129 }
130
120 131
121 } 132 }
122 133
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/MainActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.app.Dialog;
3 import android.content.Context; 4 import android.content.Context;
4 import android.content.Intent; 5 import android.content.Intent;
5 import android.content.pm.PackageManager; 6 import android.content.pm.PackageManager;
6 import android.net.Uri; 7 import android.net.Uri;
7 import android.os.Build; 8 import android.os.Build;
8 import android.os.Bundle; 9 import android.os.Bundle;
9 import android.os.Handler; 10 import android.os.Handler;
10 import android.os.Message; 11 import android.os.Message;
11 import android.provider.MediaStore; 12 import android.provider.MediaStore;
12 import android.support.annotation.NonNull; 13 import android.support.annotation.NonNull;
13 import android.support.v4.app.FragmentActivity; 14 import android.support.v4.app.FragmentActivity;
14 import android.support.v4.content.FileProvider; 15 import android.support.v4.content.FileProvider;
15 import android.support.v7.widget.LinearLayoutManager; 16 import android.support.v7.widget.LinearLayoutManager;
16 import android.support.v7.widget.RecyclerView; 17 import android.support.v7.widget.RecyclerView;
17 import android.util.Log; 18 import android.util.Log;
18 import android.view.KeyEvent; 19 import android.view.KeyEvent;
20 import android.view.LayoutInflater;
19 import android.view.View; 21 import android.view.View;
22 import android.view.ViewGroup;
23 import android.widget.Button;
20 import android.widget.GridView; 24 import android.widget.GridView;
21 import android.widget.ImageView; 25 import android.widget.ImageView;
22 import android.widget.LinearLayout; 26 import android.widget.LinearLayout;
23 import android.widget.TextView; 27 import android.widget.TextView;
24 import android.widget.Toast; 28 import android.widget.Toast;
25 29
26 import com.google.gson.Gson; 30 import com.google.gson.Gson;
27 import com.hjx.personalcenter.R; 31 import com.hjx.personalcenter.R;
28 import com.hjx.personalcenter.adapter.MianGridAdapter; 32 import com.hjx.personalcenter.adapter.MianGridAdapter;
29 import com.hjx.personalcenter.adapter.VideoAdapter; 33 import com.hjx.personalcenter.adapter.VideoAdapter;
30 import com.hjx.personalcenter.customdialog.HeadDialog; 34 import com.hjx.personalcenter.customdialog.HeadDialog;
31 import com.hjx.personalcenter.customdialog.RecyclerViewSpaceItem; 35 import com.hjx.personalcenter.customdialog.RecyclerViewSpaceItem;
32 import com.hjx.personalcenter.db.Content; 36 import com.hjx.personalcenter.db.Content;
33 import com.hjx.personalcenter.db.SaveParam; 37 import com.hjx.personalcenter.db.SaveParam;
34 import com.hjx.personalcenter.http.HttpCode; 38 import com.hjx.personalcenter.http.HttpCode;
35 import com.hjx.personalcenter.http.HttpManager; 39 import com.hjx.personalcenter.http.HttpManager;
36 import com.hjx.personalcenter.interfaces.DialogCallBack; 40 import com.hjx.personalcenter.interfaces.DialogCallBack;
37 import com.hjx.personalcenter.model.DefautPublishInfo; 41 import com.hjx.personalcenter.model.DefautPublishInfo;
38 import com.hjx.personalcenter.model.PesonalInfo; 42 import com.hjx.personalcenter.model.PesonalInfo;
39 import com.hjx.personalcenter.model.SignInfo; 43 import com.hjx.personalcenter.model.SignInfo;
40 import com.hjx.personalcenter.model.VideoInfo; 44 import com.hjx.personalcenter.model.VideoInfo;
41 import com.hjx.personalcenter.update.UpdateChecker; 45 import com.hjx.personalcenter.update.UpdateChecker;
42 import com.hjx.personalcenter.util.AlertUtils; 46 import com.hjx.personalcenter.util.AlertUtils;
43 import com.hjx.personalcenter.util.BrithdayStar; 47 import com.hjx.personalcenter.util.BrithdayStar;
44 import com.hjx.personalcenter.util.CropUtils; 48 import com.hjx.personalcenter.util.CropUtils;
45 import com.hjx.personalcenter.util.DialogPermission; 49 import com.hjx.personalcenter.util.DialogPermission;
46 import com.hjx.personalcenter.util.FileUtil; 50 import com.hjx.personalcenter.util.FileUtil;
47 import com.hjx.personalcenter.util.GetDevicesUtil; 51 import com.hjx.personalcenter.util.GetDevicesUtil;
48 import com.hjx.personalcenter.util.PermissionUtil; 52 import com.hjx.personalcenter.util.PermissionUtil;
49 import com.hjx.personalcenter.util.SharedPreferenceMark; 53 import com.hjx.personalcenter.util.SharedPreferenceMark;
50 import com.mylhyl.circledialog.CircleDialog; 54 import com.mylhyl.circledialog.CircleDialog;
51 import com.mylhyl.circledialog.callback.ConfigInput; 55 import com.mylhyl.circledialog.callback.ConfigInput;
52 import com.mylhyl.circledialog.params.InputParams; 56 import com.mylhyl.circledialog.params.InputParams;
53 import com.mylhyl.circledialog.view.listener.OnInputClickListener; 57 import com.mylhyl.circledialog.view.listener.OnInputClickListener;
54 import com.squareup.picasso.Picasso; 58 import com.squareup.picasso.Picasso;
55 import com.zaaach.toprightmenu.MenuItem; 59 import com.zaaach.toprightmenu.MenuItem;
56 import com.zaaach.toprightmenu.TopRightMenu; 60 import com.zaaach.toprightmenu.TopRightMenu;
57 61
58 import org.json.JSONException; 62 import org.json.JSONException;
59 import org.json.JSONObject; 63 import org.json.JSONObject;
60 64
61 import java.io.File; 65 import java.io.File;
62 import java.io.UnsupportedEncodingException; 66 import java.io.UnsupportedEncodingException;
63 import java.util.ArrayList; 67 import java.util.ArrayList;
64 import java.util.List; 68 import java.util.List;
65 69
66 public class MainActivity extends FragmentActivity implements View.OnClickListener, DialogCallBack.CallBackView { 70 public class MainActivity extends FragmentActivity implements View.OnClickListener, DialogCallBack.CallBackView {
67 private ImageView iv_imformatioan, iv_setting, iv_sign, iv_sex, tv_edit_presoninfo; 71 private ImageView iv_imformatioan, iv_setting, iv_sign, iv_sex,iv_switch, tv_edit_presoninfo;
68 private TextView tv_sign, 72 private TextView tv_sign,
69 tv_username, tv_username1, tv_mygad, tv_sex, tv_useinfo_adress, tv_useinfo_birthday, 73 tv_username, tv_username1, tv_mygad, tv_sex, tv_useinfo_adress, tv_useinfo_birthday,
70 tv_useinfo_qq, tv_useinfo_school, tv_useinfo_gender, tv_yangji; 74 tv_useinfo_qq, tv_useinfo_school, tv_useinfo_gender, tv_yangji;
71 private TextView linel_mycuoti, linel_mynote, linel_mycollege, linel_myclass, iv_look_card; 75 private TextView linel_mycuoti, linel_mynote, linel_mycollege, linel_myclass, iv_look_card;
72 private TopRightMenu mTopRightMenu; 76 private TopRightMenu mTopRightMenu;
73 private LinearLayout view_novedeo; 77 private LinearLayout view_novedeo;
74 private View sssssssss; 78 private View sssssssss;
75 //水平滑动 79 //水平滑动
76 private RecyclerView mRecyclerView; 80 private RecyclerView mRecyclerView;
77 private GridView mRecyclerViewpublish; 81 private GridView mRecyclerViewpublish;
78 private VideoAdapter RecyclerViewadapter; 82 private VideoAdapter RecyclerViewadapter;
79 private MianGridAdapter RecyclerViewadapterpublish; 83 private MianGridAdapter RecyclerViewadapterpublish;
80 private ArrayList<DefautPublishInfo.DataBean> defautPublishInfos = new ArrayList<>(); 84 private ArrayList<DefautPublishInfo.DataBean> defautPublishInfos = new ArrayList<>();
81 85
82 private ArrayList<VideoInfo.DataBean> videoinfo = new ArrayList<>(); 86 private ArrayList<VideoInfo.DataBean> videoinfo = new ArrayList<>();
83 private boolean showIcon = false; 87 private boolean showIcon = false;
84 private boolean dimBg = false; 88 private boolean dimBg = false;
85 private boolean needAnim = true; 89 private boolean needAnim = true;
86 private static final int REQUEST_CODE_TAKE_PHOTO = 1; 90 private static final int REQUEST_CODE_TAKE_PHOTO = 1;
87 private static final int REQUEST_CODE_ALBUM = 2; 91 private static final int REQUEST_CODE_ALBUM = 2;
88 private static final int REQUEST_CODE_CROUP_PHOTO = 3; 92 private static final int REQUEST_CODE_CROUP_PHOTO = 3;
89 private ImageView mSimpleDraweeView; 93 private ImageView mSimpleDraweeView;
90 private File file; 94 private File file;
91 private Uri uri; 95 private Uri uri;
92 String portrait; 96 String portrait;
97 private Button middle_btn,primary_btn;
98 private Dialog hintDialog;
99
93 Handler handler = new Handler() { 100 Handler handler = new Handler() {
94 @Override 101 @Override
95 public void handleMessage(Message msg) { 102 public void handleMessage(Message msg) {
96 super.handleMessage(msg); 103 super.handleMessage(msg);
97 switch (msg.what) { 104 switch (msg.what) {
98 case HttpCode.GETINFO: 105 case HttpCode.GETINFO:
99 PesonalInfo.DataBean cardinfoBean = (PesonalInfo.DataBean) msg.obj; 106 PesonalInfo.DataBean cardinfoBean = (PesonalInfo.DataBean) msg.obj;
100 tv_username.setText(cardinfoBean.getNickName()); 107 tv_username.setText(cardinfoBean.getNickName());
101 tv_username1.setText(cardinfoBean.getNickName()); 108 tv_username1.setText(cardinfoBean.getNickName());
102 tv_useinfo_adress.setText(cardinfoBean.getRegion().getRegionName()); 109 tv_useinfo_adress.setText(cardinfoBean.getRegion().getRegionName());
103 tv_useinfo_birthday.setText(cardinfoBean.getBirthday()); 110 tv_useinfo_birthday.setText(cardinfoBean.getBirthday());
104 tv_useinfo_qq.setText(cardinfoBean.getQq()); 111 tv_useinfo_qq.setText(cardinfoBean.getQq());
105 tv_useinfo_school.setText(cardinfoBean.getSchool().getSchoolName()); 112 tv_useinfo_school.setText(cardinfoBean.getSchool().getSchoolName());
106 tv_useinfo_gender.setText(cardinfoBean.getGrade().getGradeName()); 113 tv_useinfo_gender.setText(cardinfoBean.getGrade().getGradeName());
107 String sex = cardinfoBean.getGender(); 114 String sex = cardinfoBean.getGender();
108 if ("0".equals(sex)) { 115 if ("0".equals(sex)) {
109 tv_sex.setText("男"); 116 tv_sex.setText("男");
110 iv_sex.setImageResource(R.mipmap.men); 117 iv_sex.setImageResource(R.mipmap.men);
111 } else { 118 } else {
112 tv_sex.setText("女"); 119 tv_sex.setText("女");
113 iv_sex.setImageResource(R.mipmap.women); 120 iv_sex.setImageResource(R.mipmap.women);
114 } 121 }
115 portrait = cardinfoBean.getPortrait(); 122 portrait = cardinfoBean.getPortrait();
116 //mSimpleDraweeView.setImageURI(cardinfoBean.getPortrait()); 123 //mSimpleDraweeView.setImageURI(cardinfoBean.getPortrait());
117 if (portrait!=null&&!portrait.isEmpty()) { 124 if (portrait!=null&&!portrait.isEmpty()) {
118 Picasso.with(MainActivity.this).load(portrait).into(mSimpleDraweeView); 125 Picasso.with(MainActivity.this).load(portrait).into(mSimpleDraweeView);
119 } 126 }
120 //加载星座 127 //加载星座
121 BrithdayStar brithdayStar = new BrithdayStar(); 128 BrithdayStar brithdayStar = new BrithdayStar();
122 if (cardinfoBean.getBirthday() == null || "".equals(cardinfoBean.getBirthday())) { 129 if (cardinfoBean.getBirthday() == null || "".equals(cardinfoBean.getBirthday())) {
123 tv_mygad.setText(""); 130 tv_mygad.setText("");
124 } else { 131 } else {
125 String xiongzuo = brithdayStar.getConstellations(cardinfoBean.getBirthday()); 132 String xiongzuo = brithdayStar.getConstellations(cardinfoBean.getBirthday());
126 tv_mygad.setText(xiongzuo); 133 tv_mygad.setText(xiongzuo);
127 } 134 }
128 //保存个人信息 135 //保存个人信息
129 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTUSERNAME, cardinfoBean.getNickName()); 136 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTUSERNAME, cardinfoBean.getNickName());
130 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTGRADES, cardinfoBean.getGrade().getGradeName()); 137 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTGRADES, cardinfoBean.getGrade().getGradeName());
131 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTSCHOOL, cardinfoBean.getSchool().getSchoolName()); 138 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTSCHOOL, cardinfoBean.getSchool().getSchoolName());
132 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTCONSTELLATION, cardinfoBean.getBirthday()); 139 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTCONSTELLATION, cardinfoBean.getBirthday());
133 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTSEX, tv_sex.getText().toString()); 140 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTSEX, tv_sex.getText().toString());
134 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTQQ, cardinfoBean.getQq()); 141 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTQQ, cardinfoBean.getQq());
135 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTADRESS, cardinfoBean.getRegion().getRegionName()); 142 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTADRESS, cardinfoBean.getRegion().getRegionName());
136 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTXINGZUO, cardinfoBean.getAddress()); 143 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ACCOUNTXINGZUO, cardinfoBean.getAddress());
137 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ADRESSID, cardinfoBean.getRegion().getRegionId()); 144 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.ADRESSID, cardinfoBean.getRegion().getRegionId());
138 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.PORTAIT, cardinfoBean.getPortrait()); 145 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.PORTAIT, cardinfoBean.getPortrait());
139 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.MAINSHOOLID, cardinfoBean.getSchool().getSchoolId()); 146 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.MAINSHOOLID, cardinfoBean.getSchool().getSchoolId());
140 String graderID = cardinfoBean.getGrade().getGradeId(); 147 String graderID = cardinfoBean.getGrade().getGradeId();
141 Log.e("test", "nianji" + graderID); 148 Log.e("test", "nianji" + graderID);
142 try { 149 try {
143 long auserID = Long.parseLong(graderID); 150 long auserID = Long.parseLong(graderID);
144 String ss = SaveParam.getInstance().getLoginParam(MainActivity.this, SaveParam.GRADENS); 151 String ss = SaveParam.getInstance().getLoginParam(MainActivity.this, SaveParam.GRADENS);
145 // if ((auserID < 8) && (ss == null)) { 152 // if ((auserID < 8) && (ss == null)) {
146 // Intent intentbroad = new Intent(); 153 // Intent intentbroad = new Intent();
147 // intentbroad.putExtra("info", "小学"); 154 // intentbroad.putExtra("info", "小学");
148 // //4、定义广播发送的action 155 // //4、定义广播发送的action
149 // intentbroad.setAction("com.ozing.launcher.SWITCH_GRADE"); 156 // intentbroad.setAction("com.ozing.launcher.SWITCH_GRADE");
150 // //5、发送广播 157 // //5、发送广播
151 // sendBroadcast(intentbroad); 158 // sendBroadcast(intentbroad);
152 // Log.i("---", "发送完了"); 159 // Log.i("---", "发送完了");
153 // } 160 // }
154 } catch (NumberFormatException e) { 161 } catch (NumberFormatException e) {
155 e.printStackTrace(); 162 e.printStackTrace();
156 } 163 }
157 164
158 165
159 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.GRADENS, graderID); 166 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.GRADENS, graderID);
160 String userID = SaveParam.getInstance().getLoginParam(MainActivity.this, "userId"); 167 String userID = SaveParam.getInstance().getLoginParam(MainActivity.this, "userId");
161 //账户类型 168 //账户类型
162 String accounts = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.ACCOUNT); 169 String accounts = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.ACCOUNT);
163 String childID = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.CHILDSID); 170 String childID = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.CHILDSID);
164 171
165 try { 172 try {
166 Object auserID; 173 Object auserID;
167 int type; 174 int type;
168 int graderIDs = Integer.parseInt(graderID); 175 int graderIDs = Integer.parseInt(graderID);
169 if ("2".equals(accounts)) { 176 if ("2".equals(accounts)) {
170 type = Integer.parseInt(accounts); 177 type = Integer.parseInt(accounts);
171 auserID = childID; 178 auserID = childID;
172 } else { 179 } else {
173 type = Integer.parseInt(accounts); 180 type = Integer.parseInt(accounts);
174 auserID = Long.parseLong(userID); 181 auserID = Long.parseLong(userID);
175 } 182 }
176 //获取版本信息 183 //获取版本信息
177 //Log.e("test","nianji"+graderID+auserID+"sssss"+type); 184 //Log.e("test","nianji"+graderID+auserID+"sssss"+type);
178 HttpManager.getInstance().getpublishinfo(MainActivity.this, auserID, graderIDs, type, handler); 185 HttpManager.getInstance().getpublishinfo(MainActivity.this, auserID, graderIDs, type, handler);
179 186
180 } catch (NumberFormatException e) { 187 } catch (NumberFormatException e) {
181 e.printStackTrace(); 188 e.printStackTrace();
182 } 189 }
183 190
184 break; 191 break;
185 case HttpCode.SIGN: 192 case HttpCode.SIGN:
186 SignInfo.DataBean dataBean = (SignInfo.DataBean) msg.obj; 193 SignInfo.DataBean dataBean = (SignInfo.DataBean) msg.obj;
187 if (dataBean.getSignature() == null) { 194 if (dataBean.getSignature() == null) {
188 tv_sign.setText("你还未设置个性签名"); 195 tv_sign.setText("你还未设置个性签名");
189 } else { 196 } else {
190 tv_sign.setText(dataBean.getSignature()); 197 tv_sign.setText(dataBean.getSignature());
191 } 198 }
192 199
193 break; 200 break;
194 case HttpCode.PUBLISH_SUCESS: 201 case HttpCode.PUBLISH_SUCESS:
195 defautPublishInfos.clear(); 202 defautPublishInfos.clear();
196 defautPublishInfos.addAll((List<DefautPublishInfo.DataBean>) msg.obj); 203 defautPublishInfos.addAll((List<DefautPublishInfo.DataBean>) msg.obj);
197 RecyclerViewadapterpublish.notifyDataSetChanged(); 204 RecyclerViewadapterpublish.notifyDataSetChanged();
198 Gson gson = new Gson(); 205 Gson gson = new Gson();
199 Log.e("test", "(List<DefautPublishInfo.DataBean>) msg.obj" + gson.toJson(msg.obj)); 206 Log.e("test", "(List<DefautPublishInfo.DataBean>) msg.obj" + gson.toJson(msg.obj));
200 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.VERSIONINTEFACE, gson.toJson(msg.obj)); 207 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.VERSIONINTEFACE, gson.toJson(msg.obj));
201 break; 208 break;
202 case HttpCode.GETVIDIO_SUCESS: 209 case HttpCode.GETVIDIO_SUCESS:
203 videoinfo.clear(); 210 videoinfo.clear();
204 view_novedeo.setVisibility(View.GONE); 211 view_novedeo.setVisibility(View.GONE);
205 videoinfo.addAll((List<VideoInfo.DataBean>) msg.obj); 212 videoinfo.addAll((List<VideoInfo.DataBean>) msg.obj);
206 RecyclerViewadapter.notifyDataSetChanged(); 213 RecyclerViewadapter.notifyDataSetChanged();
207 break; 214 break;
208 case HttpCode.SUCHCARDINFOONE: 215 case HttpCode.SUCHCARDINFOONE:
209 JSONObject jsonObject; 216 JSONObject jsonObject;
210 String status; 217 String status;
211 try { 218 try {
212 jsonObject = new JSONObject((String) msg.obj); 219 jsonObject = new JSONObject((String) msg.obj);
213 status = jsonObject.getString("status"); 220 status = jsonObject.getString("status");
214 if (status.equals("1")) { 221 if (status.equals("1")) {
215 //sssssssss.setVisibility(View.VISIBLE); 222 //sssssssss.setVisibility(View.VISIBLE);
216 tv_yangji.setVisibility(View.GONE); 223 tv_yangji.setVisibility(View.GONE);
217 iv_look_card.setVisibility(View.VISIBLE); 224 iv_look_card.setVisibility(View.VISIBLE);
218 //客机没有保卡 225 //客机没有保卡
219 } else if (status.equals("2001")) { 226 } else if (status.equals("2001")) {
220 //sssssssss.setVisibility(View.VISIBLE); 227 //sssssssss.setVisibility(View.VISIBLE);
221 tv_yangji.setVisibility(View.GONE); 228 tv_yangji.setVisibility(View.GONE);
222 iv_look_card.setVisibility(View.VISIBLE); 229 iv_look_card.setVisibility(View.VISIBLE);
223 AlertUtils.showToast(MainActivity.this, "您的机器还没有保卡信息或该机器已置为样机,请重新登录"); 230 AlertUtils.showToast(MainActivity.this, "您的机器还没有保卡信息或该机器已置为样机,请重新登录");
224 SaveParam.getInstance().clearData(MainActivity.this); 231 SaveParam.getInstance().clearData(MainActivity.this);
225 Intent settingintent = new Intent(); 232 Intent settingintent = new Intent();
226 settingintent.setClass(MainActivity.this, LoginAndRegisterActivity.class); 233 settingintent.setClass(MainActivity.this, LoginAndRegisterActivity.class);
227 startActivity(settingintent); 234 startActivity(settingintent);
235 MainActivity.this.finish();
228 overridePendingTransition(R.anim.rightin, R.anim.rightout); 236 overridePendingTransition(R.anim.rightin, R.anim.rightout);
229 } else if (status.equals("2002")) {//样机 237 } else if (status.equals("2002")) {//样机
230 //sssssssss.setVisibility(View.INVISIBLE); 238 //sssssssss.setVisibility(View.INVISIBLE);
231 iv_look_card.setVisibility(View.INVISIBLE); 239 iv_look_card.setVisibility(View.INVISIBLE);
232 tv_yangji.setVisibility(View.VISIBLE); 240 tv_yangji.setVisibility(View.VISIBLE);
233 241
234 } else { 242 } else {
235 AlertUtils.showToast(MainActivity.this, "服务器连接失败"); 243 AlertUtils.showToast(MainActivity.this, "服务器连接失败");
236 } 244 }
237 } catch (JSONException e) { 245 } catch (JSONException e) {
238 e.printStackTrace(); 246 e.printStackTrace();
239 } 247 }
240 case HttpCode.TOUXIANG: 248 case HttpCode.TOUXIANG:
241 if (msg.obj.equals("1")){ 249 if (msg.obj.equals("1")){
242 String s = SaveParam.getInstance().getLoginParam(MainActivity.this,SaveParam.PORTAIT); 250 String s = SaveParam.getInstance().getLoginParam(MainActivity.this,SaveParam.PORTAIT);
243 if (portrait!=null&&!portrait.isEmpty()){ 251 if (portrait!=null&&!portrait.isEmpty()){
244 Picasso.with(MainActivity.this).load(s).into(mSimpleDraweeView); 252 Picasso.with(MainActivity.this).load(s).into(mSimpleDraweeView);
245 } 253 }
246 254
247 } 255 }
248 break; 256 break;
249 case HttpCode.RELOGIN: 257 case HttpCode.RELOGIN:
250 //清除数据 258 //清除数据
251 SaveParam.getInstance().saveCustomizeParam(MainActivity.this, SaveParam.ACCOUNT, "1"); 259 SaveParam.getInstance().saveCustomizeParam(MainActivity.this, SaveParam.ACCOUNT, "1");
252 SaveParam.getInstance().clearData(MainActivity.this); 260 SaveParam.getInstance().clearData(MainActivity.this);
253 Intent settingintent = new Intent(); 261 Intent settingintent = new Intent();
254 settingintent.setClass(MainActivity.this, LoginAndRegisterActivity.class); 262 settingintent.setClass(MainActivity.this, LoginAndRegisterActivity.class);
255 startActivity(settingintent); 263 startActivity(settingintent);
256 overridePendingTransition(R.anim.rightin, R.anim.rightout); 264 overridePendingTransition(R.anim.rightin, R.anim.rightout);
257 finish(); 265 finish();
258 break; 266 break;
259 267
260 268
261 } 269 }
262 } 270 }
263 }; 271 };
264 272
265 @Override 273 @Override
266 protected void onCreate(Bundle savedInstanceState) { 274 protected void onCreate(Bundle savedInstanceState) {
267 super.onCreate(savedInstanceState); 275 super.onCreate(savedInstanceState);
268 setContentView(R.layout.activity_main); 276 setContentView(R.layout.activity_main);
269 SysApplication.getInstance().addActivity(this); 277 SysApplication.getInstance().addActivity(this);
270 initView(); 278 initView();
271 initData(); 279 initData();
272 initLister(); 280 initLister();
273 updateVersion(); 281 updateVersion();
282 GetDevicesUtil.getMacAddress(this);
274 } 283 }
275 284
276 //////版本更新 285 //////版本更新
277 private void updateVersion() { 286 private void updateVersion() {
278 UpdateChecker updateChecker = new UpdateChecker(this); 287 if (PermissionUtil.hasReadExternalStoragePermission(this)) {
279 updateChecker.checkForUpdates(); 288 UpdateChecker updateChecker = new UpdateChecker(this);
280 289 updateChecker.checkForUpdates();
281 290 }
282 } 291 }
283 292
284 private void initView() { 293 private void initView() {
285 iv_imformatioan = (ImageView) findViewById(R.id.iv_imformatioan); 294 iv_imformatioan = (ImageView) findViewById(R.id.iv_imformatioan);
286 iv_look_card = (TextView) findViewById(R.id.iv_look_card); 295 iv_look_card = (TextView) findViewById(R.id.iv_look_card);
287 tv_edit_presoninfo = (ImageView) findViewById(R.id.tv_edit_presoninfo); 296 tv_edit_presoninfo = (ImageView) findViewById(R.id.tv_edit_presoninfo);
288 iv_setting = (ImageView) findViewById(R.id.iv_setting); 297 iv_setting = (ImageView) findViewById(R.id.iv_setting);
289 iv_sign = (ImageView) findViewById(R.id.iv_sign); 298 iv_sign = (ImageView) findViewById(R.id.iv_sign);
290 tv_sign = (TextView) findViewById(R.id.tv_sign); 299 tv_sign = (TextView) findViewById(R.id.tv_sign);
291 //头像 300 //头像
292 mSimpleDraweeView = (ImageView) findViewById(R.id.iv_head); 301 mSimpleDraweeView = (ImageView) findViewById(R.id.iv_head);
293 //初始化个人信息 302 //初始化个人信息
294 iv_sex = (ImageView) findViewById(R.id.iv_sex); 303 iv_sex = (ImageView) findViewById(R.id.iv_sex);
304 iv_switch = (ImageView) findViewById(R.id.iv_switch);
295 tv_username = (TextView) findViewById(R.id.tv_username); 305 tv_username = (TextView) findViewById(R.id.tv_username);
296 tv_username1 = (TextView) findViewById(R.id.tv_username1); 306 tv_username1 = (TextView) findViewById(R.id.tv_username1);
297 tv_mygad = (TextView) findViewById(R.id.tv_mygad); 307 tv_mygad = (TextView) findViewById(R.id.tv_mygad);
298 tv_sex = (TextView) findViewById(R.id.tv_sex); 308 tv_sex = (TextView) findViewById(R.id.tv_sex);
299 tv_useinfo_adress = (TextView) findViewById(R.id.tv_useinfo_adress); 309 tv_useinfo_adress = (TextView) findViewById(R.id.tv_useinfo_adress);
300 tv_useinfo_birthday = (TextView) findViewById(R.id.tv_useinfo_birthday); 310 tv_useinfo_birthday = (TextView) findViewById(R.id.tv_useinfo_birthday);
301 tv_useinfo_qq = (TextView) findViewById(R.id.tv_useinfo_qq); 311 tv_useinfo_qq = (TextView) findViewById(R.id.tv_useinfo_qq);
302 tv_useinfo_school = (TextView) findViewById(R.id.tv_useinfo_school); 312 tv_useinfo_school = (TextView) findViewById(R.id.tv_useinfo_school);
303 tv_useinfo_gender = (TextView) findViewById(R.id.tv_useinfo_gender); 313 tv_useinfo_gender = (TextView) findViewById(R.id.tv_useinfo_gender);
304 tv_yangji = (TextView) findViewById(R.id.tv_yangji); 314 tv_yangji = (TextView) findViewById(R.id.tv_yangji);
305 //跳转其他应用 315 //跳转其他应用
306 linel_mycuoti = (TextView) findViewById(R.id.linel_mycuoti); 316 linel_mycuoti = (TextView) findViewById(R.id.linel_mycuoti);
307 linel_mynote = (TextView) findViewById(R.id.linel_mynote); 317 linel_mynote = (TextView) findViewById(R.id.linel_mynote);
308 linel_mycollege = (TextView) findViewById(R.id.linel_mycollege); 318 linel_mycollege = (TextView) findViewById(R.id.linel_mycollege);
309 linel_myclass = (TextView) findViewById(R.id.linel_myclass); 319 linel_myclass = (TextView) findViewById(R.id.linel_myclass);
310 // 320 //
311 mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview_horizontal); 321 mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview_horizontal);
312 mRecyclerViewpublish = (GridView) findViewById(R.id.id_recyclerview_pubish); 322 mRecyclerViewpublish = (GridView) findViewById(R.id.id_recyclerview_pubish);
313 view_novedeo = (LinearLayout) findViewById(R.id.view_novedeo); 323 view_novedeo = (LinearLayout) findViewById(R.id.view_novedeo);
314 324
315 //sssssssss = findViewById(R.id.sssssssss); 325 //sssssssss = findViewById(R.id.sssssssss);
316 326
317 } 327 }
318 328
319 329
320 private void initData() { 330 private void initData() {
321 file = new File(FileUtil.getCachePath(this), "user-avatar.jpg"); 331 file = new File(FileUtil.getCachePath(this), "user-avatar.jpg");
322 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { 332 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
323 uri = Uri.fromFile(file); 333 uri = Uri.fromFile(file);
324 } else { 334 } else {
325 //通过FileProvider创建一个content类型的Uri(android 7.0需要这样的方法跨应用访问) 335 //通过FileProvider创建一个content类型的Uri(android 7.0需要这样的方法跨应用访问)
326 uri = FileProvider.getUriForFile(MyApplication.getContext(), "com.hjx.personalcenter", file); 336 uri = FileProvider.getUriForFile(MyApplication.getContext(), "com.hjx.personalcenter.fileprovider", file);
327 } 337 }
328 //设置布局管理器 338 //设置布局管理器
329 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this); 339 LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
330 linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); 340 linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
331 341
332 // LinearLayoutManager linearLayoutManagerpublish = new LinearLayoutManager(this); 342 // LinearLayoutManager linearLayoutManagerpublish = new LinearLayoutManager(this);
333 // linearLayoutManagerpublish.setOrientation(LinearLayoutManager.HORIZONTAL); 343 // linearLayoutManagerpublish.setOrientation(LinearLayoutManager.HORIZONTAL);
334 344
335 mRecyclerView.setLayoutManager(linearLayoutManager); 345 mRecyclerView.setLayoutManager(linearLayoutManager);
336 mRecyclerView.addItemDecoration(new RecyclerViewSpaceItem(10)); 346 mRecyclerView.addItemDecoration(new RecyclerViewSpaceItem(10));
337 347
338 // mRecyclerViewpublish.setLayoutManager(linearLayoutManagerpublish); 348 // mRecyclerViewpublish.setLayoutManager(linearLayoutManagerpublish);
339 // mRecyclerViewpublish.addItemDecoration(new RecyclerViewSpaceItem(10)); 349 // mRecyclerViewpublish.addItemDecoration(new RecyclerViewSpaceItem(10));
340 350
341 //设置视频适配器 351 //设置视频适配器
342 RecyclerViewadapter = new VideoAdapter(this, videoinfo); 352 RecyclerViewadapter = new VideoAdapter(this, videoinfo);
343 RecyclerViewadapterpublish = new MianGridAdapter(defautPublishInfos, this); 353 RecyclerViewadapterpublish = new MianGridAdapter(defautPublishInfos, this);
344 354
345 //版本信息适配器 355 //版本信息适配器
346 mRecyclerView.setAdapter(RecyclerViewadapter); 356 mRecyclerView.setAdapter(RecyclerViewadapter);
347 mRecyclerViewpublish.setAdapter(RecyclerViewadapterpublish); 357 mRecyclerViewpublish.setAdapter(RecyclerViewadapterpublish);
348 358
349 //判断保卡信息是否为样机 359 //判断保卡信息是否为样机
350 String yangji = SaveParam.getInstance().getLoginParam(this, SaveParam.YANGJI); 360 String yangji = SaveParam.getInstance().getLoginParam(this, SaveParam.YANGJI);
351 String deviceNumber = GetDevicesUtil.getDevicesInfo(MainActivity.this).getDeviceNumber(); 361 String deviceNumber = GetDevicesUtil.getDevicesInfo(MainActivity.this).getDeviceNumber();
352 Log.d("test", "yangji" + yangji); 362 Log.d("test", "yangji" + yangji);
353 if ("1".equals(yangji)) { 363 if ("1".equals(yangji)) {
354 //sssssssss.setVisibility(View.INVISIBLE); 364 //sssssssss.setVisibility(View.INVISIBLE);
355 iv_look_card.setVisibility(View.INVISIBLE); 365 iv_look_card.setVisibility(View.INVISIBLE);
356 tv_yangji.setVisibility(View.VISIBLE); 366 tv_yangji.setVisibility(View.VISIBLE);
357 } else { 367 } else {
358 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.YANGJI, "0"); 368 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.YANGJI, "0");
359 HttpManager.getInstance().getcardinfo1(this, deviceNumber, handler); 369 HttpManager.getInstance().getcardinfo1(this, deviceNumber, handler);
360 370
361 } 371 }
362 372
363 373
364 } 374 }
365 375
366 private void initLister() { 376 private void initLister() {
367 iv_imformatioan.setOnClickListener(this); 377 iv_imformatioan.setOnClickListener(this);
368 iv_look_card.setOnClickListener(this); 378 iv_look_card.setOnClickListener(this);
369 tv_edit_presoninfo.setOnClickListener(this); 379 tv_edit_presoninfo.setOnClickListener(this);
370 iv_setting.setOnClickListener(this); 380 iv_setting.setOnClickListener(this);
371 iv_sign.setOnClickListener(this); 381 iv_sign.setOnClickListener(this);
372 tv_sign.setOnClickListener(this); 382 tv_sign.setOnClickListener(this);
373 mSimpleDraweeView.setOnClickListener(this); 383 mSimpleDraweeView.setOnClickListener(this);
374 linel_mycuoti.setOnClickListener(this); 384 linel_mycuoti.setOnClickListener(this);
375 linel_mynote.setOnClickListener(this); 385 linel_mynote.setOnClickListener(this);
376 linel_mycollege.setOnClickListener(this); 386 linel_mycollege.setOnClickListener(this);
377 linel_myclass.setOnClickListener(this); 387 linel_myclass.setOnClickListener(this);
388 iv_switch.setOnClickListener(this);
378 389
379 } 390 }
380 391
381 @Override 392 @Override
382 public void onClick(View v) { 393 public void onClick(View v) {
383 switch (v.getId()) { 394 switch (v.getId()) {
384 case R.id.iv_imformatioan: 395 case R.id.iv_imformatioan:
385 Intent intent = new Intent(); 396 Intent intent = new Intent();
386 intent.setClass(MainActivity.this, FeedBackActivity.class); 397 intent.setClass(MainActivity.this, FeedBackActivity.class);
387 startActivity(intent); 398 startActivity(intent);
388 overridePendingTransition(R.anim.rightin, R.anim.rightout); 399 overridePendingTransition(R.anim.rightin, R.anim.rightout);
389 break; 400 break;
390 case R.id.iv_look_card: 401 case R.id.iv_look_card:
391 Intent lookintent = new Intent(); 402 Intent lookintent = new Intent();
392 lookintent.setClass(MainActivity.this, ElectronicCardLookInfoActivity.class); 403 lookintent.setClass(MainActivity.this, ElectronicCardLookInfoActivity.class);
393 startActivity(lookintent); 404 startActivity(lookintent);
394 overridePendingTransition(R.anim.rightin, R.anim.rightout); 405 overridePendingTransition(R.anim.rightin, R.anim.rightout);
395 break; 406 break;
396 case R.id.tv_edit_presoninfo: 407 case R.id.tv_edit_presoninfo:
397 Intent editintent = new Intent(); 408 Intent editintent = new Intent();
398 editintent.setClass(MainActivity.this, ChangePresonalInfoActivity.class); 409 editintent.setClass(MainActivity.this, ChangePresonalInfoActivity.class);
399 startActivity(editintent); 410 startActivity(editintent);
400 overridePendingTransition(R.anim.rightin, R.anim.rightout); 411 overridePendingTransition(R.anim.rightin, R.anim.rightout);
401 break; 412 break;
402 case R.id.iv_head: 413 case R.id.iv_head:
403 HeadDialog.getInstance(this).show(getSupportFragmentManager(), "HeadDialog"); 414 HeadDialog.getInstance(this).show(getSupportFragmentManager(), "HeadDialog");
404 break; 415 break;
405 case R.id.iv_setting: 416 case R.id.iv_setting:
406 mTopRightMenu = new TopRightMenu(MainActivity.this); 417 mTopRightMenu = new TopRightMenu(MainActivity.this);
407 List<MenuItem> menuItems = new ArrayList<>(); 418 List<MenuItem> menuItems = new ArrayList<>();
408 menuItems.add(new MenuItem(R.mipmap.blank, " 切换账户")); 419 menuItems.add(new MenuItem(R.mipmap.blank, " 切换账户"));
409 menuItems.add(new MenuItem(R.mipmap.blank, " 账户管理")); 420 menuItems.add(new MenuItem(R.mipmap.blank, " 账户管理"));
410 mTopRightMenu 421 mTopRightMenu
411 .setHeight(150) //默认高度480 422 .setHeight(CropUtils.dp2px(this,100)) //默认高度480
412 .setWidth(180) //默认宽度wrap_content 423 .setWidth(CropUtils.dp2px(this,110)) //默认宽度wrap_content
413 .showIcon(showIcon) //显示菜单图标,默认为true 424 .showIcon(showIcon) //显示菜单图标,默认为true
414 .dimBackground(dimBg) //背景变暗,默认为true 425 .dimBackground(dimBg) //背景变暗,默认为true
415 .needAnimationStyle(needAnim) //显示动画,默认为true 426 .needAnimationStyle(needAnim) //显示动画,默认为true
416 .setAnimationStyle(R.style.TRM_ANIM_STYLE) //默认为R.style.TRM_ANIM_STYLE 427 .setAnimationStyle(R.style.TRM_ANIM_STYLE) //默认为R.style.TRM_ANIM_STYLE
417 .setOnMenuItemClickListener(new TopRightMenu.OnMenuItemClickListener() { 428 .setOnMenuItemClickListener(new TopRightMenu.OnMenuItemClickListener() {
418 @Override 429 @Override
419 public void onMenuItemClick(int position) { 430 public void onMenuItemClick(int position) {
420 switch (position) { 431 switch (position) {
421 case 0: 432 case 0:
422 new CircleDialog.Builder(MainActivity.this) 433 new CircleDialog.Builder(MainActivity.this)
423 .setCanceledOnTouchOutside(false) 434 .setCanceledOnTouchOutside(false)
424 .setWidth(0.4f) 435 .setWidth(0.4f)
425 .setCancelable(false) 436 .setCancelable(false)
426 .setText("您确定要退出,更换其他账号登录吗?") 437 .setText("您确定要退出,更换其他账号登录吗?")
427 .setNegative("取消", null) 438 .setNegative("取消", null)
428 .setPositive("确定", new View.OnClickListener() { 439 .setPositive("确定", new View.OnClickListener() {
429 @Override 440 @Override
430 public void onClick(View v) { 441 public void onClick(View v) {
431 //String graderID = SaveParam.getInstance().getLoginParam(MainActivity.this, SaveParam.GRADENS); 442 //String graderID = SaveParam.getInstance().getLoginParam(MainActivity.this, SaveParam.GRADENS);
432 //int graderIDs = Integer.parseInt(graderID); 443 //int graderIDs = Integer.parseInt(graderID);
433 // if (graderIDs < 8) { 444 // if (graderIDs < 8) {
434 // Intent intentbroad = new Intent(); 445 // Intent intentbroad = new Intent();
435 // intentbroad.putExtra("info", "小学"); 446 // intentbroad.putExtra("info", "小学");
436 // //4、定义广播发送的action 447 // //4、定义广播发送的action
437 // intentbroad.setAction("com.ozing.launcher.SWITCH_GRADE"); 448 // intentbroad.setAction("com.ozing.launcher.SWITCH_GRADE");
438 // //5、发送广播 449 // //5、发送广播
439 // sendBroadcast(intentbroad); 450 // sendBroadcast(intentbroad);
440 // Log.i("---", "发送完了"); 451 // Log.i("---", "发送完了");
441 // } 452 // }
442 //清除数据 453 //清除数据
443 SaveParam.getInstance().saveCustomizeParam(MainActivity.this, SaveParam.ACCOUNT, "1"); 454 SaveParam.getInstance().saveCustomizeParam(MainActivity.this, SaveParam.ACCOUNT, "1");
444 SaveParam.getInstance().clearData(MainActivity.this); 455 SaveParam.getInstance().clearData(MainActivity.this);
445 Intent settingintent = new Intent(); 456 Intent settingintent = new Intent();
446 settingintent.setClass(MainActivity.this, LoginAndRegisterActivity.class); 457 settingintent.setClass(MainActivity.this, LoginAndRegisterActivity.class);
447 startActivity(settingintent); 458 startActivity(settingintent);
448 overridePendingTransition(R.anim.rightin, R.anim.rightout); 459 overridePendingTransition(R.anim.rightin, R.anim.rightout);
449 finish(); 460 finish();
450 } 461 }
451 }) 462 })
452 .show(); 463 .show();
453 break; 464 break;
454 case 1: 465 case 1:
455 Intent accontMintent = new Intent(); 466 Intent accontMintent = new Intent();
456 accontMintent.setClass(MainActivity.this, AccountManagementActivity.class); 467 accontMintent.setClass(MainActivity.this, AccountManagementActivity.class);
457 startActivity(accontMintent); 468 startActivity(accontMintent);
458 overridePendingTransition(R.anim.rightin, R.anim.rightout); 469 overridePendingTransition(R.anim.rightin, R.anim.rightout);
459 break; 470 break;
460 } 471 }
461 } 472 }
462 }) 473 })
463 .addMenuList(menuItems) 474 .addMenuList(menuItems)
464 .showAsDropDown(iv_setting, -120, 0); 475 .showAsDropDown(iv_setting, -120, 0);
465 break; 476 break;
466 case R.id.iv_sign: 477 case R.id.iv_sign:
467 case R.id.tv_sign: 478 case R.id.tv_sign:
468 new CircleDialog.Builder(this) 479 new CircleDialog.Builder(this)
469 .setCanceledOnTouchOutside(false) 480 .setCanceledOnTouchOutside(false)
470 .setCancelable(true) 481 .setCancelable(true)
471 .setTitle("个性签名") 482 .setTitle("个性签名")
472 .setInputHint("请输入个性签名") 483 .setInputHint("请输入个性签名")
473 .setWidth(0.4f) 484 .setWidth(0.4f)
474 .setInputHeight(80) 485 .setInputHeight(80)
475 .configInput(new ConfigInput() { 486 .configInput(new ConfigInput() {
476 @Override 487 @Override
477 public void onConfig(InputParams params) { 488 public void onConfig(InputParams params) {
478 // params.inputBackgroundResourceId = R.drawable.bg_input; 489 // params.inputBackgroundResourceId = R.drawable.bg_input;
479 } 490 }
480 }) 491 })
481 .setNegative("取消", new View.OnClickListener() { 492 .setNegative("取消", new View.OnClickListener() {
482 @Override 493 @Override
483 public void onClick(View v) { 494 public void onClick(View v) {
484 RecyclerViewadapterpublish.notifyDataSetChanged(); 495 RecyclerViewadapterpublish.notifyDataSetChanged();
485 } 496 }
486 }) 497 })
487 .setPositiveInput("确定", new OnInputClickListener() { 498 .setPositiveInput("确定", new OnInputClickListener() {
488 @Override 499 @Override
489 public void onClick(String text, View v) { 500 public void onClick(String text, View v) {
490 if (text.equals("")) { 501 if (text.equals("")) {
491 AlertUtils.showToast(MainActivity.this, "请输入个性签名"); 502 AlertUtils.showToast(MainActivity.this, "请输入个性签名");
492 } else { 503 } else {
493 try { 504 try {
494 String typeaccount = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.ACCOUNT); 505 String typeaccount = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.ACCOUNT);
495 String userID = SaveParam.getInstance().getLoginParam(MainActivity.this, "userId"); 506 String userID = SaveParam.getInstance().getLoginParam(MainActivity.this, "userId");
496 String childsID = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.CHILDSID); 507 String childsID = SaveParam.getInstance().getCustomizeParam(MainActivity.this, SaveParam.CHILDSID);
497 Object id = null; 508 Object id = null;
498 long auserID = Long.parseLong(userID); 509 long auserID = Long.parseLong(userID);
499 int typeaccount1 = Integer.parseInt(typeaccount); 510 int typeaccount1 = Integer.parseInt(typeaccount);
500 if (typeaccount1 == 2) { 511 if (typeaccount1 == 2) {
501 id = childsID; 512 id = childsID;
502 } else { 513 } else {
503 id = auserID; 514 id = auserID;
504 } 515 }
505 HttpManager.getInstance().changsignature(MainActivity.this, id, typeaccount1, text); 516 HttpManager.getInstance().changsignature(MainActivity.this, id, typeaccount1, text);
506 RecyclerViewadapterpublish.notifyDataSetChanged(); 517 RecyclerViewadapterpublish.notifyDataSetChanged();
507 } catch (NumberFormatException e) { 518 } catch (NumberFormatException e) {
508 e.printStackTrace(); 519 e.printStackTrace();
509 } 520 }
510 521
511 tv_sign.setText(text); 522 tv_sign.setText(text);
512 } 523 }
513 524
514 } 525 }
515 }) 526 })
516 .show(); 527 .show();
517 break; 528 break;
529 case R.id.iv_switch:
530 showSwitchDialog();
531 break;
532 case R.id.middle_btn:
533 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.GRADENS, "9");
534 hintDialog.cancel();
535 SysApplication.getInstance().exit();
536 break;
537 case R.id.primary_btn:
538 SaveParam.getInstance().saveLoginParam(MainActivity.this, SaveParam.GRADENS, "3");
539 hintDialog.cancel();
540 SysApplication.getInstance().exit();
541 break;
518 case R.id.linel_mycuoti: 542 case R.id.linel_mycuoti:
519 AlertUtils.showToast(this, "未安装该应用 "); 543 AlertUtils.showToast(this, "未安装该应用 ");
520 break; 544 break;
521 case R.id.linel_mynote: 545 case R.id.linel_mynote:
522 AlertUtils.showToast(this, "未安装该应用 "); 546 AlertUtils.showToast(this, "未安装该应用 ");
523 break; 547 break;
524 case R.id.linel_mycollege: 548 case R.id.linel_mycollege:
525 AlertUtils.showToast(this, "未安装该应用 "); 549 AlertUtils.showToast(this, "未安装该应用 ");
526 break; 550 break;
527 case R.id.linel_myclass: 551 case R.id.linel_myclass:
528 AlertUtils.showToast(this, "未安装该应用 "); 552 AlertUtils.showToast(this, "未安装该应用 ");
529 break; 553 break;
530 } 554 }
531 555
532 } 556 }
533 557
534 @Override 558 @Override
535 protected void onPause() { 559 protected void onPause() {
536 super.onPause(); 560 super.onPause();
537 } 561 }
538 562
539 @Override 563 @Override
540 protected void onResume() { 564 protected void onResume() {
541 super.onResume(); 565 super.onResume();
542 Content.changegradeinfoflag = 0; 566 Content.changegradeinfoflag = 0;
543 Content.changeadressinfoflag = 0; 567 Content.changeadressinfoflag = 0;
544 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 568 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
545 //获取个性签名 569 //获取个性签名
546 String typeaccount = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT); 570 String typeaccount = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT);
547 String childsID = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSID); 571 String childsID = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSID);
548 572
549 try { 573 try {
550 Object auserID = 1; 574 Object auserID = 1;
551 long id = Long.parseLong(userID); 575 long id = Long.parseLong(userID);
552 int typeaccount1 = Integer.parseInt(typeaccount); 576 int typeaccount1 = Integer.parseInt(typeaccount);
553 //获取个人信息 577 //获取个人信息
554 HttpManager.getInstance().getpresonalinfo(MainActivity.this, id, typeaccount1, handler); 578 HttpManager.getInstance().getpresonalinfo(MainActivity.this, id, typeaccount1, handler);
555 if (typeaccount1 == 2) { 579 if (typeaccount1 == 2) {
556 auserID = childsID; 580 auserID = childsID;
557 } else { 581 } else {
558 auserID = id; 582 auserID = id;
559 } 583 }
560 Log.e("test", "个性签名的ID" + auserID); 584 Log.e("test", "个性签名的ID" + auserID);
561 HttpManager.getInstance().getsignatures(MainActivity.this, auserID, typeaccount1, handler); 585 HttpManager.getInstance().getsignatures(MainActivity.this, auserID, typeaccount1, handler);
562 //获取最近播放视频 586 //获取最近播放视频
563 HttpManager.getInstance().getstuyvidioinfo(this, auserID, handler); 587 HttpManager.getInstance().getstuyvidioinfo(this, auserID, handler);
564 588
565 } catch (NumberFormatException e) { 589 } catch (NumberFormatException e) {
566 e.printStackTrace(); 590 e.printStackTrace();
567 } 591 }
568 592
569 } 593 }
570 594
571 //回调头像监听 595 //回调头像监听
572 @Override 596 @Override
573 public void heard(Context context, View v, int headpitiaon) { 597 public void heard(Context context, View v, int headpitiaon) {
574 String picUrl = ""; 598 String picUrl = "";
575 String userID; 599 String userID;
576 String typeaccount = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT); 600 String typeaccount = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT);
577 if ("2".equals(typeaccount)) { 601 if ("2".equals(typeaccount)) {
578 userID = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSID); 602 userID = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSID);
579 } else { 603 } else {
580 userID = SaveParam.getInstance().getLoginParam(this, "userId"); 604 userID = SaveParam.getInstance().getLoginParam(this, "userId");
581 } 605 }
582 switch (v.getId()) { 606 switch (v.getId()) {
583 //选择默认图片 607 //选择默认图片
584 case R.id.oktakephone: 608 case R.id.oktakephone:
585 if (headpitiaon == 1) { 609 if (headpitiaon == 1) {
586 mSimpleDraweeView.setImageDrawable(null); 610 mSimpleDraweeView.setImageDrawable(null);
587 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar1); 611 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar1);
588 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/75f05c02-3dbc-44e3-aec9-a73eca60ca8b.png"; 612 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/75f05c02-3dbc-44e3-aec9-a73eca60ca8b.png";
589 try { 613 try {
590 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl); 614 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl);
591 } catch (UnsupportedEncodingException e) { 615 } catch (UnsupportedEncodingException e) {
592 e.printStackTrace(); 616 e.printStackTrace();
593 } 617 }
594 } else if (headpitiaon == 2) { 618 } else if (headpitiaon == 2) {
595 mSimpleDraweeView.setImageDrawable(null); 619 mSimpleDraweeView.setImageDrawable(null);
596 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar2); 620 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar2);
597 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/d102b0d8-435f-45a5-908f-ea43e02176d4.png"; 621 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/d102b0d8-435f-45a5-908f-ea43e02176d4.png";
598 try { 622 try {
599 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl); 623 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl);
600 } catch (UnsupportedEncodingException e) { 624 } catch (UnsupportedEncodingException e) {
601 e.printStackTrace(); 625 e.printStackTrace();
602 } 626 }
603 } else if (headpitiaon == 3) { 627 } else if (headpitiaon == 3) {
604 mSimpleDraweeView.setImageDrawable(null); 628 mSimpleDraweeView.setImageDrawable(null);
605 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar3); 629 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar3);
606 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/a623a8ba-5e56-4827-95d1-ffeb0d6874d5.png"; 630 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/a623a8ba-5e56-4827-95d1-ffeb0d6874d5.png";
607 try { 631 try {
608 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl); 632 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl);
609 } catch (UnsupportedEncodingException e) { 633 } catch (UnsupportedEncodingException e) {
610 e.printStackTrace(); 634 e.printStackTrace();
611 } 635 }
612 } else if (headpitiaon == 4) { 636 } else if (headpitiaon == 4) {
613 mSimpleDraweeView.setImageDrawable(null); 637 mSimpleDraweeView.setImageDrawable(null);
614 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar4); 638 mSimpleDraweeView.setImageResource(R.mipmap.default_avatar4);
615 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/3d822736-a18d-47ae-b0b1-67752e027375.png"; 639 picUrl = "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2018-01-25/3d822736-a18d-47ae-b0b1-67752e027375.png";
616 try { 640 try {
617 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl); 641 HttpManager.getInstance().headerdeft(this, userID, typeaccount, picUrl);
618 } catch (UnsupportedEncodingException e) { 642 } catch (UnsupportedEncodingException e) {
619 e.printStackTrace(); 643 e.printStackTrace();
620 } 644 }
621 } else { 645 } else {
622 mSimpleDraweeView.setImageDrawable(null); 646 mSimpleDraweeView.setImageDrawable(null);
623 mSimpleDraweeView.setImageResource(R.mipmap.header_default); 647 mSimpleDraweeView.setImageResource(R.mipmap.header_default);
624 ; 648 ;
625 } 649 }
626 650
627 break; 651 break;
628 case R.id.canceltakephone: 652 case R.id.canceltakephone:
629 653
630 break; 654 break;
631 //拍摄和相册 655 //拍摄和相册
632 case R.id.take_pic: 656 case R.id.take_pic:
633 if (PermissionUtil.hasCameraPermission(MainActivity.this)) { 657 if (PermissionUtil.hasCameraPermission(MainActivity.this)) {
634 uploadAvatarFromPhotoRequest(); 658 uploadAvatarFromPhotoRequest();
635 } 659 }
636 break; 660 break;
637 case R.id.xiangce: 661 case R.id.xiangce:
638 uploadAvatarFromAlbumRequest(); 662 uploadAvatarFromAlbumRequest();
639 break; 663 break;
640 664
641 } 665 }
642 666
643 } 667 }
644 668
645 //照相 669 //照相
646 private void uploadAvatarFromPhotoRequest() { 670 private void uploadAvatarFromPhotoRequest() {
647 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 671 Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
648 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 672 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
649 intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0); 673 intent.putExtra(MediaStore.Images.Media.ORIENTATION, 0);
650 intent.putExtra(MediaStore.EXTRA_OUTPUT, uri); 674 intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
651 startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO); 675 startActivityForResult(intent, REQUEST_CODE_TAKE_PHOTO);
652 } 676 }
653 677
654 //选择图库 678 //选择图库
655 private void uploadAvatarFromAlbumRequest() { 679 private void uploadAvatarFromAlbumRequest() {
656 Intent photoPickerIntent = new Intent(Intent.ACTION_PICK); 680 Intent photoPickerIntent = new Intent(Intent.ACTION_PICK);
657 photoPickerIntent.setType("image/*"); 681 photoPickerIntent.setType("image/*");
658 startActivityForResult(photoPickerIntent, REQUEST_CODE_ALBUM); 682 startActivityForResult(photoPickerIntent, REQUEST_CODE_ALBUM);
659 } 683 }
660 684
661 //回掉 685 //回掉
662 @Override 686 @Override
663 protected void onActivityResult(int requestCode, int resultCode, Intent data) { 687 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
664 super.onActivityResult(requestCode, resultCode, data); 688 super.onActivityResult(requestCode, resultCode, data);
665 if (resultCode != -1) { 689 if (resultCode != -1) {
666 return; 690 return;
667 } 691 }
668 if (requestCode == REQUEST_CODE_ALBUM && data != null) { 692 if (requestCode == REQUEST_CODE_ALBUM && data != null) {
669 Uri newUri; 693 Uri newUri;
670 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) { 694 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
671 newUri = Uri.parse("file:///" + CropUtils.getPath(this, data.getData())); 695 newUri = Uri.parse("file:///" + CropUtils.getPath(this, data.getData()));
672 } else { 696 } else {
673 newUri = data.getData(); 697 newUri = data.getData();
674 } 698 }
675 if (newUri != null) { 699 if (newUri != null) {
676 startPhotoZoom(newUri); 700 startPhotoZoom(newUri);
677 } else { 701 } else {
678 Toast.makeText(this, "没有得到相册图片", Toast.LENGTH_LONG).show(); 702 Toast.makeText(this, "没有得到相册图片", Toast.LENGTH_LONG).show();
679 } 703 }
680 } else if (requestCode == REQUEST_CODE_TAKE_PHOTO) { 704 } else if (requestCode == REQUEST_CODE_TAKE_PHOTO) {
681 //startPhotoZoom(uri); 705 //startPhotoZoom(uri);
682 uploadAvatarFromPhoto(); 706 uploadAvatarFromPhoto();
683 } else if (requestCode == REQUEST_CODE_CROUP_PHOTO) { 707 } else if (requestCode == REQUEST_CODE_CROUP_PHOTO) {
684 uploadAvatarFromPhoto(); 708 uploadAvatarFromPhoto();
685 } 709 }
686 } 710 }
687 711
688 private void uploadAvatarFromPhoto() { 712 private void uploadAvatarFromPhoto() {
689 compressAndUploadAvatar(file.getPath()); 713 compressAndUploadAvatar(file.getPath());
690 714
691 } 715 }
692 716
693 private void compressAndUploadAvatar(String fileSrc) { 717 private void compressAndUploadAvatar(String fileSrc) {
694 718
695 719
696 //上传到服务器 720 //上传到服务器
697 721
698 final File cover = FileUtil.getSmallBitmap(this, fileSrc); 722 final File cover = FileUtil.getSmallBitmap(this, fileSrc);
699 String mimeType = "image/*"; 723 String mimeType = "image/*";
700 //requestBody = RequestBody.create(MediaType.parse(mimeType), file); 724 //requestBody = RequestBody.create(MediaType.parse(mimeType), file);
701 //String fileName = cover.getName(); 725 //String fileName = cover.getName();
702 String userID; 726 String userID;
703 String typeaccount = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT); 727 String typeaccount = SaveParam.getInstance().getCustomizeParam(this, SaveParam.ACCOUNT);
704 if ("2".equals(typeaccount)) { 728 if ("2".equals(typeaccount)) {
705 userID = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSID); 729 userID = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSID);
706 } else { 730 } else {
707 userID = SaveParam.getInstance().getLoginParam(this, "userId"); 731 userID = SaveParam.getInstance().getLoginParam(this, "userId");
708 } 732 }
709 733
710 //上传头像 734 //上传头像
711 735
712 try { 736 try {
713 HttpManager.getInstance().header(this, userID, typeaccount, fileSrc,handler); 737 HttpManager.getInstance().header(this, userID, typeaccount, fileSrc,handler);
714 } catch (UnsupportedEncodingException e) { 738 } catch (UnsupportedEncodingException e) {
715 e.printStackTrace(); 739 e.printStackTrace();
716 } 740 }
717 //mSimpleDraweeView.setImageURI(Uri.fromFile(new File(fileSrc))); 741 //mSimpleDraweeView.setImageURI(Uri.fromFile(new File(fileSrc)));
718 742
719 // GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources()); 743 // GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(getResources());
720 // GenericDraweeHierarchy hierarchy = builder 744 // GenericDraweeHierarchy hierarchy = builder
721 // .setDesiredAspectRatio(1f) 745 // .setDesiredAspectRatio(1f)
722 // .setFailureImage(R.mipmap.header_default) 746 // .setFailureImage(R.mipmap.header_default)
723 // //圆形头像 747 // //圆形头像
724 // .setRoundingParams(RoundingParams.asCircle()) 748 // .setRoundingParams(RoundingParams.asCircle())
725 // .build(); 749 // .build();
726 // //OOM 750 // //OOM
727 // ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri) 751 // ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
728 // //根据View的尺寸放缩图片 752 // //根据View的尺寸放缩图片
729 // .setResizeOptions(new ResizeOptions(mSimpleDraweeView.getWidth(), mSimpleDraweeView.getHeight())) 753 // .setResizeOptions(new ResizeOptions(mSimpleDraweeView.getWidth(), mSimpleDraweeView.getHeight()))
730 // .build(); 754 // .build();
731 // 755 //
732 // 756 //
733 // //加载本地图片 757 // //加载本地图片
734 // Uri uri = Uri.fromFile(cover); 758 // Uri uri = Uri.fromFile(cover);
735 //Picasso.with(MainActivity.this).load(uri).placeholder(R.mipmap.header_default).error(R.mipmap.header_default).transform(new RoundTransform(1000)).into(mSimpleDraweeView); 759 //Picasso.with(MainActivity.this).load(uri).placeholder(R.mipmap.header_default).error(R.mipmap.header_default).transform(new RoundTransform(1000)).into(mSimpleDraweeView);
736 // DraweeController controller = Fresco.newDraweeControllerBuilder() 760 // DraweeController controller = Fresco.newDraweeControllerBuilder()
737 // .setOldController(mSimpleDraweeView.getController()) 761 // .setOldController(mSimpleDraweeView.getController())
738 // .setImageRequest(request) 762 // .setImageRequest(request)
739 // .setUri(uri) 763 // .setUri(uri)
740 // .build(); 764 // .build();
741 // mSimpleDraweeView.setHierarchy(hierarchy); 765 // mSimpleDraweeView.setHierarchy(hierarchy);
742 // mSimpleDraweeView.setController(controller); 766 // mSimpleDraweeView.setController(controller);
743 767
744 } 768 }
745 769
746 public void startPhotoZoom(Uri uri) { 770 public void startPhotoZoom(Uri uri) {
747 Intent intent = new Intent("com.android.camera.action.CROP"); 771 Intent intent = new Intent("com.android.camera.action.CROP");
748 intent.setDataAndType(uri, "image/*"); 772 intent.setDataAndType(uri, "image/*");
749 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); 773 intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
750 intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面. 774 intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面.
751 intent.putExtra("aspectX", 1);// 这两项为裁剪框的比例. 775 intent.putExtra("aspectX", 1);// 这两项为裁剪框的比例.
752 intent.putExtra("aspectY", 1);// x:y=1:1 776 intent.putExtra("aspectY", 1);// x:y=1:1
753 // intent.putExtra("outputX", 400);//图片输出大小 777 // intent.putExtra("outputX", 400);//图片输出大小
754 // intent.putExtra("outputY", 400); 778 // intent.putExtra("outputY", 400);
755 intent.putExtra("output", Uri.fromFile(file)); 779 intent.putExtra("output", Uri.fromFile(file));
756 intent.putExtra("outputFormat", "JPEG");// 返回格式 780 intent.putExtra("outputFormat", "JPEG");// 返回格式
757 startActivityForResult(intent, REQUEST_CODE_CROUP_PHOTO); 781 startActivityForResult(intent, REQUEST_CODE_CROUP_PHOTO);
758 } 782 }
759 783
760 @Override 784 @Override
761 public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 785 public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
762 switch (requestCode) { 786 switch (requestCode) {
763 787
764 case PermissionUtil.REQUEST_SHOWCAMERA: 788 case PermissionUtil.REQUEST_SHOWCAMERA:
765 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { 789 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
766 // Permission Granted 790 // Permission Granted
767 uploadAvatarFromPhotoRequest(); 791 uploadAvatarFromPhotoRequest();
768 792
769 } else { 793 } else {
770 if (!SharedPreferenceMark.getHasShowCamera()) { 794 if (!SharedPreferenceMark.getHasShowCamera()) {
771 SharedPreferenceMark.setHasShowCamera(true); 795 SharedPreferenceMark.setHasShowCamera(true);
772 new DialogPermission(this, "关闭摄像头权限影响扫描功能"); 796 new DialogPermission(this, "关闭摄像头权限影响扫描功能");
773 797
774 } else { 798 } else {
775 Toast.makeText(this, "未获取摄像头权限", Toast.LENGTH_SHORT) 799 Toast.makeText(this, "未获取摄像头权限", Toast.LENGTH_SHORT)
776 .show(); 800 .show();
777 } 801 }
778 } 802 }
779 break; 803 break;
804 case PermissionUtil.WRITE_EXTERNAL_STORAGE:
805 if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
806 // Permission Granted
807 UpdateChecker updateChecker = new UpdateChecker(this);
808 updateChecker.checkForUpdates();
809
810 } else {
811 if (!SharedPreferenceMark.getHasShowCamera()) {
812 new DialogPermission(this, "没有存储权限将导致应用无法更新");
813
814 } else {
815 Toast.makeText(this, "未获取存储权限,将导致应用无法更新", Toast.LENGTH_SHORT)
816 .show();
817 }
818 }
819 break;
780 default: 820 default:
781 super.onRequestPermissionsResult(requestCode, permissions, grantResults); 821 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
782 } 822 }
783 } 823 }
784 824
785 825
826 private void showSwitchDialog() {
827 //自定义部分
828 LayoutInflater mInflater = LayoutInflater.from(this);
829 View dialogView = mInflater.inflate(R.layout.dialog_layout,
830 null);
831 hintDialog = new Dialog(this, R.style.CustomHintDialog);
832 middle_btn = (Button) dialogView.findViewById(R.id.middle_btn);
833 primary_btn = (Button) dialogView.findViewById(R.id.primary_btn);
834 hintDialog.addContentView(dialogView, new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
835 hintDialog.setCanceledOnTouchOutside(true);
836 hintDialog.show();
837 middle_btn.setOnClickListener(this);
838 primary_btn.setOnClickListener(this);
839 }
840
786 private long exitTime = 0; 841 private long exitTime = 0;
787 842
788 @Override 843 @Override
789 public boolean onKeyDown(int keyCode, KeyEvent event) { 844 public boolean onKeyDown(int keyCode, KeyEvent event) {
790 if (keyCode == KeyEvent.KEYCODE_BACK) { 845 if (keyCode == KeyEvent.KEYCODE_BACK) {
791 if ((System.currentTimeMillis() - exitTime) > 2000) { 846 if ((System.currentTimeMillis() - exitTime) > 2000) {
792 Toast.makeText(getApplicationContext(), "再按一次退出程序", 847 Toast.makeText(getApplicationContext(), "再按一次退出程序",
793 Toast.LENGTH_SHORT).show(); 848 Toast.LENGTH_SHORT).show();
794 exitTime = System.currentTimeMillis(); 849 exitTime = System.currentTimeMillis();
795 } else { 850 } else {
796 //SysApplication.getInstance().finishActivity(MainActivity.this); 851 //SysApplication.getInstance().finishActivity(MainActivity.this);
797 SysApplication.getInstance().exit(); 852 SysApplication.getInstance().exit();
798 } 853 }
799 return false; 854 return false;
800 } 855 }
801 return super.onKeyDown(keyCode, event); 856 return super.onKeyDown(keyCode, event);
802 } 857 }
803 } 858 }
804 859
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(), "0c9a6274e0", 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 @Override 42 // @Override
43 public void run() { 43 // public void run() {
44 Looper.prepare(); 44 // Looper.prepare();
45 System.out.println("bcz = " + ex.toString()); 45 // System.out.println("bcz = " + ex.toString());
46 Toast toast = new Toast(context); 46 // Toast toast = new Toast(context);
47 TextView tv = new TextView(context); 47 // TextView tv = new TextView(context);
48 tv.setText(" 很抱歉,"+context.getString(R.string.app_name)+"崩溃了,我们会尽快修复."); 48 // tv.setText(" 很抱歉,"+context.getString(R.string.app_name)+"崩溃了,我们会尽快修复.");
49 tv.setPadding(10, 10, 10, 10); 49 // tv.setPadding(10, 10, 10, 10);
50 tv.setTextSize(20); 50 // tv.setTextSize(20);
51 tv.setBackgroundResource(R.drawable.black_btn_default); 51 // tv.setBackgroundResource(R.drawable.black_btn_default);
52 tv.setTextColor(context.getResources().getColor(android.R.color.white)); 52 // tv.setTextColor(context.getResources().getColor(android.R.color.white));
53 Drawable drawable= context.getResources().getDrawable(R.drawable.sorry); 53 // Drawable drawable= context.getResources().getDrawable(R.drawable.sorry);
54 drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); 54 // drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight());
55 tv.setCompoundDrawables(drawable,null,null,null); 55 // tv.setCompoundDrawables(drawable,null,null,null);
56 toast.setView(tv); 56 // toast.setView(tv);
57 toast.setGravity(Gravity.CENTER, 0, 0); 57 // toast.setGravity(Gravity.CENTER, 0, 0);
58 toast.setDuration(Toast.LENGTH_LONG); 58 // toast.setDuration(Toast.LENGTH_LONG);
59 toast.show(); 59 // toast.show();
60 Looper.loop(); 60 // Looper.loop();
61 } 61 // }
62 }).start(); 62 // }).start();
63 try { 63 // try {
64 Thread.sleep(1000); 64 // Thread.sleep(1000);
65 } catch (InterruptedException e) { 65 // } catch (InterruptedException e) {
66 // TODO Auto-generated catch block 66 // // TODO Auto-generated catch block
67 e.printStackTrace(); 67 // e.printStackTrace();
68 } 68 // }
69 return false; 69 // return false;
70 } 70 // }
71 }); 71 // });
72 super.onCreate(); 72 super.onCreate();
73 } 73 }
74 public ImageCache getImageCache() { 74 public ImageCache getImageCache() {
75 return mImageCache; 75 return mImageCache;
76 } 76 }
77 77
78 public static Context getContext() { 78 public static Context getContext() {
79 return context; 79 return context;
80 } 80 }
81 public static MyApplication getInstance() { 81 public static MyApplication getInstance() {
82 return instance; 82 return instance;
83 } 83 }
84 84
85 } 85 }
86 86
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/RegisterInfoActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.support.v4.app.FragmentActivity; 5 import android.support.v4.app.FragmentActivity;
6 import android.text.Editable;
6 import android.text.TextUtils; 7 import android.text.TextUtils;
8 import android.text.TextWatcher;
7 import android.view.View; 9 import android.view.View;
8 import android.widget.Button; 10 import android.widget.Button;
9 import android.widget.EditText; 11 import android.widget.EditText;
12 import android.widget.ImageButton;
13 import android.widget.LinearLayout;
10 import android.widget.TextView; 14 import android.widget.TextView;
11 15
12 import com.hjx.personalcenter.R; 16 import com.hjx.personalcenter.R;
13 import com.hjx.personalcenter.customdialog.CitysListDialog; 17 import com.hjx.personalcenter.customdialog.CitysListDialog;
14 import com.hjx.personalcenter.customdialog.CountryDialog; 18 import com.hjx.personalcenter.customdialog.CountryDialog;
15 import com.hjx.personalcenter.customdialog.GradeListDialog; 19 import com.hjx.personalcenter.customdialog.GradeListDialog;
16 import com.hjx.personalcenter.customdialog.ProvinceListDialog; 20 import com.hjx.personalcenter.customdialog.ProvinceListDialog;
17 import com.hjx.personalcenter.customdialog.SchoolListDialog; 21 import com.hjx.personalcenter.customdialog.SchoolListDialog;
18 import com.hjx.personalcenter.db.Content; 22 import com.hjx.personalcenter.db.Content;
19 import com.hjx.personalcenter.db.SaveParam; 23 import com.hjx.personalcenter.db.SaveParam;
20 import com.hjx.personalcenter.http.HttpManager; 24 import com.hjx.personalcenter.http.HttpManager;
21 import com.hjx.personalcenter.interfaces.DialogCallBack; 25 import com.hjx.personalcenter.interfaces.DialogCallBack;
22 import com.hjx.personalcenter.model.CityInfo; 26 import com.hjx.personalcenter.model.CityInfo;
23 import com.hjx.personalcenter.model.CountyInfo; 27 import com.hjx.personalcenter.model.CountyInfo;
24 import com.hjx.personalcenter.model.GradeInfo; 28 import com.hjx.personalcenter.model.GradeInfo;
25 import com.hjx.personalcenter.model.ProvinceInfo; 29 import com.hjx.personalcenter.model.ProvinceInfo;
26 import com.hjx.personalcenter.model.SchoolInfo; 30 import com.hjx.personalcenter.model.SchoolInfo;
27 import com.hjx.personalcenter.util.AlertUtils; 31 import com.hjx.personalcenter.util.AlertUtils;
28 import com.hjx.personalcenter.util.GetDevicesUtil; 32 import com.hjx.personalcenter.util.GetDevicesUtil;
29 33
30 import java.util.ArrayList; 34 import java.util.ArrayList;
31 35
32 /** 36 /**
33 * 填写注册信息 熊巍 37 * 填写注册信息 熊巍
34 * Created by h on 2017/8/9. 38 * Created by h on 2017/8/9.
35 */ 39 */
36 40
37 public class RegisterInfoActivity extends FragmentActivity implements View.OnClickListener, DialogCallBack.GradeCallBack, DialogCallBack.ProvincesCallBack 41 public class RegisterInfoActivity extends FragmentActivity implements View.OnClickListener, DialogCallBack.GradeCallBack, DialogCallBack.ProvincesCallBack
38 , DialogCallBack.CitysCallBack, DialogCallBack.CountryCallBack, DialogCallBack.SchoolCallBack { 42 , DialogCallBack.CitysCallBack, DialogCallBack.CountryCallBack, DialogCallBack.SchoolCallBack {
39 private EditText et_username; 43 private EditText et_username, et_nickname, et_address;
44 private ImageButton username_delete_btn, nickname_delete_btn, address_delete_btn;
40 private TextView et_region, et_grade, et_school; 45 private TextView et_region, et_grade, et_school;
46 private LinearLayout et_username_layout, et_address_layout;
41 private Button btn_ok; 47 private Button btn_ok;
42 48
43 @Override 49 @Override
44 protected void onCreate(Bundle savedInstanceState) { 50 protected void onCreate(Bundle savedInstanceState) {
45 super.onCreate(savedInstanceState); 51 super.onCreate(savedInstanceState);
46 setContentView(R.layout.activity_registerinfo); 52 setContentView(R.layout.activity_registerinfo);
47 SysApplication.getInstance().addActivity(this); 53 SysApplication.getInstance().addActivity(this);
48 initView(); 54 initView();
49 initData(); 55 initData();
50 initLister(); 56 initLister();
57 initTextWatch();
51 } 58 }
52 59
53 private void initView() { 60 private void initView() {
54 et_username = (EditText) findViewById(R.id.et_username); 61 et_username = (EditText) findViewById(R.id.et_username);
62 et_nickname = (EditText) findViewById(R.id.et_nickname);
63 et_address = (EditText) findViewById(R.id.et_address);
55 et_region = (TextView) findViewById(R.id.et_region); 64 et_region = (TextView) findViewById(R.id.et_region);
56 et_grade = (TextView) findViewById(R.id.et_grade); 65 et_grade = (TextView) findViewById(R.id.et_grade);
57 et_school = (TextView) findViewById(R.id.et_school); 66 et_school = (TextView) findViewById(R.id.et_school);
58 btn_ok = (Button) findViewById(R.id.btn_ok); 67 btn_ok = (Button) findViewById(R.id.btn_ok);
68 username_delete_btn = (ImageButton) findViewById(R.id.username_delete_btn);
69 nickname_delete_btn = (ImageButton) findViewById(R.id.nickname_delete_btn);
70 address_delete_btn = (ImageButton) findViewById(R.id.address_delete_btn);
71 et_username_layout = (LinearLayout) findViewById(R.id.et_username_layout);
72 et_address_layout = (LinearLayout) findViewById(R.id.et_address_layout);
59 73
60 74
61 } 75 }
62 76
63 private void initData() { 77 private void initData() {
64 if (Content.accountflag == 2) { 78 if (Content.accountflag == 2) {
65 btn_ok.setText("提交"); 79 btn_ok.setText("提交");
80 et_username_layout.setVisibility(View.GONE);
81 et_address_layout.setVisibility(View.GONE);
66 82
67 } 83 }
68 84
69 } 85 }
70 86
71 private void initLister() { 87 private void initLister() {
72 et_region.setOnClickListener(this); 88 et_region.setOnClickListener(this);
73 et_grade.setOnClickListener(this); 89 et_grade.setOnClickListener(this);
74 et_school.setOnClickListener(this); 90 et_school.setOnClickListener(this);
75 btn_ok.setOnClickListener(this); 91 btn_ok.setOnClickListener(this);
92 username_delete_btn.setOnClickListener(this);
93 nickname_delete_btn.setOnClickListener(this);
94 address_delete_btn.setOnClickListener(this);
76 95
77 96
78 } 97 }
79 98
99 /**
100 * 输入框改变的监听
101 */
102 private void initTextWatch() {
103 et_username.addTextChangedListener(new TextWatcher() {
104 @Override
105 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
106 }
107
108 @Override
109 public void onTextChanged(CharSequence s, int start, int before, int count) {
110 if (s.toString().length() == 0) {
111 username_delete_btn.setVisibility(View.INVISIBLE);
112 } else {
113 username_delete_btn.setVisibility(View.VISIBLE);
114 }
115 }
116
117 @Override
118 public void afterTextChanged(Editable s) {
119
120 }
121 });
122 et_username.setOnFocusChangeListener(new View.OnFocusChangeListener() {
123 @Override
124 public void onFocusChange(View v, boolean hasFocus) {
125 if (hasFocus) {
126 if (!et_username.getText().toString().isEmpty()) {
127 username_delete_btn.setVisibility(View.VISIBLE);
128 }
129 } else {
130
131 username_delete_btn.setVisibility(View.INVISIBLE);
132 }
133 }
134 });
135 et_nickname.addTextChangedListener(new TextWatcher() {
136 @Override
137 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
138
139 }
140
141 @Override
142 public void onTextChanged(CharSequence s, int start, int before, int count) {
143 if (s.toString().length() == 0) {
144
145 nickname_delete_btn.setVisibility(View.INVISIBLE);
146 } else {
147 nickname_delete_btn.setVisibility(View.VISIBLE);
148 }
149 }
150
151 @Override
152 public void afterTextChanged(Editable s) {
153
154 }
155 });
156 et_nickname.setOnFocusChangeListener(new View.OnFocusChangeListener() {
157 @Override
158 public void onFocusChange(View v, boolean hasFocus) {
159 if (hasFocus) {
160 if (!et_nickname.getText().toString().isEmpty()) {
161 nickname_delete_btn.setVisibility(View.VISIBLE);
162 }
163 } else {
164 nickname_delete_btn.setVisibility(View.INVISIBLE);
165 }
166 }
167 });
168 et_address.addTextChangedListener(new TextWatcher() {
169 @Override
170 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
171
172 }
173
174 @Override
175 public void onTextChanged(CharSequence s, int start, int before, int count) {
176 if (s.toString().length() == 0) {
177
178 address_delete_btn.setVisibility(View.INVISIBLE);
179 } else {
180 address_delete_btn.setVisibility(View.VISIBLE);
181 }
182 }
183
184 @Override
185 public void afterTextChanged(Editable s) {
186
187 }
188 });
189 et_address.setOnFocusChangeListener(new View.OnFocusChangeListener() {
190 @Override
191 public void onFocusChange(View v, boolean hasFocus) {
192 if (hasFocus) {
193 if (!et_address.getText().toString().isEmpty()) {
194 address_delete_btn.setVisibility(View.VISIBLE);
195 }
196 } else {
197 address_delete_btn.setVisibility(View.INVISIBLE);
198 }
199 }
200 });
201 }
202
80 @Override 203 @Override
81 public void onClick(View v) { 204 public void onClick(View v) {
82 String register1 = et_username.getText().toString().trim(); 205 String register1 = et_nickname.getText().toString().trim();
83 String register2 = et_region.getText().toString().trim(); 206 String register2 = et_region.getText().toString().trim();
84 String register3 = et_grade.getText().toString().trim(); 207 String register3 = et_grade.getText().toString().trim();
85 String register4 = et_school.getText().toString().trim(); 208 String register4 = et_school.getText().toString().trim();
209 String register5 = et_username.getText().toString().trim();
210 String register6 = et_address.getText().toString().trim();
86 switch (v.getId()) { 211 switch (v.getId()) {
87 case R.id.et_region: 212 case R.id.et_region:
88 et_school.setText(""); 213 et_school.setText("");
89 Content.changeadressinfoflag = 1; 214 Content.changeadressinfoflag = 1;
90 choiseregion(); 215 choiseregion();
91 break; 216 break;
92 case R.id.et_grade: 217 case R.id.et_grade:
93 et_school.setText(""); 218 et_school.setText("");
94 Content.changegradeinfoflag = 2; 219 Content.changegradeinfoflag = 2;
95 choisegrade(); 220 choisegrade();
96 break; 221 break;
97 case R.id.et_school: 222 case R.id.et_school:
98 if (TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3)) { 223 if (TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3)) {
99 AlertUtils.showToast(RegisterInfoActivity.this, "请选择年级和地址"); 224 AlertUtils.showToast(RegisterInfoActivity.this, "请选择年级和地址");
100 return; 225 return;
101 } else { 226 } else {
102 choiseschool(); 227 choiseschool();
103 } 228 }
104 229
105 break; 230 break;
106 case R.id.btn_ok: 231 case R.id.btn_ok:
107 if (TextUtils.isEmpty(register1) || 232 if (Content.accountflag == 2 && (TextUtils.isEmpty(register1) ||
108 TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3)) { 233 TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3) || TextUtils.isEmpty(register4))) {
234 AlertUtils.showToast(RegisterInfoActivity.this, "请将必填项填写完整");
235 return;
236 } else if (Content.accountflag == 1 && (TextUtils.isEmpty(register1) ||
237 TextUtils.isEmpty(register2) || TextUtils.isEmpty(register3) || TextUtils.isEmpty(register4)
238 || TextUtils.isEmpty(register5) || TextUtils.isEmpty(register6))) {
109 AlertUtils.showToast(RegisterInfoActivity.this, "请将必填项填写完整"); 239 AlertUtils.showToast(RegisterInfoActivity.this, "请将必填项填写完整");
110 return; 240 return;
111 } else { 241 } else {
112 String register5 = et_username.getText().toString().trim(); 242 // String register5 = et_username.getText().toString().trim();
113 String register6 = et_region.getText().toString().trim(); 243 // String register6 = et_region.getText().toString().trim();
114 String register7 = et_grade.getText().toString().trim(); 244 // String register7 = et_grade.getText().toString().trim();
115 String register8 = et_school.getText().toString().trim(); 245 // String register8 = et_school.getText().toString().trim();
116 String grade = SaveParam.getInstance().getLoginParam(this, SaveParam.CHILDSGRADENS); 246 String grade = SaveParam.getInstance().getLoginParam(this, SaveParam.CHILDSGRADENS);
117 if (Content.accountflag == 2) { 247 if (Content.accountflag == 2) {
118 String accounts = SaveParam.getInstance().getCustomizeParam(RegisterInfoActivity.this,SaveParam.ACCOUNT); 248 String accounts = SaveParam.getInstance().getCustomizeParam(RegisterInfoActivity.this, SaveParam.ACCOUNT);
119 String userID = SaveParam.getInstance().getLoginParam(this, "userId"); 249 String userID = SaveParam.getInstance().getLoginParam(this, "userId");
120 // if ("2".equals(accounts)){ 250 // if ("2".equals(accounts)){
121 // grade = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSGRADENS); 251 // grade = SaveParam.getInstance().getCustomizeParam(this, SaveParam.CHILDSGRADENS);
122 // } 252 // }
123 //else { 253 //else {
124 254
125 // } 255 // }
126 256
127 String School = SaveParam.getInstance().getLoginParam(this, SaveParam.SCHOOOlID); 257 String School = SaveParam.getInstance().getLoginParam(this, SaveParam.SCHOOOlID);
128 String regionId = SaveParam.getInstance().getsaveCityParam(this, SaveParam.COUNTRY); 258 String regionId = SaveParam.getInstance().getsaveCityParam(this, SaveParam.COUNTRY);
129 String regionId1 = SaveParam.getInstance().getsaveCityParam(this, SaveParam.CITYS); 259 String regionId1 = SaveParam.getInstance().getsaveCityParam(this, SaveParam.CITYS);
130 String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber(); 260 String devicenumber = GetDevicesUtil.getDevicesInfo(this).getDeviceNumber();
131 if (regionId == null) { 261 if (regionId == null) {
132 regionId = regionId1; 262 regionId = regionId1;
133 } 263 }
134 264
135 try { 265 try {
136 Object schoolss; 266 Object schoolss;
137 long auserID = Long.parseLong(userID); 267 long auserID = Long.parseLong(userID);
138 long grades = Long.parseLong(grade); 268 long grades = Long.parseLong(grade);
139 if (TextUtils.isEmpty(register8)) { 269 if (TextUtils.isEmpty(register4)) {
140 schoolss = null; 270 schoolss = null;
141 } else { 271 } else {
142 schoolss = Long.parseLong(School); 272 schoolss = Long.parseLong(School);
143 } 273 }
144 long regionIds = Long.parseLong(regionId); 274 long regionIds = Long.parseLong(regionId);
145 HttpManager.getInstance().addchildAccountinfo(RegisterInfoActivity.this, auserID, "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/a00de899-2f6d-43fb-9e30-71883842540e.png", 275 HttpManager.getInstance().addchildAccountinfo(RegisterInfoActivity.this, auserID, "http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/a00de899-2f6d-43fb-9e30-71883842540e.png",
146 register5, grades, schoolss, regionIds, devicenumber, register6); 276 register1, grades, schoolss, regionIds, devicenumber, register2);
147 277
148 } catch (NumberFormatException e) { 278 } catch (NumberFormatException e) {
149 e.printStackTrace(); 279 e.printStackTrace();
150 } 280 }
151 281
152 } else { 282 } else {
153 savedata(); 283 savedata();
154 Intent intent = new Intent(); 284 Intent intent = new Intent();
155 intent.setClass(RegisterInfoActivity.this, ChoiseTextBookActivity.class); 285 intent.setClass(RegisterInfoActivity.this, ChoiseTextBookActivity.class);
156 startActivity(intent); 286 startActivity(intent);
157 overridePendingTransition(R.anim.rightin, R.anim.rightout); 287 overridePendingTransition(R.anim.rightin, R.anim.rightout);
158 } 288 }
159 289
160 } 290 }
161 291
162 break; 292 break;
293
294 case R.id.username_delete_btn:
295 et_username.setText("");
296 break;
297 case R.id.nickname_delete_btn:
298 et_nickname.setText("");
299 break;
300 case R.id.address_delete_btn:
301 et_address.setText("");
302 break;
163 } 303 }
164 304
165 } 305 }
166 306
167 private void savedata() { 307 private void savedata() {
168 String register9 = et_username.getText().toString().trim(); 308 SaveParam.getInstance().saveLoginParam(this, SaveParam.REALNAME, et_username.getText().toString().trim());
169 String register10 = et_region.getText().toString().trim(); 309 SaveParam.getInstance().saveLoginParam(this, SaveParam.NICKNAME, et_nickname.getText().toString().trim());
170 String register11 = et_grade.getText().toString().trim(); 310 SaveParam.getInstance().saveLoginParam(this, SaveParam.REGION, et_region.getText().toString().trim());
171 String register12 = et_school.getText().toString().trim(); 311 SaveParam.getInstance().saveLoginParam(this, SaveParam.GRADES, et_grade.getText().toString().trim());
172 SaveParam.getInstance().saveLoginParam(this,SaveParam.USERNAME,register9); 312 SaveParam.getInstance().saveLoginParam(this, SaveParam.SCHOOL, et_school.getText().toString().trim());
173 SaveParam.getInstance().saveLoginParam(this,SaveParam.ADRESS,register10); 313 SaveParam.getInstance().saveLoginParam(this, SaveParam.ADDRESS, et_address.getText().toString().trim());
174 SaveParam.getInstance().saveLoginParam(this,SaveParam.GRADES,register11);
175 SaveParam.getInstance().saveLoginParam(this,SaveParam.SCHOOL,register12);
176 314
177 315
178 } 316 }
179 317
180 @Override 318 @Override
181 protected void onResume() { 319 protected void onResume() {
182 super.onResume(); 320 super.onResume();
183 } 321 }
184 322
185 323
186 //选择地区 324 //选择地区
187 private void choiseregion() { 325 private void choiseregion() {
188 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) RegisterInfoActivity.this).show(getSupportFragmentManager(), "ProvinceListDialog"); 326 ProvinceListDialog.getInstance((DialogCallBack.ProvincesCallBack) RegisterInfoActivity.this).show(getSupportFragmentManager(), "ProvinceListDialog");
189 327
190 } 328 }
191 329
192 //选择年级 330 //选择年级
193 private void choisegrade() { 331 private void choisegrade() {
194 GradeListDialog.getInstance((DialogCallBack.GradeCallBack) this).show(getSupportFragmentManager(), "GradeListDialog"); 332 GradeListDialog.getInstance((DialogCallBack.GradeCallBack) this).show(getSupportFragmentManager(), "GradeListDialog");
195 333
196 } 334 }
197 335
198 //选择学校 336 //选择学校
199 private void choiseschool() { 337 private void choiseschool() {
200 SchoolListDialog.getInstance((DialogCallBack.SchoolCallBack) this).show(getSupportFragmentManager(), "SchoolListDialog"); 338 SchoolListDialog.getInstance((DialogCallBack.SchoolCallBack) this).show(getSupportFragmentManager(), "SchoolListDialog");
201 339
202 } 340 }
203 341
204 342
205 @Override 343 @Override
206 public void provinceOnItemClick(ArrayList<ProvinceInfo.ProvincesBean> data, int position, int type) { 344 public void provinceOnItemClick(ArrayList<ProvinceInfo.ProvincesBean> data, int position, int type) {
207 String regionName = data.get(position).getRegionName(); 345 String regionName = data.get(position).getRegionName();
208 SaveParam.getInstance().saveLoginParam(this, "sheng", regionName); 346 SaveParam.getInstance().saveLoginParam(this, "sheng", regionName);
209 CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog"); 347 CitysListDialog.getInstance((DialogCallBack.CitysCallBack) this).show(getSupportFragmentManager(), "CitysListDialog");
210 et_region.setText(""); 348 et_region.setText("");
211 et_region.setText(regionName); 349 et_region.setText(regionName);
212 350
213 } 351 }
214 352
215 353
216 @Override 354 @Override
217 public void province3OnItemClick(ArrayList<GradeInfo.DataBean.ChildrenBean> data, int position, int type) { 355 public void province3OnItemClick(ArrayList<GradeInfo.DataBean.ChildrenBean> data, int position, int type) {
218 String regionName = data.get(position).getName(); 356 String regionName = data.get(position).getName();
219 et_grade.setText(regionName); 357 et_grade.setText(regionName);
220 358
221 } 359 }
222 360
223 @Override 361 @Override
224 public void province1OnItemClick(ArrayList<CityInfo.CitiesBean> data, int position, int type) { 362 public void province1OnItemClick(ArrayList<CityInfo.CitiesBean> data, int position, int type) {
225 String regionName = data.get(position).getRegionName(); 363 String regionName = data.get(position).getRegionName();
226 String provice = SaveParam.getInstance().getLoginParam(this, "sheng"); 364 String provice = SaveParam.getInstance().getLoginParam(this, "sheng");
227 SaveParam.getInstance().saveLoginParam(this, "shi", regionName); 365 SaveParam.getInstance().saveLoginParam(this, "shi", regionName);
228 CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog"); 366 CountryDialog.getInstance((DialogCallBack.CountryCallBack) this).show(getSupportFragmentManager(), "CountryDialog");
229 et_region.setText(""); 367 et_region.setText("");
230 et_region.setText(provice + regionName); 368 et_region.setText(provice + regionName);
231 369
232 } 370 }
233 371
234 @Override 372 @Override
235 public void province2OnItemClick(ArrayList<CountyInfo.CountiesBean> data, int position, int type) { 373 public void province2OnItemClick(ArrayList<CountyInfo.CountiesBean> data, int position, int type) {
236 String regionName = data.get(position).getRegionName(); 374 String regionName = data.get(position).getRegionName();
237 String provices = SaveParam.getInstance().getLoginParam(this, "sheng"); 375 String provices = SaveParam.getInstance().getLoginParam(this, "sheng");
238 String citys = SaveParam.getInstance().getLoginParam(this, "shi"); 376 String citys = SaveParam.getInstance().getLoginParam(this, "shi");
239 et_region.setText(""); 377 et_region.setText("");
240 et_region.setText(provices + citys + regionName); 378 et_region.setText(provices + citys + regionName);
241 379
242 } 380 }
243 381
244 @Override 382 @Override
245 public void provinceO4nItemClick(ArrayList<SchoolInfo.DataBean> data, int position, int type) { 383 public void provinceO4nItemClick(ArrayList<SchoolInfo.DataBean> data, int position, int type) {
246 String regionName = data.get(position).getSchoolName(); 384 String regionName = data.get(position).getSchoolName();
247 et_school.setText(regionName); 385 et_school.setText(regionName);
248 386
249 } 387 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/TheStartPageActivity.java
1 package com.hjx.personalcenter.activity; 1 package com.hjx.personalcenter.activity;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.support.v4.app.FragmentActivity; 5 import android.support.v4.app.FragmentActivity;
6 import android.view.KeyEvent; 6 import android.view.KeyEvent;
7 import android.view.View; 7 import android.view.View;
8 import android.widget.Button; 8 import android.widget.Button;
9 import android.widget.ImageButton;
9 10
10 import com.hjx.personalcenter.R; 11 import com.hjx.personalcenter.R;
11 import com.hjx.personalcenter.db.SaveParam; 12 import com.hjx.personalcenter.db.SaveParam;
12 13
13 /** 14 /**
14 * Created by h on 2017/8/10. 15 * Created by h on 2017/8/10.
15 */ 16 */
16 17
17 public class TheStartPageActivity extends FragmentActivity implements View.OnClickListener { 18 public class TheStartPageActivity extends FragmentActivity implements View.OnClickListener {
18 private Button btn_start; 19 private ImageButton btn_start;
19 @Override 20 @Override
20 protected void onCreate(Bundle savedInstanceState) { 21 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState); 22 super.onCreate(savedInstanceState);
22 setContentView(R.layout.activity_start_page); 23 setContentView(R.layout.activity_start_page);
23 SysApplication.getInstance().addActivity(this); 24 SysApplication.getInstance().addActivity(this);
24 initView(); 25 initView();
25 initData(); 26 initData();
26 initLister(); 27 initLister();
27 } 28 }
28 private void initView() { 29 private void initView() {
29 btn_start = (Button) findViewById(R.id.btn_start); 30 btn_start = (ImageButton) findViewById(R.id.btn_start);
30 } 31 }
31 32
32 private void initData() { 33 private void initData() {
33 34
34 } 35 }
35 36
36 private void initLister() { 37 private void initLister() {
37 btn_start.setOnClickListener(this); 38 btn_start.setOnClickListener(this);
38 } 39 }
39 40
40 @Override 41 @Override
41 public void onClick(View v) { 42 public void onClick(View v) {
42 switch (v.getId()){ 43 switch (v.getId()){
43 case R.id.btn_start: 44 case R.id.btn_start:
44 SaveParam.getInstance().saveLoginParam(this, "login", "true"); 45 SaveParam.getInstance().saveLoginParam(this, "login", "true");
45 Intent intent = new Intent(); 46 Intent intent = new Intent();
46 intent.setClass(TheStartPageActivity.this,MainActivity.class); 47 intent.setClass(TheStartPageActivity.this,MainActivity.class);
47 startActivity(intent); 48 startActivity(intent);
48 overridePendingTransition(R.anim.rightin, R.anim.rightout); 49 overridePendingTransition(R.anim.rightin, R.anim.rightout);
49 SysApplication.getInstance().exit(); 50 SysApplication.getInstance().exit();
50 break; 51 break;
51 } 52 }
52 } 53 }
53 @Override 54 @Override
54 public boolean onKeyDown(int keyCode, KeyEvent event) { 55 public boolean onKeyDown(int keyCode, KeyEvent event) {
55 if (keyCode == KeyEvent.KEYCODE_BACK) { 56 if (keyCode == KeyEvent.KEYCODE_BACK) {
56 return true; 57 return true;
57 } 58 }
58 return super.onKeyDown(keyCode, event); 59 return super.onKeyDown(keyCode, event);
59 } 60 }
60 } 61 }
61 62
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/CountryDialog.java
1 package com.hjx.personalcenter.customdialog; 1 package com.hjx.personalcenter.customdialog;
2 2
3 import android.annotation.SuppressLint; 3 import android.annotation.SuppressLint;
4 import android.content.Context; 4 import android.content.Context;
5 import android.graphics.Color; 5 import android.graphics.Color;
6 import android.os.Bundle; 6 import android.os.Bundle;
7 import android.os.Handler; 7 import android.os.Handler;
8 import android.os.Message; 8 import android.os.Message;
9 import android.view.Gravity; 9 import android.view.Gravity;
10 import android.view.LayoutInflater; 10 import android.view.LayoutInflater;
11 import android.view.View; 11 import android.view.View;
12 import android.view.ViewGroup; 12 import android.view.ViewGroup;
13 import android.widget.AdapterView; 13 import android.widget.AdapterView;
14 import android.widget.ImageView; 14 import android.widget.ImageView;
15 import android.widget.ListView; 15 import android.widget.ListView;
16 import android.widget.Toast;
16 17
17 import com.hjx.personalcenter.R; 18 import com.hjx.personalcenter.R;
18 import com.hjx.personalcenter.adapter.CountryAdapter; 19 import com.hjx.personalcenter.adapter.CountryAdapter;
19 import com.hjx.personalcenter.db.SaveParam; 20 import com.hjx.personalcenter.db.SaveParam;
20 import com.hjx.personalcenter.http.HttpCode; 21 import com.hjx.personalcenter.http.HttpCode;
21 import com.hjx.personalcenter.http.HttpManager; 22 import com.hjx.personalcenter.http.HttpManager;
22 import com.hjx.personalcenter.interfaces.DialogCallBack; 23 import com.hjx.personalcenter.interfaces.DialogCallBack;
23 import com.hjx.personalcenter.model.CountyInfo; 24 import com.hjx.personalcenter.model.CountyInfo;
24 import com.mylhyl.circledialog.BaseCircleDialog; 25 import com.mylhyl.circledialog.BaseCircleDialog;
25 import com.mylhyl.circledialog.res.values.CircleDimen; 26 import com.mylhyl.circledialog.res.values.CircleDimen;
26 27
27 import java.util.ArrayList; 28 import java.util.ArrayList;
28 import java.util.List; 29 import java.util.List;
29 30
30 /** 31 /**
31 * Created by wei on 2017/8/21. 32 * Created by wei on 2017/8/21.
32 */ 33 */
33 @SuppressLint("ValidFragment") 34 @SuppressLint("ValidFragment")
34 public class CountryDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { 35 public class CountryDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener {
35 private CountryAdapter listadapter; 36 private CountryAdapter listadapter;
36 private ListView listView; 37 private ListView listView;
37 private ImageView cance; 38 private ImageView cance;
38 private DialogCallBack.CountryCallBack mCallBack; 39 private DialogCallBack.CountryCallBack mCallBack;
39 private ArrayList<CountyInfo.CountiesBean> data = new ArrayList<>(); 40 private ArrayList<CountyInfo.CountiesBean> data = new ArrayList<>();
40 public CountryDialog(DialogCallBack.CountryCallBack callBack) { 41 public CountryDialog(DialogCallBack.CountryCallBack callBack) {
41 this.mCallBack = callBack; 42 this.mCallBack = callBack;
42 } 43 }
43 public static CountryDialog getInstance(DialogCallBack.CountryCallBack callBack) { 44 public static CountryDialog getInstance(DialogCallBack.CountryCallBack callBack) {
44 CountryDialog dialogFragment = new CountryDialog(callBack); 45 CountryDialog dialogFragment = new CountryDialog(callBack);
45 dialogFragment.setCanceledBack(true); 46 dialogFragment.setCanceledBack(true);
46 dialogFragment.setCanceledOnTouchOutside(true); 47 dialogFragment.setCanceledOnTouchOutside(true);
47 dialogFragment.setRadius(CircleDimen.RADIUS); 48 dialogFragment.setRadius(CircleDimen.RADIUS);
48 dialogFragment.setWidth(0.5f); 49 dialogFragment.setWidth(0.5f);
49 dialogFragment.setGravity(Gravity.CENTER); 50 dialogFragment.setGravity(Gravity.CENTER);
50 dialogFragment.setBackgroundColor(Color.WHITE); 51 dialogFragment.setBackgroundColor(Color.WHITE);
51 return dialogFragment; 52 return dialogFragment;
52 } 53 }
53 Handler handler = new Handler(){ 54 Handler handler = new Handler(){
54 @Override 55 @Override
55 public void handleMessage(Message msg) { 56 public void handleMessage(Message msg) {
56 super.handleMessage(msg); 57 super.handleMessage(msg);
57 switch (msg.what){ 58 switch (msg.what){
58 case HttpCode.COUNTRY: 59 case HttpCode.COUNTRY:
59 60
60 data.clear(); 61 data.clear();
61 data.addAll( (List<CountyInfo.CountiesBean>)msg.obj); 62 data.addAll( (List<CountyInfo.CountiesBean>)msg.obj);
62 if (data==null){ 63 if (data==null){
63 dismiss(); 64 dismiss();
64 } 65 }
65 listadapter.notifyDataSetChanged(); 66 listadapter.notifyDataSetChanged();
66 break; 67 break;
67 } 68 }
68 } 69 }
69 }; 70 };
70 71
71 @Override 72 @Override
72 public View createView(Context context, LayoutInflater inflater, ViewGroup container) { 73 public View createView(Context context, LayoutInflater inflater, ViewGroup container) {
73 return inflater.inflate(R.layout.custom_adilog_countrylist, container, false); 74 return inflater.inflate(R.layout.custom_adilog_countrylist, container, false);
74 } 75 }
75 76
76 @Override 77 @Override
77 public void onActivityCreated(Bundle savedInstanceState) { 78 public void onActivityCreated(Bundle savedInstanceState) {
78 super.onActivityCreated(savedInstanceState); 79 super.onActivityCreated(savedInstanceState);
79 listView = (ListView) getView().findViewById(R.id.listadapter); 80 listView = (ListView) getView().findViewById(R.id.listadapter);
80 cance = (ImageView) getView().findViewById(R.id.cancel); 81 cance = (ImageView) getView().findViewById(R.id.cancel);
81 String citys = SaveParam.getInstance().getsaveCityParam(getActivity(), SaveParam.CITYS); 82 String citys = SaveParam.getInstance().getsaveCityParam(getActivity(), SaveParam.CITYS);
82 listadapter = new CountryAdapter(data,getActivity()); 83 listadapter = new CountryAdapter(data,getActivity());
83 listView.setAdapter(listadapter); 84 listView.setAdapter(listadapter);
84 listView.setOnItemClickListener(this); 85 listView.setOnItemClickListener(this);
85 cance.setOnClickListener(new View.OnClickListener() { 86 cance.setOnClickListener(new View.OnClickListener() {
86 @Override 87 @Override
87 public void onClick(View v) { 88 public void onClick(View v) {
88 dismiss(); 89 dismiss();
89 } 90 }
90 }); 91 });
91 try { 92 try {
92 int a = Integer.parseInt(citys); 93 int a = Integer.parseInt(citys);
93 HttpManager.getInstance().countyinfo(getActivity(),a,handler); 94 HttpManager.getInstance().countyinfo(getActivity(),a,handler);
94 } catch (NumberFormatException e) { 95 } catch (NumberFormatException e) {
95 e.printStackTrace(); 96 e.printStackTrace();
96 } 97 }
97 98
98 99
99 } 100 }
100 101
101 @Override 102 @Override
102 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 103 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
103 SaveParam.getInstance().saveCityParam(getActivity(), SaveParam.COUNTRY, ""+data.get(position).getRegionId()); 104 SaveParam.getInstance().saveCityParam(getActivity(), SaveParam.COUNTRY, ""+data.get(position).getRegionId());
104 mCallBack.province2OnItemClick(data,position,3); 105 mCallBack.province2OnItemClick(data,position,3);
105 dismiss(); 106 dismiss();
106 107
107 } 108 }
108 } 109 }
109 110
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ElectronicCardDialog.java
1 package com.hjx.personalcenter.customdialog; 1 package com.hjx.personalcenter.customdialog;
2 2
3 import android.annotation.SuppressLint; 3 import android.annotation.SuppressLint;
4 import android.content.Context; 4 import android.content.Context;
5 import android.content.Intent; 5 import android.content.Intent;
6 import android.graphics.Color; 6 import android.graphics.Color;
7 import android.os.Bundle; 7 import android.os.Bundle;
8 import android.view.Gravity; 8 import android.view.Gravity;
9 import android.view.LayoutInflater; 9 import android.view.LayoutInflater;
10 import android.view.View; 10 import android.view.View;
11 import android.view.ViewGroup; 11 import android.view.ViewGroup;
12 import android.widget.ImageView; 12 import android.widget.ImageView;
13 13
14 import com.hjx.personalcenter.R; 14 import com.hjx.personalcenter.R;
15 import com.hjx.personalcenter.activity.ElectronicCardValidationActivity; 15 import com.hjx.personalcenter.activity.ElectronicCardValidationActivity;
16 import com.mylhyl.circledialog.BaseCircleDialog; 16 import com.mylhyl.circledialog.BaseCircleDialog;
17 import com.mylhyl.circledialog.res.values.CircleDimen; 17 import com.mylhyl.circledialog.res.values.CircleDimen;
18 18
19 /** 19 /**
20 * Created by h on 2017/8/10. 20 * Created by h on 2017/8/10.
21 */ 21 */
22 @SuppressLint("ValidFragment") 22 @SuppressLint("ValidFragment")
23 public class ElectronicCardDialog extends BaseCircleDialog { 23 public class ElectronicCardDialog extends BaseCircleDialog {
24 private ImageView cancel; 24 private ImageView cancel;
25 public static ElectronicCardDialog getInstance() { 25 public static ElectronicCardDialog getInstance() {
26 ElectronicCardDialog dialogFragment = new ElectronicCardDialog(); 26 ElectronicCardDialog dialogFragment = new ElectronicCardDialog();
27 dialogFragment.setCanceledBack(true); 27 dialogFragment.setCanceledBack(true);
28 dialogFragment.setCanceledOnTouchOutside(true); 28 dialogFragment.setCanceledOnTouchOutside(false);
29 dialogFragment.setRadius(CircleDimen.RADIUS); 29 dialogFragment.setRadius(CircleDimen.RADIUS);
30 dialogFragment.setWidth(0.8f); 30 dialogFragment.setWidth(0.8f);
31 dialogFragment.setGravity(Gravity.CENTER); 31 dialogFragment.setGravity(Gravity.CENTER);
32 dialogFragment.setBackgroundColor(Color.WHITE); 32 dialogFragment.setBackgroundColor(Color.WHITE);
33 return dialogFragment; 33 return dialogFragment;
34 } 34 }
35 @Override 35 @Override
36 public View createView(Context context, LayoutInflater inflater, ViewGroup container) { 36 public View createView(Context context, LayoutInflater inflater, ViewGroup container) {
37 return inflater.inflate(R.layout.custom_adilog_electroniccard, container, false); 37 return inflater.inflate(R.layout.custom_adilog_electroniccard, container, false);
38 } 38 }
39 @Override 39 @Override
40 public void onActivityCreated(Bundle savedInstanceState) { 40 public void onActivityCreated(Bundle savedInstanceState) {
41 super.onActivityCreated(savedInstanceState); 41 super.onActivityCreated(savedInstanceState);
42
42 getView().findViewById(R.id.fill_card).setOnClickListener(new View.OnClickListener() { 43 getView().findViewById(R.id.fill_card).setOnClickListener(new View.OnClickListener() {
43 @Override 44 @Override
44 public void onClick(View v) { 45 public void onClick(View v) {
45 Intent intent = new Intent(); 46 Intent intent = new Intent();
46 intent.setClass(getActivity(),ElectronicCardValidationActivity.class); 47 intent.setClass(getActivity(),ElectronicCardValidationActivity.class);
47 startActivity(intent); 48 startActivity(intent);
48 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); 49 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
49 50
50 } 51 }
51 }); 52 });
52 getView().findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() { 53 getView().findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() {
53 @Override 54 @Override
54 public void onClick(View v) { 55 public void onClick(View v) {
55 dismiss(); 56 dismiss();
56 } 57 }
57 }); 58 });
58 59
59 } 60 }
60 61
61 } 62 }
62 63
PersonalCenter/app/src/main/java/com/hjx/personalcenter/db/SaveParam.java
1 package com.hjx.personalcenter.db; 1 package com.hjx.personalcenter.db;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
4 import android.content.Context; 4 import android.content.Context;
5 import android.content.SharedPreferences; 5 import android.content.SharedPreferences;
6 6
7 public class SaveParam { 7 public class SaveParam {
8 8
9 private static SaveParam instance; 9 private static SaveParam instance;
10 public static SaveParam getInstance(){ 10 public static SaveParam getInstance(){
11 if (instance==null){ 11 if (instance==null){
12 instance = new SaveParam(); 12 instance = new SaveParam();
13 } 13 }
14 return instance; 14 return instance;
15 } 15 }
16 public static String GRADERFLAG = "graderflag";//子账号id 16 public static String GRADERFLAG = "graderflag";//子账号id
17 public static String CHILDSID = "childID";//子账号id 17 public static String CHILDSID = "childID";//子账号id
18 public static String CHILDSGRADENS = "childs";//子账号年级id 18 public static String CHILDSGRADENS = "childs";//子账号年级id
19 public static String CHILDSGRADENSss = "childssss";//子账号年级id 19 public static String CHILDSGRADENSss = "childssss";//子账号年级id
20 public static String GRADENS = "gradens";//年级id 20 public static String GRADENS = "gradens";//年级id
21 public static String SCHOOOlID = "schoolid";//学校id 21 public static String SCHOOOlID = "schoolid";//学校id
22 public static String VIEGREADE = "vergrade"; 22 public static String VIEGREADE = "vergrade";
23 public static String ISYANGJI = "isyangji";//是否样机 23 public static String ISYANGJI = "isyangji";//是否样机
24 //个人信息 24 //个人信息
25 public static String USERNAME = "usernames";//昵称 25 public static String NICKNAME = "nickname";//昵称
26 public static String ADRESS = "adress";//地址 26 public static String REGION = "region";//地区
27 public static String GRADES = "gadens";//年级 27 public static String GRADES = "gadens";//年级
28 public static String SCHOOL = "school";//学校 28 public static String SCHOOL = "school";//学校
29 public static String REALNAME = "realName";//真实姓名
30 public static String ADDRESS = "address";//家庭地址
29 public static String CONSTELLATION = "constellations";//星座 31 public static String CONSTELLATION = "constellations";//星座
30 public static String HEADURL = "headurl";//头像 32 public static String HEADURL = "headurl";//头像
31 33
32 //用户个人信息 34 //用户个人信息
33 public static String ACCOUNTUSERNAME = "accountusernames";//昵称 35 public static String ACCOUNTUSERNAME = "accountusernames";//昵称
34 public static String ACCOUNTADRESS = "accountadress";//地址 36 public static String ACCOUNTADRESS = "accountadress";//地址
35 public static String ACCOUNTGRADES = "accountgadens";//年级 37 public static String ACCOUNTGRADES = "accountgadens";//年级
36 public static String ACCOUNTSCHOOL = "accountschool";//学校 38 public static String ACCOUNTSCHOOL = "accountschool";//学校
37 public static String ACCOUNTCONSTELLATION = "accountbthday";//生日 39 public static String ACCOUNTCONSTELLATION = "accountbthday";//生日
38 public static String ACCOUNTSEX = "accountsex";//性别 40 public static String ACCOUNTSEX = "accountsex";//性别
39 public static String ACCOUNTQQ= "accountqq";//qq 41 public static String ACCOUNTQQ= "accountqq";//qq
40 public static String ACCOUNTXINGZUO = "accountxingzuo";//详细地址 42 public static String ACCOUNTXINGZUO = "accountxingzuo";//详细地址
41 public static String PORTAIT = "portrait";//头像 43 public static String PORTAIT = "portrait";//头像
42 public static String ADRESSID = "adressid";//地址id 44 public static String ADRESSID = "adressid";//地址id
43 public static String MAINSHOOLID = "mainshoolid";//地址id 45 public static String MAINSHOOLID = "mainshoolid";//地址id
44 46
45 //电子保卡信息 47 //电子保卡信息
46 public static String CARDPHONE = "cardphone";//保卡手机号 48 public static String CARDPHONE = "cardphone";//保卡手机号
47 public static String CUNSTEMNAME = "cunstemname";//客户姓名 49 public static String CUNSTEMNAME = "cunstemname";//客户姓名
48 public static String ADRESSCUNSTEM = "adresscunstem";//客户地址 50 public static String ADRESSCUNSTEM = "adresscunstem";//客户地址
49 public static String SHOPTIME = "shoptime";//购买时间 51 public static String SHOPTIME = "shoptime";//购买时间
50 public static String SHOPADRESS = "shopadress";//购买地址 52 public static String SHOPADRESS = "shopadress";//购买地址
53 public static String SHOPADRESS_ID = "shopadress_id";//购买地址id
51 public static String SHOPTLEPHONE = "shoptlephone";//售后电话 54 public static String SHOPTLEPHONE = "shoptlephone";//售后电话
55 public static String SALES_PHONE = "sales_phone";//导购员手机号
56 public static String SALES_ID = "sales_id";//导购员手机号
52 57
53 //省市区参数、 58 //省市区参数、
54 public static String PROVINCES = "provinces";//省 59 public static String PROVINCES = "provinces";//省
55 public static String CITYS = "citys";//市 60 public static String CITYS = "citys";//市
56 public static String COUNTRY = "country";//区 61 public static String COUNTRY = "country";//区
57 62
58 //账户管理 63 //账户管理
59 public static String ACCOUNT = "account";//账户类型 64 public static String ACCOUNT = "account";//账户类型
60 //科目信息 65 //科目信息
61 public static String SUBJECT = "subject"; 66 public static String SUBJECT = "subject";
62 //样机 67 //样机
63 public static String YANGJI = "yangji"; 68 public static String YANGJI = "yangji";
64 //图片URL 69 //图片URL
65 public static String IMGURL = "imgurl"; 70 public static String IMGURL = "imgurl";
66 //版本名称 71 //版本名称
67 public static String VERSION = "version"; 72 public static String VERSION = "version";
68 //版本信息接口返回值 73 //版本信息接口返回值
69 public static String VERSIONINTEFACE = "versioninterface"; 74 public static String VERSIONINTEFACE = "versioninterface";
70 75
71 76
72 public void saveLoginParam(Context context,String spname, String spstr) { 77 public void saveLoginParam(Context context,String spname, String spstr) {
73 SharedPreferences sp = context.getSharedPreferences("loginparam", 78 SharedPreferences sp = context.getSharedPreferences("loginparam",
74 Activity.MODE_PRIVATE); 79 Activity.MODE_PRIVATE);
75 80
76 sp.edit().putString(spname, spstr).commit(); 81 sp.edit().putString(spname, spstr).commit();
77 } 82 }
78 83
79 84
80 public String getLoginParam(Context context,String spname) { 85 public String getLoginParam(Context context,String spname) {
81 SharedPreferences sp = context.getSharedPreferences("loginparam", 86 SharedPreferences sp = context.getSharedPreferences("loginparam",
82 Activity.MODE_PRIVATE); 87 Activity.MODE_PRIVATE);
83 String param = sp.getString(spname, null); 88 String param = sp.getString(spname, null);
84 return param; 89 return param;
85 } 90 }
86 public void clearData(Context context) { 91 public void clearData(Context context) {
87 SharedPreferences sp = context.getSharedPreferences("loginparam", 92 SharedPreferences sp = context.getSharedPreferences("loginparam",
88 Activity.MODE_PRIVATE); 93 Activity.MODE_PRIVATE);
89 sp.edit().clear().commit(); 94 sp.edit().clear().commit();
90 } 95 }
91 96
92 public void saveCustomizeParam(Context context,String spname, String spstr) { 97 public void saveCustomizeParam(Context context,String spname, String spstr) {
93 SharedPreferences sp = context.getSharedPreferences("presoninfo", 98 SharedPreferences sp = context.getSharedPreferences("presoninfo",
94 Activity.MODE_PRIVATE); 99 Activity.MODE_PRIVATE);
95 100
96 sp.edit().putString(spname, spstr).commit(); 101 sp.edit().putString(spname, spstr).commit();
97 102
98 } 103 }
99 104
100 public String getCustomizeParam(Context context,String spname) { 105 public String getCustomizeParam(Context context,String spname) {
101 SharedPreferences sp = context.getSharedPreferences("presoninfo", 106 SharedPreferences sp = context.getSharedPreferences("presoninfo",
102 Activity.MODE_PRIVATE); 107 Activity.MODE_PRIVATE);
103 String param = sp.getString(spname, null); 108 String param = sp.getString(spname, null);
104 return param; 109 return param;
105 } 110 }
106 111
107 public void clearCustomizeParam(Context context ){ 112 public void clearCustomizeParam(Context context ){
108 SharedPreferences sp = context.getSharedPreferences("presoninfo", 113 SharedPreferences sp = context.getSharedPreferences("presoninfo",
109 Activity.MODE_PRIVATE); 114 Activity.MODE_PRIVATE);
110 sp.edit().clear().commit(); 115 sp.edit().clear().commit();
111 } 116 }
112 public void saveCityParam(Context context,String spname, String spstr) { 117 public void saveCityParam(Context context,String spname, String spstr) {
113 SharedPreferences sp = context.getSharedPreferences("saveCityParam", 118 SharedPreferences sp = context.getSharedPreferences("saveCityParam",
114 Activity.MODE_PRIVATE); 119 Activity.MODE_PRIVATE);
115 120
116 sp.edit().putString(spname, spstr).commit(); 121 sp.edit().putString(spname, spstr).commit();
117 122
118 } 123 }
119 124
120 public String getsaveCityParam(Context context,String spname) { 125 public String getsaveCityParam(Context context,String spname) {
121 SharedPreferences sp = context.getSharedPreferences("saveCityParam", 126 SharedPreferences sp = context.getSharedPreferences("saveCityParam",
122 Activity.MODE_PRIVATE); 127 Activity.MODE_PRIVATE);
123 String param = sp.getString(spname, null); 128 String param = sp.getString(spname, null);
124 return param; 129 return param;
125 } 130 }
126 131
127 public void clearsaveCityParam(Context context ){ 132 public void clearsaveCityParam(Context context ){
128 SharedPreferences sp = context.getSharedPreferences("saveCityParam", 133 SharedPreferences sp = context.getSharedPreferences("saveCityParam",
129 Activity.MODE_PRIVATE); 134 Activity.MODE_PRIVATE);
130 sp.edit().clear().commit(); 135 sp.edit().clear().commit();
131 } 136 }
132 } 137 }
133 138
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java
1 package com.hjx.personalcenter.fragment; 1 package com.hjx.personalcenter.fragment;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.os.Handler; 5 import android.os.Handler;
6 import android.os.Message; 6 import android.os.Message;
7 import android.support.annotation.Nullable; 7 import android.support.annotation.Nullable;
8 import android.support.v4.app.Fragment; 8 import android.support.v4.app.Fragment;
9 import android.text.Editable;
9 import android.text.TextUtils; 10 import android.text.TextUtils;
11 import android.text.TextWatcher;
12 import android.util.Log;
10 import android.view.LayoutInflater; 13 import android.view.LayoutInflater;
11 import android.view.View; 14 import android.view.View;
12 import android.view.ViewGroup; 15 import android.view.ViewGroup;
13 import android.widget.Button; 16 import android.widget.Button;
14 import android.widget.EditText; 17 import android.widget.EditText;
18 import android.widget.ImageButton;
15 import android.widget.TextView; 19 import android.widget.TextView;
16 import android.widget.Toast; 20 import android.widget.Toast;
17 21
18 import com.hjx.personalcenter.R; 22 import com.hjx.personalcenter.R;
19 import com.hjx.personalcenter.activity.ForgotPasswordActivity; 23 import com.hjx.personalcenter.activity.ForgotPasswordActivity;
20 import com.hjx.personalcenter.activity.MainActivity; 24 import com.hjx.personalcenter.activity.MainActivity;
21 import com.hjx.personalcenter.activity.RegisterInfoActivity; 25 import com.hjx.personalcenter.activity.RegisterInfoActivity;
22 import com.hjx.personalcenter.customdialog.ElectronicCardDialog; 26 import com.hjx.personalcenter.customdialog.ElectronicCardDialog;
23 import com.hjx.personalcenter.db.Content; 27 import com.hjx.personalcenter.db.Content;
24 import com.hjx.personalcenter.db.SaveParam; 28 import com.hjx.personalcenter.db.SaveParam;
25 import com.hjx.personalcenter.http.HttpCode; 29 import com.hjx.personalcenter.http.HttpCode;
26 import com.hjx.personalcenter.http.HttpManager; 30 import com.hjx.personalcenter.http.HttpManager;
27 import com.hjx.personalcenter.util.AlertUtils; 31 import com.hjx.personalcenter.util.AlertUtils;
28 import com.hjx.personalcenter.util.GetDevicesUtil; 32 import com.hjx.personalcenter.util.GetDevicesUtil;
29 import com.hjx.personalcenter.util.PhoneNumCheckUtils; 33 import com.hjx.personalcenter.util.PhoneNumCheckUtils;
30 34
31 import org.json.JSONException; 35 import org.json.JSONException;
32 import org.json.JSONObject; 36 import org.json.JSONObject;
33 37
34 /** 38 /**
35 * 登录 39 * 登录
36 * Created by h on 2017/8/8. 40 * Created by h on 2017/8/8.
37 */ 41 */
38 42
39 public class LoginFragment extends Fragment implements View.OnClickListener { 43 public class LoginFragment extends Fragment implements View.OnClickListener {
40 private View mView; 44 private View mView;
41 private int type; 45 private int type;
42 private TextView tv_forget_pwd; 46 private TextView tv_forget_pwd;
43 private Button btn_login; 47 private Button btn_login;
48 private ImageButton phone_delete_btn,password_delete_btn;
44 private EditText phonenumber, login_pwwd; 49 private EditText phonenumber, login_pwwd;
45 public static String TABLAYOUT_FRAGMENT = "tab_fragment"; 50 public static String TABLAYOUT_FRAGMENT = "tab_fragment";
46 Intent intent = new Intent(); 51 Intent intent = new Intent();
52 private String name;
47 53
48 public static LoginFragment newInstance(int type) { 54 public static LoginFragment newInstance(int type) {
49 LoginFragment fragment = new LoginFragment(); 55 LoginFragment fragment = new LoginFragment();
50 Bundle bundle = new Bundle(); 56 Bundle bundle = new Bundle();
51 bundle.putSerializable(TABLAYOUT_FRAGMENT, type); 57 bundle.putSerializable(TABLAYOUT_FRAGMENT, type);
52 fragment.setArguments(bundle); 58 fragment.setArguments(bundle);
53 return fragment; 59 return fragment;
54 60
55 } 61 }
56 62
57 Handler handler = new Handler() { 63 Handler handler = new Handler() {
58 @Override 64 @Override
59 public void handleMessage(Message msg) { 65 public void handleMessage(Message msg) {
60 super.handleMessage(msg); 66 super.handleMessage(msg);
61 67
62 switch (msg.what) { 68 switch (msg.what) {
63 case HttpCode.LOGIN_SUCESS: 69 case HttpCode.LOGIN_SUCESS:
64 JSONObject jsonObject; 70 JSONObject jsonObject;
65 String status; 71 String status;
66 try { 72 try {
67 jsonObject = new JSONObject((String) msg.obj); 73 jsonObject = new JSONObject((String) msg.obj);
68 status = jsonObject.getString("status"); 74 status = jsonObject.getString("status");
69 if (status.equals("100")) { 75 if (status.equals("100")) {
70 String access_token = jsonObject.getString("access_token"); 76 String access_token = jsonObject.getString("access_token");
71 String userId = jsonObject.getString("userId"); 77 String userId = jsonObject.getString("userId");
72 final String name = phonenumber.getText().toString().trim(); 78 name = phonenumber.getText().toString().trim();
73 final String pwd = login_pwwd.getText().toString().trim(); 79 final String pwd = login_pwwd.getText().toString().trim();
74 // 80 //
75 try { 81 try {
76 long auserID = Long.parseLong(userId); 82 long auserID = Long.parseLong(userId);
77 //检测注册信息是否完整 83 //检测注册信息是否完整
78 HttpManager.getInstance().registerinfocheck(getActivity(), auserID, handler); 84 HttpManager.getInstance().registerinfocheck(getActivity(), auserID, handler);
79 //登录成功,保存登录数据并且获取个人信息 85 //登录成功,保存登录数据并且获取个人信息
80 HttpManager.getInstance().saveLoginInfo(getActivity(), name, pwd, access_token, userId); 86 HttpManager.getInstance().saveLoginInfo(getActivity(), name, pwd, access_token, userId);
81 87
82 88
83 } catch (NumberFormatException e) { 89 } catch (NumberFormatException e) {
84 e.printStackTrace(); 90 e.printStackTrace();
85 } 91 }
86 92
87 93
88 } else if (status.equals("200")) { 94 } else if (status.equals("200")) {
89 Toast.makeText(getActivity(), "用户名不存在!", Toast.LENGTH_LONG).show(); 95 Toast.makeText(getActivity(), "用户名不存在!", Toast.LENGTH_LONG).show();
90 return; 96 return;
91 } else if (status.equals("204")) { 97 } else if (status.equals("204")) {
92 Toast.makeText(getActivity(), "密码错误!", Toast.LENGTH_LONG).show(); 98 Toast.makeText(getActivity(), "密码错误!", Toast.LENGTH_LONG).show();
93 } else { 99 } else {
94 Toast.makeText(getActivity(), "登录失败!请检查网络", Toast.LENGTH_LONG).show(); 100 Toast.makeText(getActivity(), "登录失败!请检查网络", Toast.LENGTH_LONG).show();
95 101
96 102
97 } 103 }
98 } catch (JSONException e) { 104 } catch (JSONException e) {
99 e.printStackTrace(); 105 e.printStackTrace();
100 } 106 }
101 break; 107 break;
102 case HttpCode.REGISTER_SUCESS: 108 case HttpCode.REGISTER_SUCESS:
103 try { 109 try {
104 jsonObject = new JSONObject((String) msg.obj); 110 jsonObject = new JSONObject((String) msg.obj);
111 Log.e("AAAAAAA",(String) msg.obj);
105 status = jsonObject.optString("status"); 112 status = jsonObject.optString("status");
106 JSONObject isregisterinfo = (JSONObject) jsonObject.opt("data"); 113 JSONObject isregisterinfo = (JSONObject) jsonObject.opt("data");
107 boolean isRegisterInfoComplete = isregisterinfo.optBoolean("isRegisterInfoComplete"); 114 boolean isRegisterInfoComplete = isregisterinfo.optBoolean("isRegisterInfoComplete");
108 if (status.equals("1")) { 115 if (status.equals("1")) {
109 if (!isRegisterInfoComplete) { 116 if (!isRegisterInfoComplete) {
110 Content.accountflag = 1; 117 Content.accountflag = 1;
111 Intent intent = new Intent(); 118 Intent intent = new Intent();
112 intent.setClass(getActivity(), RegisterInfoActivity.class); 119 intent.setClass(getActivity(), RegisterInfoActivity.class);
113 getActivity().startActivity(intent); 120 getActivity().startActivity(intent);
114 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); 121 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
115 } else { 122 } else {
116 String deviceNumber = GetDevicesUtil.getDevicesInfo(getActivity()).getDeviceNumber(); 123 String deviceNumber = GetDevicesUtil.getDevicesInfo(getActivity()).getDeviceNumber();
117 //是否填写保卡 124 //是否填写保卡
118 HttpManager.getInstance().cardinfocheck(getActivity(), deviceNumber, handler); 125 HttpManager.getInstance().cardinfocheck(getActivity(), deviceNumber, handler);
119 126
120 127
121 } 128 }
122 129
123 } else { 130 } else {
124 Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show(); 131 Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show();
132
125 } 133 }
126 134
127 } catch (JSONException e) { 135 } catch (JSONException e) {
128 e.printStackTrace(); 136 e.printStackTrace();
129 } 137 }
130 138
131 break; 139 break;
132 case HttpCode.CHECKCARD: 140 case HttpCode.CHECKCARD:
133 try { 141 try {
134 jsonObject = new JSONObject((String) msg.obj); 142 jsonObject = new JSONObject((String) msg.obj);
143
135 status = jsonObject.optString("status"); 144 status = jsonObject.optString("status");
136 if (status.equals("1")) { 145 if (name.equals(getString(R.string.static_str)) || status.equals("2002")) {
146 SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.YANGJI, "1");
137 SaveParam.getInstance().saveLoginParam(getActivity(), "login", "true"); 147 SaveParam.getInstance().saveLoginParam(getActivity(), "login", "true");
138 Intent intent = new Intent(); 148 Intent intent = new Intent();
139 intent.setClass(getActivity(), MainActivity.class); 149 intent.setClass(getActivity(), MainActivity.class);
140 getActivity().startActivity(intent); 150 getActivity().startActivity(intent);
141 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); 151 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
142 getActivity().finish(); 152 } else if (status.equals("1")) {
143
144 } else if (status.equals("2002")) {
145 SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.YANGJI, "1");
146 SaveParam.getInstance().saveLoginParam(getActivity(), "login", "true"); 153 SaveParam.getInstance().saveLoginParam(getActivity(), "login", "true");
147 Intent intent = new Intent(); 154 Intent intent = new Intent();
148 intent.setClass(getActivity(), MainActivity.class); 155 intent.setClass(getActivity(), MainActivity.class);
149 getActivity().startActivity(intent); 156 getActivity().startActivity(intent);
150 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); 157 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
158 getActivity().finish();
159
151 } else if (status.equals("2001")) { 160 } else if (status.equals("2001")) {
152 SaveParam.getInstance().saveCustomizeParam(getActivity(),SaveParam.CARDPHONE,""); 161 SaveParam.getInstance().saveCustomizeParam(getActivity(), SaveParam.CARDPHONE, "");
153 ElectronicCardDialog.getInstance().show(getChildFragmentManager(), "ElectronicCardDialog"); 162 ElectronicCardDialog.getInstance().show(getChildFragmentManager(), "ElectronicCardDialog");
154 } else { 163 } else {
155 Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show(); 164 Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show();
156 } 165 }
157 166
158 } catch (JSONException e) { 167 } catch (JSONException e) {
159 e.printStackTrace(); 168 e.printStackTrace();
160 } 169 }
161 170
162 break; 171 break;
163 } 172 }
164 } 173 }
165 }; 174 };
166 175
167 @Override 176 @Override
168 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 177 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
169 if (mView == null) { 178 if (mView == null) {
170 mView = inflater.inflate(R.layout.fragment_loginandregister_login, container, false); 179 mView = inflater.inflate(R.layout.fragment_loginandregister_login, container, false);
171 initView(mView); 180 initView(mView);
172 initData(); 181 initData();
182 initTextWatch();
173 setLister(); 183 setLister();
174 } 184 }
175 return mView; 185 return mView;
176 } 186 }
177 187
178 //初始化 188 //初始化
179 private void initView(View mView) { 189 private void initView(View mView) {
180 tv_forget_pwd = (TextView) mView.findViewById(R.id.tv_forget_pwd); 190 tv_forget_pwd = (TextView) mView.findViewById(R.id.tv_forget_pwd);
181 phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber); 191 phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber);
182 login_pwwd = (EditText) mView.findViewById(R.id.et_password); 192 login_pwwd = (EditText) mView.findViewById(R.id.et_password);
183 btn_login = (Button) mView.findViewById(R.id.btn_login); 193 btn_login = (Button) mView.findViewById(R.id.btn_login);
194 phone_delete_btn = (ImageButton) mView.findViewById(R.id.phone_delete_btn);
195 password_delete_btn = (ImageButton) mView.findViewById(R.id.password_delete_btn);
184 196
185 } 197 }
186 198
199 /**
200 * 输入框改变的监听
201 */
202 private void initTextWatch() {
203 phonenumber.addTextChangedListener(new TextWatcher() {
204 @Override
205 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
206 }
207
208 @Override
209 public void onTextChanged(CharSequence s, int start, int before, int count) {
210 if (s.toString().length() == 0) {
211 phone_delete_btn.setVisibility(View.INVISIBLE);
212 } else {
213 phone_delete_btn.setVisibility(View.VISIBLE);
214 }
215 }
216
217 @Override
218 public void afterTextChanged(Editable s) {
219
220 }
221 });
222 phonenumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
223 @Override
224 public void onFocusChange(View v, boolean hasFocus) {
225 if (hasFocus) {
226 if (!phonenumber.getText().toString().isEmpty()) {
227 phone_delete_btn.setVisibility(View.VISIBLE);
228 }
229 } else {
230
231 phone_delete_btn.setVisibility(View.INVISIBLE);
232 }
233 }
234 });
235 login_pwwd.addTextChangedListener(new TextWatcher() {
236 @Override
237 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
238
239 }
240
241 @Override
242 public void onTextChanged(CharSequence s, int start, int before, int count) {
243 if (s.toString().length() == 0) {
244
245 password_delete_btn.setVisibility(View.INVISIBLE);
246 } else {
247 password_delete_btn.setVisibility(View.VISIBLE);
248 }
249 }
250
251 @Override
252 public void afterTextChanged(Editable s) {
253
254 }
255 });
256 login_pwwd.setOnFocusChangeListener(new View.OnFocusChangeListener() {
257 @Override
258 public void onFocusChange(View v, boolean hasFocus) {
259 if (hasFocus) {
260 if (!login_pwwd.getText().toString().isEmpty()) {
261 password_delete_btn.setVisibility(View.VISIBLE);
262 }
263 } else {
264 password_delete_btn.setVisibility(View.INVISIBLE);
265 }
266 }
267 });
268 }
269
270
187 private void initData() { 271 private void initData() {
188 } 272 }
189 273
190 private void setLister() { 274 private void setLister() {
191 tv_forget_pwd.setOnClickListener(this); 275 tv_forget_pwd.setOnClickListener(this);
192 btn_login.setOnClickListener(this); 276 btn_login.setOnClickListener(this);
277 phone_delete_btn.setOnClickListener(this);
278 password_delete_btn.setOnClickListener(this);
193 } 279 }
194 280
195 281
196 @Override 282 @Override
197 public void onClick(View v) { 283 public void onClick(View v) {
198 switch (v.getId()) { 284 switch (v.getId()) {
199 case R.id.tv_forget_pwd: 285 case R.id.tv_forget_pwd:
200 intent.setClass(getActivity(), ForgotPasswordActivity.class); 286 intent.setClass(getActivity(), ForgotPasswordActivity.class);
201 startActivity(intent); 287 startActivity(intent);
202 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); 288 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
203 break; 289 break;
204 case R.id.btn_login: 290 case R.id.btn_login:
205 login(); 291 login();
206 break; 292 break;
293 case R.id.phone_delete_btn:
294 phonenumber.setText("");
295 break;
296 case R.id.password_delete_btn:
297 login_pwwd.setText("");
298 break;
207 } 299 }
208 300
209 } 301 }
210 302
211 private void login() { 303 private void login() {
212 final String name = phonenumber.getText().toString().trim(); 304 final String name = phonenumber.getText().toString().trim();
213 final String pwd = login_pwwd.getText().toString().trim(); 305 final String pwd = login_pwwd.getText().toString().trim();
214 if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) { 306 if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) {
215 AlertUtils.showToast(getActivity(), "请输入手机号和密码"); 307 AlertUtils.showToast(getActivity(), "请输入手机号和密码");
216 return; 308 return;
217 } else if (!PhoneNumCheckUtils.isPhone(name)) { 309 } else if (!PhoneNumCheckUtils.isPhone(name)) {
218 AlertUtils.showToast(getActivity(), "请输入正确的手机号"); 310 AlertUtils.showToast(getActivity(), "请输入正确的手机号");
219 } else { 311 } else {
220 //登录接口 312 //登录接口
221 HttpManager.getInstance().login(name, pwd, getActivity(), handler); 313 HttpManager.getInstance().login(name, pwd, getActivity(), handler);
222 } 314 }
223 315
224 316
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java
1 package com.hjx.personalcenter.fragment; 1 package com.hjx.personalcenter.fragment;
2 2
3 import android.content.Intent; 3 import android.content.Intent;
4 import android.os.Bundle; 4 import android.os.Bundle;
5 import android.os.Handler; 5 import android.os.Handler;
6 import android.os.Message; 6 import android.os.Message;
7 import android.support.annotation.Nullable; 7 import android.support.annotation.Nullable;
8 import android.support.v4.app.Fragment; 8 import android.support.v4.app.Fragment;
9 import android.text.Editable;
9 import android.text.TextUtils; 10 import android.text.TextUtils;
11 import android.text.TextWatcher;
10 import android.text.method.HideReturnsTransformationMethod; 12 import android.text.method.HideReturnsTransformationMethod;
11 import android.text.method.PasswordTransformationMethod; 13 import android.text.method.PasswordTransformationMethod;
14 import android.util.Log;
12 import android.view.LayoutInflater; 15 import android.view.LayoutInflater;
13 import android.view.View; 16 import android.view.View;
14 import android.view.ViewGroup; 17 import android.view.ViewGroup;
15 import android.widget.Button; 18 import android.widget.Button;
16 import android.widget.EditText; 19 import android.widget.EditText;
20 import android.widget.ImageButton;
17 import android.widget.ImageView; 21 import android.widget.ImageView;
18 22
19 import com.hjx.personalcenter.R; 23 import com.hjx.personalcenter.R;
20 import com.hjx.personalcenter.activity.RegisterInfoActivity; 24 import com.hjx.personalcenter.activity.RegisterInfoActivity;
21 import com.hjx.personalcenter.db.Content; 25 import com.hjx.personalcenter.db.Content;
22 import com.hjx.personalcenter.db.SaveParam; 26 import com.hjx.personalcenter.db.SaveParam;
23 import com.hjx.personalcenter.http.HttpCode; 27 import com.hjx.personalcenter.http.HttpCode;
24 import com.hjx.personalcenter.http.HttpManager; 28 import com.hjx.personalcenter.http.HttpManager;
25 import com.hjx.personalcenter.util.AlertUtils; 29 import com.hjx.personalcenter.util.AlertUtils;
26 import com.hjx.personalcenter.util.PasswordCheckUtils; 30 import com.hjx.personalcenter.util.PasswordCheckUtils;
27 import com.hjx.personalcenter.util.PhoneNumCheckUtils; 31 import com.hjx.personalcenter.util.PhoneNumCheckUtils;
28 32
29 import org.json.JSONException; 33 import org.json.JSONException;
30 import org.json.JSONObject; 34 import org.json.JSONObject;
31 35
32 import java.util.TimerTask; 36 import java.util.TimerTask;
33 37
34 /** 38 /**
35 * 注册 39 * 注册
36 * Created by Administrator on 2016/11/7. 40 * Created by Administrator on 2016/11/7.
37 */ 41 */
38 42
39 public class RegisterFragment extends Fragment implements View.OnClickListener { 43 public class RegisterFragment extends Fragment implements View.OnClickListener {
40 private View mView; 44 private View mView;
41 45
42 private Button btn_register,get_authcode; 46 private Button btn_register,get_authcode;
47 private ImageButton phone_delete_btn,code_delete_btn;
43 private EditText phonenumber,password,anth_6num;//;//密码 48 private EditText phonenumber,password,anth_6num;//;//密码
44 private ImageView openeyes; 49 private ImageView openeyes;
45 private String sourceStr ="android"; 50 private String sourceStr ="android";
46 private String typeStr = "register"; 51 private String typeStr = "register";
47 private int delayTime=60; 52 private int delayTime=60;
48 private java.util.Timer Delaytimer; 53 private java.util.Timer Delaytimer;
49 private int type; 54 private int type;
50 public static Boolean showPassword = false; 55 public static Boolean showPassword = false;
51 public static String TABLAYOUT_FRAGMENT = "tab_fragment"; 56 public static String TABLAYOUT_FRAGMENT = "tab_fragment";
52 57
53 public static RegisterFragment newInstance(int type) { 58 public static RegisterFragment newInstance(int type) {
54 RegisterFragment fragment = new RegisterFragment(); 59 RegisterFragment fragment = new RegisterFragment();
55 Bundle bundle = new Bundle(); 60 Bundle bundle = new Bundle();
56 bundle.putSerializable(TABLAYOUT_FRAGMENT, type); 61 bundle.putSerializable(TABLAYOUT_FRAGMENT, type);
57 fragment.setArguments(bundle); 62 fragment.setArguments(bundle);
58 return fragment; 63 return fragment;
59 64
60 } 65 }
61 Handler handler = new Handler() { 66 Handler handler = new Handler() {
62 @Override 67 @Override
63 public void handleMessage(Message msg) { 68 public void handleMessage(Message msg) {
64 super.handleMessage(msg); 69 super.handleMessage(msg);
65 try { 70 try {
66 JSONObject jsonObject; 71 JSONObject jsonObject;
67 String status; 72 String status;
68 switch (msg.what) { 73 switch (msg.what) {
69 case HttpCode.REGISTERED_SUCESS: 74 case HttpCode.REGISTERED_SUCESS:
70 jsonObject = (JSONObject) msg.obj; 75 jsonObject = (JSONObject) msg.obj;
71 status = jsonObject.getString("status"); 76 status = jsonObject.getString("status");
72 //AlertUtils.showToast(RegisterActivity.this, jsonObject.optString("message")); 77 //AlertUtils.showToast(RegisterActivity.this, jsonObject.optString("message"));
73 String access_token = jsonObject.getString("access_token");
74 String userId = jsonObject.getString("userId");
75 if (status.equals("100")) { 78 if (status.equals("100")) {
79 String access_token = jsonObject.getString("access_token");
80 String userId = jsonObject.getString("userId");
76 String usernameStr = phonenumber.getText().toString().trim(); 81 String usernameStr = phonenumber.getText().toString().trim();
77 String passwordStr = password.getText().toString().trim(); 82 String passwordStr = password.getText().toString().trim();
78 HttpManager.getInstance().saveLoginInfo(getActivity(),usernameStr,passwordStr,access_token,userId); 83 HttpManager.getInstance().saveLoginInfo(getActivity(),usernameStr,passwordStr,access_token,userId);
79 SaveParam.getInstance().saveCustomizeParam(getActivity(), SaveParam.ACCOUNT, "1"); 84 SaveParam.getInstance().saveCustomizeParam(getActivity(), SaveParam.ACCOUNT, "1");
80 AlertUtils.showToast(getActivity(), "注册成功!"); 85 AlertUtils.showToast(getActivity(), "注册成功!");
81 Content.accountflag =1; 86 Content.accountflag =1;
82 Intent intent = new Intent(); 87 Intent intent = new Intent();
83 intent.setClass(getActivity(),RegisterInfoActivity.class); 88 intent.setClass(getActivity(),RegisterInfoActivity.class);
84 startActivity(intent); 89 startActivity(intent);
85 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); 90 getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout);
86 }else if(status.equals("209")){ 91 }else if(status.equals("209")){
87 AlertUtils.showToast(getActivity(), "验证码错误!"); 92 AlertUtils.showToast(getActivity(), "验证码错误!");
93 }else{
94 AlertUtils.showToast(getActivity(), "请检查网络!");
88 } 95 }
96 Log.d("AAAAA",status+"");
89 break; 97 break;
90 case HttpCode.REGISTERED_FAIL: 98 case HttpCode.REGISTERED_FAIL:
91 AlertUtils.showToast(getActivity(), "注册失败"); 99 AlertUtils.showToast(getActivity(), "注册失败");
92 break; 100 break;
93 case HttpCode.AUTHCODE_SUCESS: 101 case HttpCode.AUTHCODE_SUCESS:
94 jsonObject = (JSONObject) msg.obj; 102 jsonObject = (JSONObject) msg.obj;
95 status = jsonObject.optString("status"); 103 status = jsonObject.optString("status");
96 if (status.equals("100")) { 104 if (status.equals("100")) {
97 AlertUtils.showToast(getActivity(), "验证码发送成功"); 105 AlertUtils.showToast(getActivity(), "验证码发送成功");
98 } 106 }
99 107
100 break; 108 break;
101 case HttpCode.AUTHCODE_FAIL: 109 case HttpCode.AUTHCODE_FAIL:
102 jsonObject = (JSONObject) msg.obj; 110 jsonObject = (JSONObject) msg.obj;
103 AlertUtils.showToast(getActivity(), "验证码发送失败"); 111 AlertUtils.showToast(getActivity(), "验证码发送失败");
104 break; 112 break;
105 case HttpCode.IS_REFISTER: 113 case HttpCode.IS_REFISTER:
106 jsonObject = (JSONObject) msg.obj; 114 jsonObject = (JSONObject) msg.obj;
107 status = jsonObject.getString("status"); 115 status = jsonObject.getString("status");
108 if (!status.equals("true")) { 116 if (!status.equals("true")) {
109 getauthcode(); 117 getauthcode();
110 118
111 }else { 119 }else {
112 AlertUtils.showToast(getActivity(), "该手机号已经注册过了"); 120 AlertUtils.showToast(getActivity(), "该手机号已经注册过了");
113 } 121 }
114 break; 122 break;
115 case 21: 123 case 21:
116 if(delayTime<=0){ 124 if(delayTime<=0){
117 if(Delaytimer!=null){ 125 if(Delaytimer!=null){
118 Delaytimer.cancel(); 126 Delaytimer.cancel();
119 } 127 }
120 get_authcode.setEnabled(true); 128 get_authcode.setEnabled(true);
121 get_authcode.setClickable(true); 129 get_authcode.setClickable(true);
122 get_authcode.setText("获取验证码"); 130 get_authcode.setText("获取验证码");
123 delayTime=60; 131 delayTime=60;
124 }else{ 132 }else{
125 get_authcode.setEnabled(false); 133 get_authcode.setEnabled(false);
126 get_authcode.setClickable(false); 134 get_authcode.setClickable(false);
127 get_authcode.setText(delayTime + " s"); 135 get_authcode.setText(delayTime + " s");
128 } 136 }
129 break; 137 break;
130 } 138 }
131 } catch (JSONException e) { 139 } catch (JSONException e) {
132 e.printStackTrace(); 140 e.printStackTrace();
133 } 141 }
134 } 142 }
135 }; 143 };
136 @Override 144 @Override
137 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { 145 public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
138 if (mView == null) { 146 if (mView == null) {
139 mView = inflater.inflate(R.layout.fragment_loginandregister_register, container, false); 147 mView = inflater.inflate(R.layout.fragment_loginandregister_register, container, false);
140 initView(mView); 148 initView(mView);
141 initData(); 149 initData();
150 initTextWatch();
142 setLister(); 151 setLister();
143 152
144 153
145 } 154 }
146 return mView; 155 return mView;
147 } 156 }
148 157
149 private void initView(View mView) { 158 private void initView(View mView) {
150 get_authcode = (Button) mView.findViewById(R.id.btn_authcode); 159 get_authcode = (Button) mView.findViewById(R.id.btn_authcode);
151 anth_6num = (EditText) mView.findViewById(R.id.et_authcode); 160 anth_6num = (EditText) mView.findViewById(R.id.et_authcode);
152 phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber); 161 phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber);
153 password = (EditText) mView.findViewById(R.id.et_password); 162 password = (EditText) mView.findViewById(R.id.et_password);
154 openeyes= (ImageView) mView.findViewById(R.id.iv_pwd_change); 163 openeyes= (ImageView) mView.findViewById(R.id.iv_pwd_change);
155 btn_register = (Button) mView.findViewById(R.id.btn_register); 164 btn_register = (Button) mView.findViewById(R.id.btn_register);
165 phone_delete_btn = (ImageButton) mView.findViewById(R.id.phone_delete_btn);
166 code_delete_btn = (ImageButton) mView.findViewById(R.id.code_delete_btn);
156 167
157 } 168 }
169
170 /**
171 * 输入框改变的监听
172 */
173 private void initTextWatch() {
174 phonenumber.addTextChangedListener(new TextWatcher() {
175 @Override
176 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
177 }
178
179 @Override
180 public void onTextChanged(CharSequence s, int start, int before, int count) {
181 if (s.toString().length() == 0) {
182 phone_delete_btn.setVisibility(View.INVISIBLE);
183 } else {
184 phone_delete_btn.setVisibility(View.VISIBLE);
185 }
186 }
187
188 @Override
189 public void afterTextChanged(Editable s) {
190
191 }
192 });
193 phonenumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
194 @Override
195 public void onFocusChange(View v, boolean hasFocus) {
196 if (hasFocus) {
197 if (!phonenumber.getText().toString().isEmpty()) {
198 phone_delete_btn.setVisibility(View.VISIBLE);
199 }
200 } else {
201
202 phone_delete_btn.setVisibility(View.INVISIBLE);
203 }
204 }
205 });
206 anth_6num.addTextChangedListener(new TextWatcher() {
207 @Override
208 public void beforeTextChanged(CharSequence s, int start, int count, int after) {
209
210 }
211
212 @Override
213 public void onTextChanged(CharSequence s, int start, int before, int count) {
214 if (s.toString().length() == 0) {
215
216 code_delete_btn.setVisibility(View.INVISIBLE);
217 } else {
218 code_delete_btn.setVisibility(View.VISIBLE);
219 }
220 }
221
222 @Override
223 public void afterTextChanged(Editable s) {
224
225 }
226 });
227 anth_6num.setOnFocusChangeListener(new View.OnFocusChangeListener() {
228 @Override
229 public void onFocusChange(View v, boolean hasFocus) {
230 if (hasFocus) {
231 if (!anth_6num.getText().toString().isEmpty()) {
232 code_delete_btn.setVisibility(View.VISIBLE);
233 }
234 } else {
235 code_delete_btn.setVisibility(View.INVISIBLE);
236 }
237 }
238 });
239 }
240
158 private void initData() { 241 private void initData() {
159 } 242 }
160 private void setLister() { 243 private void setLister() {
161 get_authcode.setOnClickListener(this); 244 get_authcode.setOnClickListener(this);
162 openeyes.setOnClickListener(this); 245 openeyes.setOnClickListener(this);
163 btn_register.setOnClickListener(this); 246 btn_register.setOnClickListener(this);
247 phone_delete_btn.setOnClickListener(this);
248 code_delete_btn.setOnClickListener(this);
164 } 249 }
165 250
166 251
167 @Override 252 @Override
168 public void onClick(View v) { 253 public void onClick(View v) {
169 switch (v.getId()){ 254 switch (v.getId()){
170 case R.id.btn_register: 255 case R.id.btn_register:
171 //测试 256 //测试
172 // 257 //
173 258
174 String usernameStr = phonenumber.getText().toString().trim(); 259 String usernameStr = phonenumber.getText().toString().trim();
175 String authcodeStr = anth_6num.getText().toString().trim(); 260 String authcodeStr = anth_6num.getText().toString().trim();
176 String passwordStr = password.getText().toString().trim(); 261 String passwordStr = password.getText().toString().trim();
177 if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)||TextUtils.isEmpty(passwordStr)) { 262 if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)||TextUtils.isEmpty(passwordStr)) {
178 AlertUtils.showToast(getActivity(), "手机号,密码和验证码不能为空"); 263 AlertUtils.showToast(getActivity(), "手机号,密码和验证码不能为空");
179 return; 264 return;
180 } else if(passwordStr.length()<8){ 265 } else if(passwordStr.length()<8){
181 AlertUtils.showToast(getActivity(), "密码不能少于8位"); 266 AlertUtils.showToast(getActivity(), "密码不能少于8位");
182 }else if (!PhoneNumCheckUtils.isPhone(usernameStr)){ 267 }else if (!PhoneNumCheckUtils.isPhone(usernameStr)){
183 AlertUtils.showToast(getActivity(), "手机号码输入错误"); 268 AlertUtils.showToast(getActivity(), "手机号码输入错误");
184 269
185 }else if(!passwordStr.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){ 270 }else if(!passwordStr.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){
186 AlertUtils.showToast(getActivity(), "密码由英文和数字组成"); 271 AlertUtils.showToast(getActivity(), "密码由英文和数字组成");
187 }else { 272 }else {
188 register(); 273 register();
189 } 274 }
190 275
191 break; 276 break;
192 case R.id.iv_pwd_change: 277 case R.id.iv_pwd_change:
193 if(showPassword){//显示密码 278 if(showPassword){//显示密码
194 showPassword = !showPassword; 279 showPassword = !showPassword;
195 openeyes.setImageResource(R.mipmap.pwd_open); 280 openeyes.setImageResource(R.mipmap.pwd_open);
196 password.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); 281 password.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
197 password.setSelection(password.getText().toString().length()); 282 password.setSelection(password.getText().toString().length());
198 }else{//隐藏密码 283 }else{//隐藏密码
199 showPassword = !showPassword; 284 showPassword = !showPassword;
200 openeyes.setImageResource(R.mipmap.pwd_hide); 285 openeyes.setImageResource(R.mipmap.pwd_hide);
201 password.setTransformationMethod(PasswordTransformationMethod.getInstance()); 286 password.setTransformationMethod(PasswordTransformationMethod.getInstance());
202 password.setSelection(password.getText().toString().length()); 287 password.setSelection(password.getText().toString().length());
203 } 288 }
204 break; 289 break;
205 case R.id.btn_authcode: 290 case R.id.btn_authcode:
206 usernameStr = phonenumber.getText().toString().trim(); 291 usernameStr = phonenumber.getText().toString().trim();
207 if (!PhoneNumCheckUtils.isPhone(usernameStr)){ 292 if (!PhoneNumCheckUtils.isPhone(usernameStr)){
208 AlertUtils.showToast(getActivity(), "请输入正确的手机号"); 293 AlertUtils.showToast(getActivity(), "请输入正确的手机号");
209 }else { 294 }else {
210 anth_6num.requestFocus(); 295 anth_6num.requestFocus();
211 ifregister(); 296 ifregister();
212 } 297 }
213 298
214 break; 299 break;
300 case R.id.phone_delete_btn:
301 phonenumber.setText("");
302 break;
303 case R.id.code_delete_btn:
304 anth_6num.setText("");
305 break;
215 } 306 }
216 307
217 } 308 }
218 //获取验证码 309 //获取验证码
219 private void getauthcode() { 310 private void getauthcode() {
220 String usernameStr = phonenumber.getText().toString().trim(); 311 String usernameStr = phonenumber.getText().toString().trim();
221 HttpManager.getInstance().authCode(typeStr, usernameStr, handler, getActivity()); 312 HttpManager.getInstance().authCode(typeStr, usernameStr, handler, getActivity());
222 valiDelay(); 313 valiDelay();
223 } 314 }
224 315
225 private void ifregister() { 316 private void ifregister() {
226 String usernameStr = phonenumber.getText().toString().trim(); 317 String usernameStr = phonenumber.getText().toString().trim();
227 HttpManager.getInstance().isregistered(usernameStr, handler, getActivity()); 318 HttpManager.getInstance().isregistered(usernameStr, handler, getActivity());
228 } 319 }
229 320
230 private void register() { 321 private void register() {
231 String usernameStr = phonenumber.getText().toString().trim(); 322 String usernameStr = phonenumber.getText().toString().trim();
232 String authcodeStr = anth_6num.getText().toString().trim(); 323 String authcodeStr = anth_6num.getText().toString().trim();
233 String passwordStr = password.getText().toString().trim(); 324 String passwordStr = password.getText().toString().trim();
234 HttpManager.getInstance().register(getActivity(), usernameStr, passwordStr, authcodeStr, sourceStr,handler); 325 HttpManager.getInstance().register(getActivity(), usernameStr, passwordStr, authcodeStr, sourceStr,handler);
235 } 326 }
236 // 线程类 定时器 327 // 线程类 定时器
237 public void valiDelay() { 328 public void valiDelay() {
238 329
239 Delaytimer = new java.util.Timer(true); 330 Delaytimer = new java.util.Timer(true);
240 331
241 332
242 TimerTask task = new TimerTask() { 333 TimerTask task = new TimerTask() {
243 public void run() { 334 public void run() {
244 //每次需要执行的代码放到这里面。 335 //每次需要执行的代码放到这里面。
245 delayTime--; 336 delayTime--;
246 handler.sendEmptyMessage(21); 337 handler.sendEmptyMessage(21);
247 } 338 }
248 }; 339 };
249 Delaytimer.schedule(task, 1000,1000); 340 Delaytimer.schedule(task, 1000,1000);
250 } 341 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/http/HttpCode.java
1 package com.hjx.personalcenter.http; 1 package com.hjx.personalcenter.http;
2 2
3 /** 3 /**
4 * Created by wei on 2017/6/21. 4 * Created by wei on 2017/6/21.
5 */ 5 */
6 6
7 public class HttpCode { 7 public class HttpCode {
8 //查询保卡信息 8 //查询保卡信息
9 public static final int SUCHCARDINFO = 0; 9 public static final int SUCHCARDINFO = 0;
10 //是否填写保卡信息 10 //是否填写保卡信息
11 public static final int CHECKCARD = 1; 11 public static final int CHECKCARD = 1;
12 //注册 12 //注册
13 public static final int REGISTERED_SUCESS = 2; 13 public static final int REGISTERED_SUCESS = 2;
14 public static final int REGISTERED_FAIL = 3; 14 public static final int REGISTERED_FAIL = 3;
15 //注册验证码 15 //注册验证码
16 public static final int AUTHCODE_SUCESS = 4; 16 public static final int AUTHCODE_SUCESS = 4;
17 public static final int AUTHCODE_FAIL = 5; 17 public static final int AUTHCODE_FAIL = 5;
18 //忘记密码验证码 18 //忘记密码验证码
19 public static final int AUTHCODE_SUCESS1 = 6; 19 public static final int AUTHCODE_SUCESS1 = 6;
20 public static final int AUTHCODE_FAIL1 = 7; 20 public static final int AUTHCODE_FAIL1 = 7;
21 //是否已经注册 21 //是否已经注册
22 public static final int IS_REFISTER = 8; 22 public static final int IS_REFISTER = 8;
23 //忘记密码 23 //忘记密码
24 public static final int PASSWORD_SUCESS = 9; 24 public static final int PASSWORD_SUCESS = 9;
25 public static final int PASSWORD_FAIL = 10; 25 public static final int PASSWORD_FAIL = 10;
26 //s省 26 //s省
27 public static final int PROVICES = 11; 27 public static final int PROVICES = 11;
28 //市 28 //市
29 public static final int CITYS = 12; 29 public static final int CITYS = 12;
30 //区 30 //区
31 public static final int COUNTRY = 13; 31 public static final int COUNTRY = 13;
32 //学校 32 //学校
33 public static final int SCHOOL = 14; 33 public static final int SCHOOL = 14;
34 //年级 34 //年级
35 public static final int GRADER = 15; 35 public static final int GRADER = 15;
36 //获取个人信息 36 //获取个人信息
37 public static final int GETINFO = 16; 37 public static final int GETINFO = 16;
38 //获取个性签名 38 //获取个性签名
39 public static final int SIGN = 17; 39 public static final int SIGN = 17;
40 //登录 40 //登录
41 public static final int LOGIN_SUCESS = 18; 41 public static final int LOGIN_SUCESS = 18;
42 //获取子账户信息 42 //获取子账户信息
43 public static final int CHILDS_SUCESS = 19; 43 public static final int CHILDS_SUCESS = 19;
44 //版本升级 44 //版本升级
45 public static final int APPUPDATE_SUCESS = 20; 45 public static final int APPUPDATE_SUCESS = 20;
46 //获取出版社 46 //获取出版社
47 public static final int VERSION_SUCESS = 22; 47 public static final int VERSION_SUCESS = 22;
48 //注册信息是否完整 48 //注册信息是否完整
49 public static final int REGISTER_SUCESS = 23; 49 public static final int REGISTER_SUCESS = 23;
50 //获取默认版本信息 50 //获取默认版本信息
51 public static final int PUBLISH_SUCESS = 24; 51 public static final int PUBLISH_SUCESS = 24;
52 //注册信息提交 52 //注册信息提交
53 public static final int REGISTERINFO_SUCESS = 25; 53 public static final int REGISTERINFO_SUCESS = 25;
54 //获取视频信息 54 //获取视频信息
55 public static final int GETVIDIO_SUCESS = 26; 55 public static final int GETVIDIO_SUCESS = 26;
56 //查询保卡信息1 56 //查询保卡信息1
57 public static final int SUCHCARDINFOONE = 27; 57 public static final int SUCHCARDINFOONE = 27;
58 //个人信息 58 //个人信息
59 public static final int PESERNAOL = 28; 59 public static final int PESERNAOL = 28;
60 //touxan 60 //touxan
61 public static final int TOUXIANG = 29; 61 public static final int TOUXIANG = 29;
62 //学校 62 //学校
63 public static final int SCOOL = 29; 63 public static final int SCOOL = 29;
64 //每天POST设备号,需要重新登录 64 //每天POST设备号,需要重新登录
65 public static final int RELOGIN = 30; 65 public static final int RELOGIN = 30;
66 //T5 PLUS激活成功
67 public static final int ACTIVATION_SUCCESS = 31;
68 //T5 PLUS激活成功
69 public static final int NO_SALES_MAN = 32;
66 70
67 71
68 } 72 }
69 73
PersonalCenter/app/src/main/java/com/hjx/personalcenter/http/HttpKey.java
1 package com.hjx.personalcenter.http; 1 package com.hjx.personalcenter.http;
2 2
3 /**请求参数 3 /**请求参数
4 * Created by wei on 2017/6/20. 4 * Created by wei on 2017/6/20.
5 */ 5 */
6 6
7 public class HttpKey { 7 public class HttpKey {
8 //注册key 8 //注册key
9 public static String USERNAME = "username"; 9 public static String USERNAME = "username";
10 public static String PASSWORD = "password"; 10 public static String PASSWORD = "password";
11 public static String SMSCODE = "smscode"; 11 public static String SMSCODE = "smscode";
12 public static String SOURCE = "source"; 12 public static String SOURCE = "source";
13 //忘记密码 13 //忘记密码
14 public static String AUTHCODE = "authCode"; 14 public static String AUTHCODE = "authCode";
15 //注册验证码和忘记密码验证码 15 //注册验证码和忘记密码验证码
16 public static String TYPE = "type"; 16 public static String TYPE = "type";
17 public static String MOBIL = "mobile"; 17 public static String MOBIL = "mobile";
18 //修改密码 18 //修改密码
19 public static String OLDPASS = "oldPass"; 19 public static String OLDPASS = "oldPass";
20 public static String NEWPASS = "newPass"; 20 public static String NEWPASS = "newPass";
21 //提交保卡 21 //提交保卡
22 public static String USEID = "userId"; 22 public static String USEID = "userId";
23 public static String CUSTOMENAME = "customerName"; 23 public static String CUSTOMENAME = "customerName";
24 public static String CUSTOMADRESS = "customerAddress"; 24 public static String CUSTOMADRESS = "customerAddress";
25 public static String BUYADREES = "buyAddress"; 25 public static String BUYADREES = "buyAddress";
26 public static String BUYTIME = "buyTime"; 26 public static String BUYTIME = "buyTime";
27 public static String ALTERSALECALL = "alterSaleCall"; 27 public static String ALTERSALECALL = "alterSaleCall";
28 public static String PRODUCTMODEL = "productModel"; 28 public static String PRODUCTMODEL = "productModel";
29 public static String DEVICENUMBER = "deviceNumber"; 29 public static String DEVICENUMBER = "deviceNumber";
30 public static String MACADRESS = "macAddress"; 30 public static String MACADRESS = "macAddress";
31 public static String MOBILPHONE = "customerPhone"; 31 public static String MOBILPHONE = "customerPhone";
32 public static String SALESMANID = "salesmanId";
32 //提交子账户信息 33 //提交子账户信息
33 public static String PARENTID = "parentId"; 34 public static String PARENTID = "parentId";
34 public static String IMAGE = "image"; 35 public static String IMAGE = "image";
35 public static String NAME = "name"; 36 public static String NAME = "name";
36 public static String GRADE = "gradeId"; 37 public static String GRADE = "gradeId";
37 public static String SCHOOL = "schoolId"; 38 public static String SCHOOL = "schoolId";
38 public static String REGION = "regionId"; 39 public static String REGION = "regionId";
39 public static String DEVINUMBER = "deviceNumber"; 40 public static String DEVINUMBER = "deviceNumber";
40 public static String REGIONNAME = "regionName"; 41 public static String REGIONNAME = "regionName";
41 public static String ADDDRESS = "address"; 42 public static String ADDDRESS = "address";
43 public static String REALNAME = "realName";
42 //提交个人信息 44 //提交个人信息
43 public static String ID = "id"; 45 public static String ID = "id";
44 public static String BIRDays = "birthday"; 46 public static String BIRDays = "birthday";
45 public static String QQ = "qq"; 47 public static String QQ = "qq";
46 public static String GENDER = "gender"; 48 public static String GENDER = "gender";
47 //版本信息 49 //版本信息
48 public static String CHINESE = "chinese"; 50 public static String CHINESE = "chinese";
49 public static String MATH = "math"; 51 public static String MATH = "math";
50 public static String ENGLISH = "english"; 52 public static String ENGLISH = "english";
51 public static String PHYSICES = "physics"; 53 public static String PHYSICES = "physics";
52 public static String CHEMISTRY = "chemistry"; 54 public static String CHEMISTRY = "chemistry";
53 public static String HISTIRY = "history"; 55 public static String HISTIRY = "history";
54 public static String GEOGRAPHY = "geography"; 56 public static String GEOGRAPHY = "geography";
55 public static String POLITICAL = "political"; 57 public static String POLITICAL = "political";
56 public static String BIOLOGY = "biology"; 58 public static String BIOLOGY = "biology";
57 public static String SCIENCE = "science"; 59 public static String SCIENCE = "science";
58 60
59 61
60 62
61 63
62 64
63 65
64 66
65 67
66 68
67 } 69 }
68 70
PersonalCenter/app/src/main/java/com/hjx/personalcenter/http/HttpManager.java
1 package com.hjx.personalcenter.http; 1 package com.hjx.personalcenter.http;
2 2
3 import android.app.Activity; 3 import android.app.Activity;
4 import android.app.ProgressDialog; 4 import android.app.ProgressDialog;
5 import android.content.Context; 5 import android.content.Context;
6 import android.content.Intent; 6 import android.content.Intent;
7 import android.os.Build; 7 import android.os.Build;
8 import android.os.Handler; 8 import android.os.Handler;
9 import android.os.Message; 9 import android.os.Message;
10 import android.support.v4.app.FragmentActivity; 10 import android.support.v4.app.FragmentActivity;
11 import android.util.Log; 11 import android.util.Log;
12 import android.view.KeyEvent; 12 import android.view.KeyEvent;
13 import android.widget.Toast; 13 import android.widget.Toast;
14 14
15 import com.google.gson.Gson; 15 import com.google.gson.Gson;
16 import com.google.gson.reflect.TypeToken; 16 import com.google.gson.reflect.TypeToken;
17 import com.hjx.personalcenter.R; 17 import com.hjx.personalcenter.R;
18 import com.hjx.personalcenter.activity.BangDingCode; 18 import com.hjx.personalcenter.activity.BangDingCode;
19 import com.hjx.personalcenter.activity.LoginAndRegisterActivity; 19 import com.hjx.personalcenter.activity.LoginAndRegisterActivity;
20 import com.hjx.personalcenter.activity.TheStartPageActivity; 20 import com.hjx.personalcenter.activity.TheStartPageActivity;
21 import com.hjx.personalcenter.customdialog.IllegalDialog; 21 import com.hjx.personalcenter.customdialog.IllegalDialog;
22 import com.hjx.personalcenter.db.Content; 22 import com.hjx.personalcenter.db.Content;
23 import com.hjx.personalcenter.db.SaveParam; 23 import com.hjx.personalcenter.db.SaveParam;
24 import com.hjx.personalcenter.gson.GsonTool; 24 import com.hjx.personalcenter.gson.GsonTool;
25 import com.hjx.personalcenter.model.AppVersion; 25 import com.hjx.personalcenter.model.AppVersion;
26 import com.hjx.personalcenter.model.CardInfo; 26 import com.hjx.personalcenter.model.CardInfo;
27 import com.hjx.personalcenter.model.ChildsInfo; 27 import com.hjx.personalcenter.model.ChildsInfo;
28 import com.hjx.personalcenter.model.CityInfo; 28 import com.hjx.personalcenter.model.CityInfo;
29 import com.hjx.personalcenter.model.CountyInfo; 29 import com.hjx.personalcenter.model.CountyInfo;
30 import com.hjx.personalcenter.model.DefautPublishInfo; 30 import com.hjx.personalcenter.model.DefautPublishInfo;
31 import com.hjx.personalcenter.model.GradeInfo; 31 import com.hjx.personalcenter.model.GradeInfo;
32 import com.hjx.personalcenter.model.PesonalInfo; 32 import com.hjx.personalcenter.model.PesonalInfo;
33 import com.hjx.personalcenter.model.ProvinceInfo; 33 import com.hjx.personalcenter.model.ProvinceInfo;
34 import com.hjx.personalcenter.model.SchoolInfo; 34 import com.hjx.personalcenter.model.SchoolInfo;
35 import com.hjx.personalcenter.model.SignInfo; 35 import com.hjx.personalcenter.model.SignInfo;
36 import com.hjx.personalcenter.model.VersionInfo; 36 import com.hjx.personalcenter.model.VersionInfo;
37 import com.hjx.personalcenter.model.VideoInfo; 37 import com.hjx.personalcenter.model.VideoInfo;
38 import com.hjx.personalcenter.util.AlertUtils; 38 import com.hjx.personalcenter.util.AlertUtils;
39 import com.hjx.personalcenter.util.DialogPermission; 39 import com.hjx.personalcenter.util.DialogPermission;
40 import com.hjx.personalcenter.util.GetDevicesUtil; 40 import com.hjx.personalcenter.util.GetDevicesUtil;
41 import com.loopj.android.http.AsyncHttpResponseHandler; 41 import com.loopj.android.http.AsyncHttpResponseHandler;
42 import com.loopj.android.http.JsonHttpResponseHandler; 42 import com.loopj.android.http.JsonHttpResponseHandler;
43 import com.loopj.android.http.RequestParams; 43 import com.loopj.android.http.RequestParams;
44 44
45 import org.apache.http.Header; 45 import org.apache.http.Header;
46 import org.apache.http.entity.ByteArrayEntity; 46 import org.apache.http.entity.ByteArrayEntity;
47 import org.apache.http.message.BasicHeader; 47 import org.apache.http.message.BasicHeader;
48 import org.apache.http.protocol.HTTP; 48 import org.apache.http.protocol.HTTP;
49 import org.json.JSONException; 49 import org.json.JSONException;
50 import org.json.JSONObject; 50 import org.json.JSONObject;
51 51
52 import java.io.File; 52 import java.io.File;
53 import java.io.FileNotFoundException; 53 import java.io.FileNotFoundException;
54 import java.io.UnsupportedEncodingException; 54 import java.io.UnsupportedEncodingException;
55 import java.util.ArrayList; 55 import java.util.ArrayList;
56 import java.util.List; 56 import java.util.List;
57 57
58 public class HttpManager { 58 public class HttpManager {
59 private static HttpManager instance; 59 private static HttpManager instance;
60 private ProgressDialog mProgress = null; 60 private ProgressDialog mProgress = null;
61 61
62 public static HttpManager getInstance() { 62 public static HttpManager getInstance() {
63 if (instance == null) { 63 if (instance == null) {
64 instance = new HttpManager(); 64 instance = new HttpManager();
65 } 65 }
66 return instance; 66 return instance;
67 } 67 }
68 68
69 69
70 //登录接口 70 //登录接口
71 71
72 public void login(final String username, final String password, final Context mContext, final Handler handler) { 72 public void login(final String username, final String password, final Context mContext, final Handler handler) {
73 mProgress = DialogPermission.showProgress(mContext, null, "正在登录...", 73 mProgress = DialogPermission.showProgress(mContext, null, "正在登录...",
74 true, true, null); 74 true, true, null);
75 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 75 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
76 HttpClient.getInstance().addHeader("device-number", Build.SERIAL); 76 HttpClient.getInstance().addHeader("device-number", Build.SERIAL);
77 HttpClient.getInstance().get(HttpUrl.loginUrl + "?username=" + username + "&password=" + password, new AsyncHttpResponseHandler() { 77 HttpClient.getInstance().get(HttpUrl.loginUrl + "?username=" + username + "&password=" + password, new AsyncHttpResponseHandler() {
78 @Override 78 @Override
79 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 79 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
80 closeProgress(); 80 closeProgress();
81 Message msg = Message.obtain(); 81 Message msg = Message.obtain();
82 msg.what = HttpCode.LOGIN_SUCESS; 82 msg.what = HttpCode.LOGIN_SUCESS;
83 msg.obj = new String(arg2); 83 msg.obj = new String(arg2);
84 handler.sendMessage(msg); 84 handler.sendMessage(msg);
85 85
86 86
87 } 87 }
88 88
89 @Override 89 @Override
90 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 90 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
91 closeProgress(); 91 closeProgress();
92 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 92 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
93 } 93 }
94 }); 94 });
95 } 95 }
96 96
97 //注册接口 97 //注册接口
98 public void register(final Context context, String username, String password, String smscode, String source, final Handler handler) { 98 public void register(final Context context, String username, String password, String smscode, String source, final Handler handler) {
99 mProgress = DialogPermission.showProgress(context, null, "正在注册...", 99 mProgress = DialogPermission.showProgress(context, null, "正在注册...",
100 false, true, null); 100 false, true, null);
101 JSONObject jsonObject = new JSONObject(); 101 JSONObject jsonObject = new JSONObject();
102 ByteArrayEntity entity = null; 102 ByteArrayEntity entity = null;
103 try { 103 try {
104 jsonObject.put(HttpKey.USERNAME, username); 104 jsonObject.put(HttpKey.USERNAME, username);
105 jsonObject.put(HttpKey.PASSWORD, password); 105 jsonObject.put(HttpKey.PASSWORD, password);
106 jsonObject.put(HttpKey.SMSCODE, smscode); 106 jsonObject.put(HttpKey.SMSCODE, smscode);
107 jsonObject.put(HttpKey.SOURCE, source); 107 jsonObject.put(HttpKey.SOURCE, source);
108 Log.e("test", "jsonObject" + jsonObject); 108 Log.e("test", "jsonObject" + jsonObject);
109 entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8")); 109 entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8"));
110 entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 110 entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
111 } catch (JSONException e) { 111 } catch (JSONException e) {
112 e.printStackTrace(); 112 e.printStackTrace();
113 } catch (UnsupportedEncodingException e) { 113 } catch (UnsupportedEncodingException e) {
114 e.printStackTrace(); 114 e.printStackTrace();
115 } 115 }
116 HttpClient.getInstance().addHeader("Accept", "*/*"); 116 HttpClient.getInstance().addHeader("Accept", "*/*");
117 HttpClient.getInstance().post(context, HttpUrl.registeredUrl, entity, "application/json", new JsonHttpResponseHandler() { 117 HttpClient.getInstance().post(context, HttpUrl.registeredUrl, entity, "application/json", new JsonHttpResponseHandler() {
118 @Override 118 @Override
119 public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 119 public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
120 super.onSuccess(statusCode, headers, response); 120 super.onSuccess(statusCode, headers, response);
121 closeProgress(); 121 closeProgress();
122 Log.e("test", "onSuccess" + response); 122 Log.e("test", "onSuccess" + response);
123 Message msg = Message.obtain(); 123 Message msg = Message.obtain();
124 msg.what = HttpCode.REGISTERED_SUCESS; 124 msg.what = HttpCode.REGISTERED_SUCESS;
125 msg.obj = response; 125 msg.obj = response;
126 handler.sendMessage(msg); 126 handler.sendMessage(msg);
127 127
128 } 128 }
129 129
130 @Override 130 @Override
131 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 131 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
132 super.onFailure(statusCode, headers, throwable, errorResponse); 132 super.onFailure(statusCode, headers, throwable, errorResponse);
133 closeProgress(); 133 closeProgress();
134 Log.e("test", "onFailure" + errorResponse); 134 Log.e("test", "onFailure" + errorResponse);
135 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); 135 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!");
136 } 136 }
137 137
138 }); 138 });
139 } 139 }
140 140
141 //注册验证码 141 //注册验证码
142 public void authCode(final String type, final String mobile, final Handler handler, final Context mContext) { 142 public void authCode(final String type, final String mobile, final Handler handler, final Context mContext) {
143 RequestParams params = new RequestParams(); 143 RequestParams params = new RequestParams();
144 params.put(HttpKey.TYPE, type); 144 params.put(HttpKey.TYPE, type);
145 params.put(HttpKey.MOBIL, mobile); 145 params.put(HttpKey.MOBIL, mobile);
146 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 146 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
147 HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() { 147 HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() {
148 148
149 @Override 149 @Override
150 public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 150 public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
151 Log.e("test", "onSuccess-----" + response); 151 Log.e("test", "onSuccess-----" + response);
152 Message msg = Message.obtain(); 152 Message msg = Message.obtain();
153 msg.what = HttpCode.AUTHCODE_SUCESS; 153 msg.what = HttpCode.AUTHCODE_SUCESS;
154 msg.obj = response; 154 msg.obj = response;
155 handler.sendMessage(msg); 155 handler.sendMessage(msg);
156 } 156 }
157 157
158 @Override 158 @Override
159 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 159 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
160 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 160 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
161 } 161 }
162 }); 162 });
163 } 163 }
164 164
165 165
166 //手机号是否注册 166 //手机号是否注册
167 public void isregistered(final String mobile, final Handler handler, final Context mContext) { 167 public void isregistered(final String mobile, final Handler handler, final Context mContext) {
168 RequestParams params = new RequestParams(); 168 RequestParams params = new RequestParams();
169 params.put(HttpKey.USERNAME, mobile); 169 params.put(HttpKey.USERNAME, mobile);
170 HttpClient.getInstance().get(HttpUrl.isRegiterUrl + "?mobile=" + mobile, new JsonHttpResponseHandler() { 170 HttpClient.getInstance().get(HttpUrl.isRegiterUrl + "?mobile=" + mobile, new JsonHttpResponseHandler() {
171 @Override 171 @Override
172 public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 172 public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
173 Log.e("test", "isregistered" + response.toString()); 173 Log.e("test", "isregistered" + response.toString());
174 Message msg = Message.obtain(); 174 Message msg = Message.obtain();
175 msg.what = HttpCode.IS_REFISTER; 175 msg.what = HttpCode.IS_REFISTER;
176 msg.obj = response; 176 msg.obj = response;
177 handler.sendMessage(msg); 177 handler.sendMessage(msg);
178 178
179 } 179 }
180 180
181 @Override 181 @Override
182 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 182 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
183 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 183 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
184 184
185 } 185 }
186 }); 186 });
187 } 187 }
188 188
189 //修改密码 189 //修改密码
190 public void changepwd(final Context context, String username, String old_pwd1, String newpassword3) { 190 public void changepwd(final Context context, String username, String old_pwd1, String newpassword3) {
191 mProgress = DialogPermission.showProgress(context, null, "正在修改密码...", 191 mProgress = DialogPermission.showProgress(context, null, "正在修改密码...",
192 false, true, null); 192 false, true, null);
193 RequestParams params = new RequestParams(); 193 RequestParams params = new RequestParams();
194 params.put(HttpKey.USERNAME, username); 194 params.put(HttpKey.USERNAME, username);
195 params.put(HttpKey.OLDPASS, old_pwd1); 195 params.put(HttpKey.OLDPASS, old_pwd1);
196 params.put(HttpKey.NEWPASS, newpassword3); 196 params.put(HttpKey.NEWPASS, newpassword3);
197 HttpClient.getInstance().addHeader("Accept", "*/*"); 197 HttpClient.getInstance().addHeader("Accept", "*/*");
198 HttpClient.getInstance().setTimeout(10 * 1000); 198 HttpClient.getInstance().setTimeout(10 * 1000);
199 HttpClient.getInstance().post(HttpUrl.changepassword, params, new AsyncHttpResponseHandler() { 199 HttpClient.getInstance().post(HttpUrl.changepassword, params, new AsyncHttpResponseHandler() {
200 @Override 200 @Override
201 public void onSuccess(int i, Header[] headers, byte[] bytes) { 201 public void onSuccess(int i, Header[] headers, byte[] bytes) {
202 closeProgress(); 202 closeProgress();
203 try { 203 try {
204 JSONObject jsonObject = new JSONObject(new String(bytes)); 204 JSONObject jsonObject = new JSONObject(new String(bytes));
205 String status = jsonObject.optString("status"); 205 String status = jsonObject.optString("status");
206 if (status.equals("100")) { 206 if (status.equals("100")) {
207 // Log.e("test", "onSuccess" + new String(bytes)); 207 // Log.e("test", "onSuccess" + new String(bytes));
208 Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); 208 Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show();
209 SaveParam.getInstance().clearData((Activity) context); 209 SaveParam.getInstance().clearData((Activity) context);
210 Intent intent = new Intent(); 210 Intent intent = new Intent();
211 intent.setClass(context, LoginAndRegisterActivity.class); 211 intent.setClass(context, LoginAndRegisterActivity.class);
212 ((Activity) context).startActivity(intent); 212 ((Activity) context).startActivity(intent);
213 ((Activity) context).finish(); 213 ((Activity) context).finish();
214 } else { 214 } else {
215 Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show(); 215 Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show();
216 } 216 }
217 } catch (JSONException e) { 217 } catch (JSONException e) {
218 e.printStackTrace(); 218 e.printStackTrace();
219 } 219 }
220 } 220 }
221 221
222 @Override 222 @Override
223 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 223 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
224 closeProgress(); 224 closeProgress();
225 // Log.e("test", "onFailure" + new String(bytes)); 225 // Log.e("test", "onFailure" + new String(bytes));
226 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); 226 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!");
227 } 227 }
228 }); 228 });
229 229
230 } 230 }
231 231
232 //忘记密码 232 //忘记密码
233 public void forgetpassword(final Context context, String forot_pwd_phone1, String forot_pwd_pwd3, String forot_pwd_anthcode1, Handler handler) { 233 public void forgetpassword(final Context context, String forot_pwd_phone1, String forot_pwd_pwd3, String forot_pwd_anthcode1, Handler handler) {
234 RequestParams params = new RequestParams(); 234 RequestParams params = new RequestParams();
235 params.put(HttpKey.USERNAME, forot_pwd_phone1); 235 params.put(HttpKey.USERNAME, forot_pwd_phone1);
236 params.put(HttpKey.PASSWORD, forot_pwd_pwd3); 236 params.put(HttpKey.PASSWORD, forot_pwd_pwd3);
237 params.put(HttpKey.AUTHCODE, forot_pwd_anthcode1); 237 params.put(HttpKey.AUTHCODE, forot_pwd_anthcode1);
238 HttpClient.getInstance().addHeader("Accept", "*/*"); 238 HttpClient.getInstance().addHeader("Accept", "*/*");
239 HttpClient.getInstance().post(HttpUrl.forgetpassword, params, new AsyncHttpResponseHandler() { 239 HttpClient.getInstance().post(HttpUrl.forgetpassword, params, new AsyncHttpResponseHandler() {
240 @Override 240 @Override
241 public void onSuccess(int i, Header[] headers, byte[] bytes) { 241 public void onSuccess(int i, Header[] headers, byte[] bytes) {
242 try { 242 try {
243 JSONObject jsonObject = new JSONObject(new String(bytes)); 243 JSONObject jsonObject = new JSONObject(new String(bytes));
244 String status = jsonObject.optString("status"); 244 String status = jsonObject.optString("status");
245 if (status.equals("100")) { 245 if (status.equals("100")) {
246 // Log.e("test", "onSuccess" + new String(bytes)); 246 // Log.e("test", "onSuccess" + new String(bytes));
247 Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); 247 Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show();
248 ((Activity) context).finish(); 248 ((Activity) context).finish();
249 } else { 249 } else {
250 Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show(); 250 Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show();
251 } 251 }
252 } catch (JSONException e) { 252 } catch (JSONException e) {
253 e.printStackTrace(); 253 e.printStackTrace();
254 } 254 }
255 } 255 }
256 256
257 @Override 257 @Override
258 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 258 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
259 // Log.e("test", "onFailure" + new String(bytes)); 259 // Log.e("test", "onFailure" + new String(bytes));
260 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); 260 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!");
261 } 261 }
262 }); 262 });
263 263
264 } 264 }
265 265
266 //保存用户登录信息 266 //保存用户登录信息
267 public void saveLoginInfo(Context context, String username, String password, String access_token, String userId) { 267 public void saveLoginInfo(Context context, String username, String password, String access_token, String userId) {
268 SaveParam.getInstance().saveLoginParam(context, "username", username); 268 SaveParam.getInstance().saveLoginParam(context, "username", username);
269 SaveParam.getInstance().saveLoginParam(context, "password", password); 269 SaveParam.getInstance().saveLoginParam(context, "password", password);
270 SaveParam.getInstance().saveLoginParam(context, "access_token", access_token); 270 SaveParam.getInstance().saveLoginParam(context, "access_token", access_token);
271 SaveParam.getInstance().saveLoginParam(context, "userId", userId); 271 SaveParam.getInstance().saveLoginParam(context, "userId", userId);
272 272
273 273
274 } 274 }
275 275
276
277 //营业员是否已在数据库注册
278 public void checkSalesmanPhone(final Context mContext, String phone, final Handler handler) {
279 mProgress = DialogPermission.showProgress(mContext, null, "正在加载...",
280 false, true, null);
281 HttpClient.getInstance().setTimeout(5 * 1000);
282 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
283 HttpClient.getInstance().get(HttpUrl.getSalesInfo + "?salesmanPhone=" + phone, new AsyncHttpResponseHandler() {
284 @Override
285 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
286 closeProgress();
287 try {
288 JSONObject jsonObject = new JSONObject(new String(arg2));
289 int status = jsonObject.optInt("status");
290 JSONObject dataObj = jsonObject.getJSONObject("data");
291 Message msg = Message.obtain();
292 if (status == 1 && dataObj != null) {
293 msg.what = HttpCode.SUCHCARDINFO;
294 msg.obj = dataObj.getString("salesmanId");
295 handler.sendMessage(msg);
296 } else {
297 msg.what = HttpCode.NO_SALES_MAN;
298 handler.sendMessage(msg);
299
300 }
301 } catch (JSONException e) {
302 e.printStackTrace();
303 }
304
305 }
306
307 @Override
308 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
309 closeProgress();
310 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
311 }
312 });
313 }
314
276 //提交保卡信息 315 //提交保卡信息
277 public void subcardinfo(final Context context, long userId, String customerName, String customerAddress, 316 public void subcardinfo(final Context context, long userId, String customerName, String customerAddress,
278 String buyAddress, String buyTime, String alterSaleCall, 317 String buyAddress, String alterSaleCall,
279 String productModel, String deviceNumber, String macAddress, 318 String productModel, String deviceNumber, String macAddress,
280 String mobilePhone) { 319 final String mobilePhone, String regionId, String salesId) {
281 mProgress = DialogPermission.showProgress(context, null, "正在绑定保卡...", 320 mProgress = DialogPermission.showProgress(context, null, "正在绑定保卡...",
282 false, true, null); 321 false, true, null);
283 RequestParams params = new RequestParams(); 322 RequestParams params = new RequestParams();
284 323
285 params.put(HttpKey.USEID, userId); 324 params.put(HttpKey.USEID, userId);
286 params.put(HttpKey.CUSTOMENAME, customerName); 325 params.put(HttpKey.CUSTOMENAME, customerName);
287 params.put(HttpKey.CUSTOMADRESS, customerAddress); 326 params.put(HttpKey.CUSTOMADRESS, customerAddress);
288 params.put(HttpKey.BUYADREES, buyAddress); 327 params.put(HttpKey.BUYADREES, buyAddress);
289 params.put(HttpKey.BUYTIME, buyTime); 328 // params.put(HttpKey.BUYTIME, buyTime);
290 params.put(HttpKey.ALTERSALECALL, alterSaleCall); 329 params.put(HttpKey.ALTERSALECALL, alterSaleCall);
291 params.put(HttpKey.PRODUCTMODEL, productModel); 330 params.put(HttpKey.PRODUCTMODEL, productModel);
292 params.put(HttpKey.DEVICENUMBER, deviceNumber); 331 params.put(HttpKey.DEVICENUMBER, deviceNumber);
293 params.put(HttpKey.MACADRESS, macAddress); 332 params.put(HttpKey.MACADRESS, macAddress);
294 params.put(HttpKey.MOBILPHONE, mobilePhone); 333 params.put(HttpKey.MOBILPHONE, mobilePhone);
334 params.put(HttpKey.REGION, regionId);
335 if (salesId != null && !salesId.isEmpty()) {
336 params.put(HttpKey.SALESMANID, salesId);
337 }
295 338
296 HttpClient.getInstance().addHeader("Accept", "*/*"); 339 HttpClient.getInstance().addHeader("Accept", "*/*");
297 340
298 Log.e("test", "params" + params); 341 Log.e("test", "params" + params);
299 HttpClient.getInstance().setTimeout(5 * 1000); 342 HttpClient.getInstance().setTimeout(5 * 1000);
300 HttpClient.getInstance().post(context, HttpUrl.subcardinfo, params, new AsyncHttpResponseHandler() { 343 HttpClient.getInstance().post(context, HttpUrl.subcardinfo, params, new AsyncHttpResponseHandler() {
301 @Override 344 @Override
302 public void onSuccess(int i, Header[] headers, byte[] bytes) { 345 public void onSuccess(int i, Header[] headers, byte[] bytes) {
303 JSONObject jsonObject = null; 346 JSONObject jsonObject = null;
304 closeProgress(); 347 closeProgress();
305 try { 348 try {
306 jsonObject = new JSONObject(new String(bytes)); 349 jsonObject = new JSONObject(new String(bytes));
307 String status = jsonObject.optString("status"); 350 String status = jsonObject.optString("status");
308 if (status.equals("1")) { 351 if (status.equals("1")) {
309 Log.e("test", "onSuccess" + jsonObject); 352 Log.e("test", "onSuccess" + jsonObject);
310 Toast.makeText(context, "保卡绑定成功!", Toast.LENGTH_LONG).show(); 353 Toast.makeText(context, "保卡绑定成功!", Toast.LENGTH_LONG).show();
354 SaveParam.getInstance().saveCustomizeParam(context, SaveParam.CARDPHONE, mobilePhone);
311 if (Content.cardintentflag == 1) { 355 if (Content.cardintentflag == 1) {
312 Intent intent = new Intent(); 356 Intent intent = new Intent();
313 intent.setClass((Activity) context, TheStartPageActivity.class); 357 intent.setClass((Activity) context, TheStartPageActivity.class);
314 ((Activity) context).startActivity(intent); 358 ((Activity) context).startActivity(intent);
315 ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout); 359 ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout);
316 ((Activity) context).finish(); 360 ((Activity) context).finish();
317 } else if (Content.cardintentflag == 2) { 361 } else if (Content.cardintentflag == 2) {
318 Intent intent = new Intent(); 362 Intent intent = new Intent();
319 intent.setClass((Activity) context, BangDingCode.class); 363 intent.setClass((Activity) context, BangDingCode.class);
320 ((Activity) context).startActivity(intent); 364 ((Activity) context).startActivity(intent);
321 ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout); 365 ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout);
322 ((Activity) context).finish(); 366 ((Activity) context).finish();
323 367
324 } 368 }
325 369
326 370
327 } else if (status.equals("2003")){ 371 } else if (status.equals("2003")) {
328 IllegalDialog.getInstance().show(((FragmentActivity) context).getSupportFragmentManager(),"feifa"); 372 IllegalDialog.getInstance().show(((FragmentActivity) context).getSupportFragmentManager(), "feifa");
329 373
330 }else { 374 } else {
331 SaveParam.getInstance().saveCustomizeParam((FragmentActivity) context,SaveParam.CARDPHONE,""); 375 SaveParam.getInstance().saveCustomizeParam((FragmentActivity) context, SaveParam.CARDPHONE, "");
332 Toast.makeText(context, "保卡绑定失败!", Toast.LENGTH_LONG).show(); 376 Toast.makeText(context, "保卡绑定失败!", Toast.LENGTH_LONG).show();
333 } 377 }
334 } catch (JSONException e) { 378 } catch (JSONException e) {
335 e.printStackTrace(); 379 e.printStackTrace();
336 } 380 }
337 381
338 382
339 } 383 }
340 384
341 @Override 385 @Override
342 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 386 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
343 Log.e("test", "onFailure" + (throwable)); 387 Log.e("test", "onFailure" + (throwable));
344 closeProgress(); 388 closeProgress();
345 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); 389 AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!");
346 390
347 } 391 }
348 }); 392 });
349 393
350 } 394 }
351 395
352 //获取保卡信息 396 //获取保卡信息
353 public void getcardinfo(final Context mContext, String deviceNumber, final Handler handler) { 397 public void getcardinfo(final Context mContext, String deviceNumber, final Handler handler) {
354 mProgress = DialogPermission.showProgress(mContext, null, "正在获取保卡信息...", 398 mProgress = DialogPermission.showProgress(mContext, null, "正在获取保卡信息...",
355 false, true, null); 399 false, true, null);
356 HttpClient.getInstance().setTimeout(5 * 1000); 400 HttpClient.getInstance().setTimeout(5 * 1000);
357 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 401 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
358 HttpClient.getInstance().get(HttpUrl.getcardinfo + "?deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() { 402 HttpClient.getInstance().get(HttpUrl.getcardinfo + "?deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() {
359 @Override 403 @Override
360 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 404 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
361 closeProgress(); 405 closeProgress();
362 // Log.e("test", "保卡信息" + new String(arg2)); 406 // Log.e("test", "保卡信息" + new String(arg2));
363 try { 407 try {
364 JSONObject jsonObject = new JSONObject(new String(arg2)); 408 JSONObject jsonObject = new JSONObject(new String(arg2));
365 int status = jsonObject.optInt("status"); 409 int status = jsonObject.optInt("status");
366 if (status == 1) { 410 if (status == 1) {
367 CardInfo cardInfo = GsonTool.getPerson(new String(arg2), CardInfo.class);//解析json数据 411 CardInfo cardInfo = GsonTool.getPerson(new String(arg2), CardInfo.class);//解析json数据
368 CardInfo.DataBean schoolInfoBeanList = cardInfo.getData(); 412 CardInfo.DataBean schoolInfoBeanList = cardInfo.getData();
369 Message msg = Message.obtain(); 413 Message msg = Message.obtain();
370 msg.what = HttpCode.SUCHCARDINFO; 414 msg.what = HttpCode.SUCHCARDINFO;
371 msg.obj = schoolInfoBeanList; 415 msg.obj = schoolInfoBeanList;
372 handler.sendMessage(msg); 416 handler.sendMessage(msg);
373 417
374 418
375 } else { 419 } else {
376 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 420 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
377 421
378 } 422 }
379 } catch (JSONException e) { 423 } catch (JSONException e) {
380 e.printStackTrace(); 424 e.printStackTrace();
381 } 425 }
382 426
383 } 427 }
384 428
385 @Override 429 @Override
386 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 430 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
387 closeProgress(); 431 closeProgress();
388 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 432 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
389 } 433 }
390 }); 434 });
391 } 435 }
392 436
393 //获取是否为样机信息 437 //获取是否为样机信息
394 public void getcardinfo1(final Context mContext, String deviceNumber, final Handler handler) { 438 public void getcardinfo1(final Context mContext, String deviceNumber, final Handler handler) {
395 HttpClient.getInstance().setTimeout(5 * 1000); 439 HttpClient.getInstance().setTimeout(5 * 1000);
396 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 440 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
397 HttpClient.getInstance().get(HttpUrl.getcardinfo + "?deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() { 441 HttpClient.getInstance().get(HttpUrl.getcardinfo + "?deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() {
398 @Override 442 @Override
399 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 443 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
400 closeProgress(); 444 closeProgress();
401 // Log.e("test", "保卡信息" + new String(arg2)); 445 // Log.e("test", "保卡信息" + new String(arg2));
402 Message msg = Message.obtain(); 446 Message msg = Message.obtain();
403 msg.what = HttpCode.SUCHCARDINFOONE; 447 msg.what = HttpCode.SUCHCARDINFOONE;
404 msg.obj = new String(arg2); 448 msg.obj = new String(arg2);
405 handler.sendMessage(msg); 449 handler.sendMessage(msg);
406 450
407 } 451 }
408 452
409 @Override 453 @Override
410 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 454 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
411 closeProgress(); 455 closeProgress();
412 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 456 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
413 } 457 }
414 }); 458 });
415 } 459 }
416 460
461 //验证注册激活码
462 public void submitEcard(final Context mContext, String deviceNumber, String activationCode, final Handler handler) {
463 mProgress = DialogPermission.showProgress(mContext, null, "正在验证注册激活码...",
464 false, true, null);
465 HttpClient.getInstance().setTimeout(5 * 1000);
466 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
467 HttpClient.getInstance().get(HttpUrl.submitEcardURL + "?deviceNumber=" + deviceNumber + "&code=" + activationCode, new AsyncHttpResponseHandler() {
468 @Override
469 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
470 closeProgress();
471 // Log.e("test", "保卡信息" + new String(arg2));
472 Message msg = Message.obtain();
473 msg.what = HttpCode.ACTIVATION_SUCCESS;
474 try {
475 msg.obj = new JSONObject(new String(arg2));
476 } catch (JSONException e) {
477 e.printStackTrace();
478 }
479 handler.sendMessage(msg);
480
481 }
482
483 @Override
484 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
485 closeProgress();
486 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
487 }
488 });
489 }
490
417 //修改账户电话 491 //修改账户电话
418 public void changeaccountphone(final Context mContext, long userId, final String username, String authCode) { 492 public void changeaccountphone(final Context mContext, long userId, final String username, String authCode) {
419 RequestParams params = new RequestParams(); 493 RequestParams params = new RequestParams();
420 params.put("userId", userId); 494 params.put("userId", userId);
421 params.put("username", username); 495 params.put("username", username);
422 params.put("authCode", authCode); 496 params.put("authCode", authCode);
423 HttpClient.getInstance().addHeader("Accept", "*/*"); 497 HttpClient.getInstance().addHeader("Accept", "*/*");
424 HttpClient.getInstance().post(HttpUrl.chageaccountphoneURL, params, new AsyncHttpResponseHandler() { 498 HttpClient.getInstance().post(HttpUrl.chageaccountphoneURL, params, new AsyncHttpResponseHandler() {
425 @Override 499 @Override
426 public void onSuccess(int i, Header[] headers, byte[] bytes) { 500 public void onSuccess(int i, Header[] headers, byte[] bytes) {
427 try { 501 try {
428 // Log.e("test", "保卡信息" + new String(bytes)); 502 // Log.e("test", "保卡信息" + new String(bytes));
429 JSONObject jsonObject = new JSONObject(new String(bytes)); 503 JSONObject jsonObject = new JSONObject(new String(bytes));
430 String status = jsonObject.optString("status"); 504 String status = jsonObject.optString("status");
431 if (status.equals("1")) { 505 if (status.equals("1")) {
432 Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show(); 506 Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show();
433 SaveParam.getInstance().saveLoginParam(mContext, "username", username); 507 SaveParam.getInstance().saveLoginParam(mContext, "username", username);
434 ((Activity) mContext).finish(); 508 ((Activity) mContext).finish();
435 } else if (status.equals("1001")) { 509 } else if (status.equals("1001")) {
436 Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show(); 510 Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show();
437 } 511 } else if (status.equals("1006")) {
438 else if (status.equals("1006")) {
439 AlertUtils.showToast(mContext, "该手机号已存在,请使用其他手机号重新绑定!"); 512 AlertUtils.showToast(mContext, "该手机号已存在,请使用其他手机号重新绑定!");
440 } else { 513 } else {
441 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 514 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
442 } 515 }
443 } catch (JSONException e) { 516 } catch (JSONException e) {
444 e.printStackTrace(); 517 e.printStackTrace();
445 } 518 }
446 } 519 }
447 520
448 @Override 521 @Override
449 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 522 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
450 //Log.e("test", "onFailure" + new String(bytes)); 523 //Log.e("test", "onFailure" + new String(bytes));
451 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 524 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
452 } 525 }
453 }); 526 });
454 } 527 }
455 528
456 //修改保卡信息电话 529 //修改保卡信息电话
457 public void changecardinfophone(final Context mContext, String userId, final String customerPhone, String authCode) { 530 public void changecardinfophone(final Context mContext, String userId, final String customerPhone, String authCode) {
458 RequestParams params = new RequestParams(); 531 RequestParams params = new RequestParams();
459 params.put("deviceNumber", userId); 532 params.put("deviceNumber", userId);
460 params.put("customerPhone", customerPhone); 533 params.put("customerPhone", customerPhone);
461 params.put("authCode", authCode); 534 params.put("authCode", authCode);
462 HttpClient.getInstance().addHeader("Accept", "*/*"); 535 HttpClient.getInstance().addHeader("Accept", "*/*");
463 HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() { 536 HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() {
464 @Override 537 @Override
465 public void onSuccess(int i, Header[] headers, byte[] bytes) { 538 public void onSuccess(int i, Header[] headers, byte[] bytes) {
466 try { 539 try {
467 JSONObject jsonObject = new JSONObject(new String(bytes)); 540 JSONObject jsonObject = new JSONObject(new String(bytes));
468 String status = jsonObject.optString("status"); 541 String status = jsonObject.optString("status");
469 if (status.equals("1")) { 542 if (status.equals("1")) {
470 Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show(); 543 Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show();
471 SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.CARDPHONE, customerPhone); 544 SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.CARDPHONE, customerPhone);
472 ((Activity) mContext).finish(); 545 ((Activity) mContext).finish();
473 } else if (status.equals("1001")) { 546 } else if (status.equals("1001")) {
474 Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show(); 547 Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show();
475 } else { 548 } else {
476 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 549 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
477 } 550 }
478 } catch (JSONException e) { 551 } catch (JSONException e) {
479 e.printStackTrace(); 552 e.printStackTrace();
480 } 553 }
481 } 554 }
482 555
483 @Override 556 @Override
484 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 557 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
485 // Log.e("test", "onFailure" + new String(bytes)); 558 // Log.e("test", "onFailure" + new String(bytes));
486 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 559 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
487 } 560 }
488 }); 561 });
489 } 562 }
490 563
491 //修改保卡信息地址 564 //修改保卡信息地址
492 public void changecardadressinfo(final Context mContext, String userId, final String customerPhone, String authCode, final String customerAddress) { 565 public void changecardadressinfo(final Context mContext, String userId, final String customerPhone, String authCode, final String customerAddress) {
493 RequestParams params = new RequestParams(); 566 RequestParams params = new RequestParams();
494 params.put("deviceNumber", userId); 567 params.put("deviceNumber", userId);
495 params.put("customerPhone", customerPhone); 568 params.put("customerPhone", customerPhone);
496 params.put("authCode", authCode); 569 params.put("authCode", authCode);
497 params.put("customerAddress", customerAddress); 570 params.put("customerAddress", customerAddress);
498 HttpClient.getInstance().addHeader("Accept", "*/*"); 571 HttpClient.getInstance().addHeader("Accept", "*/*");
499 HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() { 572 HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() {
500 @Override 573 @Override
501 public void onSuccess(int i, Header[] headers, byte[] bytes) { 574 public void onSuccess(int i, Header[] headers, byte[] bytes) {
502 try { 575 try {
503 JSONObject jsonObject = new JSONObject(new String(bytes)); 576 JSONObject jsonObject = new JSONObject(new String(bytes));
504 String status = jsonObject.optString("status"); 577 String status = jsonObject.optString("status");
505 if (status.equals("1")) { 578 if (status.equals("1")) {
506 Toast.makeText(mContext, "修改成功", Toast.LENGTH_LONG).show(); 579 Toast.makeText(mContext, "修改成功", Toast.LENGTH_LONG).show();
507 SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.ADRESSCUNSTEM, customerAddress); 580 SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.ADRESSCUNSTEM, customerAddress);
508 ((Activity) mContext).finish(); 581 ((Activity) mContext).finish();
509 } else if (status.equals("1001")) { 582 } else if (status.equals("1001")) {
510 Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show(); 583 Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show();
511 } else { 584 } else {
512 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 585 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
513 } 586 }
514 } catch (JSONException e) { 587 } catch (JSONException e) {
515 e.printStackTrace(); 588 e.printStackTrace();
516 } 589 }
517 } 590 }
518 591
519 @Override 592 @Override
520 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 593 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
521 // Log.e("test", "onFailure" + new String(bytes)); 594 // Log.e("test", "onFailure" + new String(bytes));
522 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 595 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
523 } 596 }
524 }); 597 });
525 } 598 }
526 599
527 //验证是否保卡信息 600 //验证是否保卡信息
528 public void cardinfocheck(final Context mContext, String deviceNumber, final Handler handler) { 601 public void cardinfocheck(final Context mContext, String deviceNumber, final Handler handler) {
529 mProgress = DialogPermission.showProgress(mContext, null, "正在验证保卡信息...", 602 mProgress = DialogPermission.showProgress(mContext, null, "正在验证保卡信息...",
530 false, true, null); 603 false, true, null);
531 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 604 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
532 HttpClient.getInstance().get(HttpUrl.cardcheck + "?deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() { 605 HttpClient.getInstance().get(HttpUrl.cardcheck + "?deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() {
533 @Override 606 @Override
534 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 607 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
535 // Log.e("test", "验证保卡" + new String(arg2)); 608 // Log.e("test", "验证保卡" + new String(arg2));
536 closeProgress(); 609 closeProgress();
537 Message msg = Message.obtain(); 610 Message msg = Message.obtain();
538 msg.what = HttpCode.CHECKCARD; 611 msg.what = HttpCode.CHECKCARD;
539 msg.obj = new String(arg2); 612 msg.obj = new String(arg2);
540 handler.sendMessage(msg); 613 handler.sendMessage(msg);
541 614
542 615
543 } 616 }
544 617
545 @Override 618 @Override
546 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 619 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
547 closeProgress(); 620 closeProgress();
548 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 621 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
549 //Toast.makeText(mContext, "请检查网络。。" + arg3, Toast.LENGTH_LONG).show(); 622 //Toast.makeText(mContext, "请检查网络。。" + arg3, Toast.LENGTH_LONG).show();
550 } 623 }
551 }); 624 });
552 } 625 }
553 626
554 ///获取年级 627 ///获取年级
555 public void getgrade(final Context mContext, final Handler handler) { 628 public void getgrade(final Context mContext, final Handler handler) {
556 HttpClient.getInstance().addHeader("Accept", "application/json"); 629 HttpClient.getInstance().addHeader("Accept", "application/json");
557 HttpClient.getInstance().get(HttpUrl.gradesUrl, new AsyncHttpResponseHandler() { 630 HttpClient.getInstance().get(HttpUrl.gradesUrl, new AsyncHttpResponseHandler() {
558 @Override 631 @Override
559 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 632 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
560 // Log.e("test", "年级" + new String(arg2)); 633 // Log.e("test", "年级" + new String(arg2));
561 GradeInfo gradeInfo = GsonTool.getPerson(new String(arg2), GradeInfo.class);//解析json数据 634 GradeInfo gradeInfo = GsonTool.getPerson(new String(arg2), GradeInfo.class);//解析json数据
562 List<GradeInfo.DataBean.ChildrenBean> gradeInfoLists = new ArrayList<GradeInfo.DataBean.ChildrenBean>(); 635 List<GradeInfo.DataBean.ChildrenBean> gradeInfoLists = new ArrayList<GradeInfo.DataBean.ChildrenBean>();
563 for (int i = 0; i < gradeInfo.getData().size() - 2; i++) { 636 for (int i = 0; i < gradeInfo.getData().size() - 2; i++) {
564 String name = gradeInfo.getData().get(i).getName(); 637 String name = gradeInfo.getData().get(i).getName();
565 int id = gradeInfo.getData().get(i).getId(); 638 int id = gradeInfo.getData().get(i).getId();
566 List<GradeInfo.DataBean.ChildrenBean> gradeinfoList = gradeInfo.getData().get(i).getChildren(); 639 List<GradeInfo.DataBean.ChildrenBean> gradeinfoList = gradeInfo.getData().get(i).getChildren();
567 for (int j = 0; j < gradeinfoList.size(); j++) { 640 for (int j = 0; j < gradeinfoList.size(); j++) {
568 String secondname = gradeinfoList.get(j).getName(); 641 String secondname = gradeinfoList.get(j).getName();
569 int secondid = gradeinfoList.get(j).getId(); 642 int secondid = gradeinfoList.get(j).getId();
570 GradeInfo.DataBean.ChildrenBean dataBean = new GradeInfo.DataBean.ChildrenBean(); 643 GradeInfo.DataBean.ChildrenBean dataBean = new GradeInfo.DataBean.ChildrenBean();
571 dataBean.setName(secondname); 644 dataBean.setName(secondname);
572 dataBean.setId(secondid); 645 dataBean.setId(secondid);
573 gradeInfoLists.add(dataBean); 646 gradeInfoLists.add(dataBean);
574 } 647 }
575 648
576 } 649 }
577 650
578 Message message = Message.obtain(); 651 Message message = Message.obtain();
579 message.what = HttpCode.GRADER; 652 message.what = HttpCode.GRADER;
580 message.obj = gradeInfoLists; 653 message.obj = gradeInfoLists;
581 handler.sendMessage(message); 654 handler.sendMessage(message);
582 655
583 656
584 } 657 }
585 658
586 @Override 659 @Override
587 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 660 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
588 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 661 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
589 } 662 }
590 }); 663 });
591 } 664 }
592 665
593 /** 666 /**
594 * 获取学校 667 * 获取学校
595 * 668 *
596 * @param mContext 669 * @param mContext
597 * @param regionId 670 * @param regionId
598 * @param gradeId 671 * @param gradeId
599 * @param handler 672 * @param handler
600 */ 673 */
601 public void getschool(final Context mContext, int regionId, int gradeId, final Handler handler) { 674 public void getschool(final Context mContext, int regionId, int gradeId, final Handler handler) {
602 HttpClient.getInstance().addHeader("Accept", "application/json"); 675 HttpClient.getInstance().addHeader("Accept", "application/json");
603 HttpClient.getInstance().get(HttpUrl.schoolUrl + "?regionId=" + regionId + "&gradeId=" + gradeId, new AsyncHttpResponseHandler() { 676 HttpClient.getInstance().get(HttpUrl.schoolUrl + "?regionId=" + regionId + "&gradeId=" + gradeId, new AsyncHttpResponseHandler() {
604 @Override 677 @Override
605 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 678 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
606 // Log.e("test", "学校" + new String(arg2)); 679 // Log.e("test", "学校" + new String(arg2));
607 try { 680 try {
608 JSONObject jsonObject = new JSONObject(new String(arg2)); 681 JSONObject jsonObject = new JSONObject(new String(arg2));
609 int status = jsonObject.optInt("status"); 682 int status = jsonObject.optInt("status");
610 if (status == 1) { 683 if (status == 1) {
611 SchoolInfo schoolInfo = GsonTool.getPerson(new String(arg2), SchoolInfo.class);//解析json数据 684 SchoolInfo schoolInfo = GsonTool.getPerson(new String(arg2), SchoolInfo.class);//解析json数据
612 List<SchoolInfo.DataBean> schoolInfoBeanList = schoolInfo.getData(); 685 List<SchoolInfo.DataBean> schoolInfoBeanList = schoolInfo.getData();
613 Message message = Message.obtain(); 686 Message message = Message.obtain();
614 message.what = HttpCode.SCHOOL; 687 message.what = HttpCode.SCHOOL;
615 message.obj = schoolInfoBeanList; 688 message.obj = schoolInfoBeanList;
616 handler.sendMessage(message); 689 handler.sendMessage(message);
617 690
618 691
619 } else { 692 } else {
620 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 693 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
621 694
622 } 695 }
623 } catch (JSONException e) { 696 } catch (JSONException e) {
624 e.printStackTrace(); 697 e.printStackTrace();
625 } 698 }
626 699
627 } 700 }
628 701
629 @Override 702 @Override
630 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 703 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
631 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 704 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
632 } 705 }
633 }); 706 });
634 } 707 }
635 708
636 709
637 /** 710 /**
638 * 获取个人信息 711 * 获取个人信息
639 * 712 *
640 * @param mContext 713 * @param mContext
641 * @param userId 714 * @param userId
642 * @param handler 715 * @param handler
643 */ 716 */
644 public void getpresonalinfo(final Context mContext, long userId, int type, final Handler handler) { 717 public void getpresonalinfo(final Context mContext, long userId, int type, final Handler handler) {
645 // mProgress = DialogPermission.showProgress(mContext, null, "正在获取个人信息...", 718 // mProgress = DialogPermission.showProgress(mContext, null, "正在获取个人信息...",
646 // false, true, null); 719 // false, true, null);
647 HttpClient.getInstance().addHeader("Accept", "application/json"); 720 HttpClient.getInstance().addHeader("Accept", "application/json");
648 HttpClient.getInstance().setConnectTimeout(5 * 1000); 721 HttpClient.getInstance().setConnectTimeout(5 * 1000);
649 HttpClient.getInstance().get(HttpUrl.getpresonalinfo + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() { 722 HttpClient.getInstance().get(HttpUrl.getpresonalinfo + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() {
650 @Override 723 @Override
651 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 724 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
652 closeProgress(); 725 closeProgress();
653 Log.e("test", "个人信息" + new String(arg2)); 726 Log.e("test", "个人信息" + new String(arg2));
654 try { 727 try {
655 JSONObject jsonObject = new JSONObject(new String(arg2)); 728 JSONObject jsonObject = new JSONObject(new String(arg2));
656 int status = jsonObject.optInt("status"); 729 int status = jsonObject.optInt("status");
657 Message message = Message.obtain(); 730 Message message = Message.obtain();
658 if (status == 1) { 731 if (status == 1) {
659 PesonalInfo pesonalInfo = GsonTool.getPerson(new String(arg2), PesonalInfo.class);//解析json数据 732 PesonalInfo pesonalInfo = GsonTool.getPerson(new String(arg2), PesonalInfo.class);//解析json数据
660 PesonalInfo.DataBean pesonalInfoBeanList = pesonalInfo.getData(); 733 PesonalInfo.DataBean pesonalInfoBeanList = pesonalInfo.getData();
661 message.what = HttpCode.GETINFO; 734 message.what = HttpCode.GETINFO;
662 message.obj = pesonalInfoBeanList; 735 message.obj = pesonalInfoBeanList;
663 handler.sendMessage(message); 736 handler.sendMessage(message);
664 } else if (status == 1011){ 737 } else if (status == 1011) {
665 message.what = HttpCode.RELOGIN; 738 message.what = HttpCode.RELOGIN;
666 handler.sendMessage(message); 739 handler.sendMessage(message);
667 }else { 740 } else {
668 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 741 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
669 742
670 } 743 }
671 } catch (JSONException e) { 744 } catch (JSONException e) {
672 e.printStackTrace(); 745 e.printStackTrace();
673 } 746 }
674 747
675 748
676 } 749 }
677 750
678 @Override 751 @Override
679 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 752 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
680 closeProgress(); 753 closeProgress();
681 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 754 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
682 } 755 }
683 }); 756 });
684 } 757 }
685 758
686 //修改个人信息 759 //修改个人信息
687 public void changepresonalinfo(final Context mContext, Long id, int type 760 public void changepresonalinfo(final Context mContext, Long id, int type
688 , String name, String birthday, final int gradeId, long regionId, 761 , String name, String birthday, final int gradeId, long regionId,
689 Object schoolId, String qq, String gender 762 Object schoolId, String qq, String gender
690 , String regionName, String address, String devicenumber, final Handler handler) throws UnsupportedEncodingException { 763 , String regionName, String address, String devicenumber, final Handler handler) throws UnsupportedEncodingException {
691 mProgress = DialogPermission.showProgress(mContext, null, "正在保存个人信息...", 764 mProgress = DialogPermission.showProgress(mContext, null, "正在保存个人信息...",
692 false, true, null); 765 false, true, null);
693 RequestParams params = new RequestParams(); 766 RequestParams params = new RequestParams();
694 767
695 params.put(HttpKey.USEID, id); 768 params.put(HttpKey.USEID, id);
696 params.put(HttpKey.TYPE, type); 769 params.put(HttpKey.TYPE, type);
697 params.put(HttpKey.NAME, name); 770 params.put(HttpKey.NAME, name);
698 params.put(HttpKey.BIRDays, birthday); 771 params.put(HttpKey.BIRDays, birthday);
699 params.put(HttpKey.GRADE, gradeId); 772 params.put(HttpKey.GRADE, gradeId);
700 params.put(HttpKey.REGION, regionId); 773 params.put(HttpKey.REGION, regionId);
701 params.put(HttpKey.SCHOOL, schoolId); 774 params.put(HttpKey.SCHOOL, schoolId);
702 params.put(HttpKey.QQ, qq); 775 params.put(HttpKey.QQ, qq);
703 params.put(HttpKey.GENDER, gender); 776 params.put(HttpKey.GENDER, gender);
704 params.put(HttpKey.REGIONNAME, regionName); 777 params.put(HttpKey.REGIONNAME, regionName);
705 params.put(HttpKey.ADDDRESS, address); 778 params.put(HttpKey.ADDDRESS, address);
706 params.put(HttpKey.DEVINUMBER, devicenumber); 779 params.put(HttpKey.DEVINUMBER, devicenumber);
707 Log.e("test", "个人信息" + params); 780 Log.e("test", "个人信息" + params);
708 HttpClient.getInstance().addHeader("Accept", "*/*"); 781 HttpClient.getInstance().addHeader("Accept", "*/*");
709 HttpClient.getInstance().post(mContext, HttpUrl.changepresonalinfo, params, new JsonHttpResponseHandler() { 782 HttpClient.getInstance().post(mContext, HttpUrl.changepresonalinfo, params, new JsonHttpResponseHandler() {
710 @Override 783 @Override
711 public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 784 public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
712 super.onSuccess(statusCode, headers, response); 785 super.onSuccess(statusCode, headers, response);
713 closeProgress(); 786 closeProgress();
714 String status = response.optString("status"); 787 String status = response.optString("status");
715 if (status.equals("1")) { 788 if (status.equals("1")) {
716 Toast.makeText(mContext, "个人信息保存成功", Toast.LENGTH_LONG).show(); 789 Toast.makeText(mContext, "个人信息保存成功", Toast.LENGTH_LONG).show();
717 SaveParam.getInstance().saveLoginParam(mContext,SaveParam.VIEGREADE,gradeId+""); 790 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.VIEGREADE, gradeId + "");
718 Message message = Message.obtain(); 791 Message message = Message.obtain();
719 message.what = HttpCode.PESERNAOL; 792 message.what = HttpCode.PESERNAOL;
720 message.obj = 1; 793 message.obj = 1;
721 handler.sendMessage(message); 794 handler.sendMessage(message);
722 } else { 795 } else {
723 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 796 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
724 } 797 }
725 798
726 } 799 }
727 800
728 @Override 801 @Override
729 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 802 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
730 super.onFailure(statusCode, headers, throwable, errorResponse); 803 super.onFailure(statusCode, headers, throwable, errorResponse);
731 closeProgress(); 804 closeProgress();
732 Log.e("test", "onFailure" + errorResponse); 805 Log.e("test", "onFailure" + errorResponse);
733 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 806 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
734 } 807 }
735 808
736 }); 809 });
737 } 810 }
738 811
739 //提交注册信息 812 //提交注册信息
740 public void subregisterinfo(final Context mContext, Long userId 813 public void subregisterinfo(final Context mContext, Long userId
741 , String name, int gradeId, long regionId, String regionName, Object schoolId, String chinese, 814 , String name, int gradeId, long regionId, String regionName, String realName, String address, Object schoolId, String chinese,
742 String math, String english, String physics, String chemistry, 815 String math, String english, String physics, String chemistry,
743 String history, String geography, String political, String biology, String science, final Handler handler) { 816 String history, String geography, String political, String biology, String science, final Handler handler) {
744 mProgress = DialogPermission.showProgress(mContext, null, "正在保存个人信息...", 817 mProgress = DialogPermission.showProgress(mContext, null, "正在保存个人信息...",
745 false, true, null); 818 false, true, null);
746 RequestParams params = new RequestParams(); 819 RequestParams params = new RequestParams();
747 820
748 params.put(HttpKey.USEID, userId); 821 params.put(HttpKey.USEID, userId);
749 params.put(HttpKey.NAME, name); 822 params.put(HttpKey.NAME, name);
750 params.put(HttpKey.GRADE, gradeId); 823 params.put(HttpKey.GRADE, gradeId);
751 params.put(HttpKey.REGION, regionId); 824 params.put(HttpKey.REGION, regionId);
752 params.put(HttpKey.SCHOOL, schoolId); 825 params.put(HttpKey.SCHOOL, schoolId);
753 params.put(HttpKey.REGIONNAME, regionName); 826 params.put(HttpKey.REGIONNAME, regionName);
754 params.put(HttpKey.MATH, math); 827 params.put(HttpKey.MATH, math);
755 params.put(HttpKey.ENGLISH, english); 828 params.put(HttpKey.ENGLISH, english);
756 params.put(HttpKey.CHINESE, chinese); 829 params.put(HttpKey.CHINESE, chinese);
757 params.put(HttpKey.PHYSICES, physics); 830 params.put(HttpKey.PHYSICES, physics);
758 params.put(HttpKey.CHEMISTRY, chemistry); 831 params.put(HttpKey.CHEMISTRY, chemistry);
759 params.put(HttpKey.HISTIRY, history); 832 params.put(HttpKey.HISTIRY, history);
760 params.put(HttpKey.GEOGRAPHY, geography); 833 params.put(HttpKey.GEOGRAPHY, geography);
761 params.put(HttpKey.POLITICAL, political); 834 params.put(HttpKey.POLITICAL, political);
762 params.put(HttpKey.BIOLOGY, biology); 835 params.put(HttpKey.BIOLOGY, biology);
763 params.put(HttpKey.SCIENCE, science); 836 params.put(HttpKey.SCIENCE, science);
837 params.put(HttpKey.ADDDRESS, address);
838 params.put(HttpKey.REALNAME, realName);
764 839
765 Log.e("test", "注册信息" + params); 840 Log.e("test", "注册信息" + params);
766 HttpClient.getInstance().addHeader("Accept", "*/*"); 841 HttpClient.getInstance().addHeader("Accept", "*/*");
767 HttpClient.getInstance().post(mContext, HttpUrl.submitregisterURL, params, new JsonHttpResponseHandler() { 842 HttpClient.getInstance().post(mContext, HttpUrl.submitregisterURL, params, new JsonHttpResponseHandler() {
768 @Override 843 @Override
769 public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 844 public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
770 super.onSuccess(statusCode, headers, response); 845 super.onSuccess(statusCode, headers, response);
771 closeProgress(); 846 closeProgress();
772 Message message = Message.obtain(); 847 Message message = Message.obtain();
773 message.what = HttpCode.REGISTERINFO_SUCESS; 848 message.what = HttpCode.REGISTERINFO_SUCESS;
774 message.obj = new String(String.valueOf(response)); 849 message.obj = new String(String.valueOf(response));
775 handler.sendMessage(message); 850 handler.sendMessage(message);
776 851
777 } 852 }
778 853
779 @Override 854 @Override
780 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 855 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
781 super.onFailure(statusCode, headers, throwable, errorResponse); 856 super.onFailure(statusCode, headers, throwable, errorResponse);
782 closeProgress(); 857 closeProgress();
783 Log.e("test", "onFailure" + errorResponse); 858 Log.e("test", "onFailure" + errorResponse);
784 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 859 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
785 } 860 }
786 861
787 }); 862 });
788 } 863 }
789 864
790 //修改版本信息 865 //修改版本信息
791 public void changepublishinfo(final Context mContext, String userId, String chinese, 866 public void changepublishinfo(final Context mContext, String userId, String chinese,
792 String math, String english, String physics, String chemistry, 867 String math, String english, String physics, String chemistry,
793 String history, String geography, String political, String biology, String science) { 868 String history, String geography, String political, String biology, String science) {
794 mProgress = DialogPermission.showProgress(mContext, null, "正在保存版本信息...", 869 mProgress = DialogPermission.showProgress(mContext, null, "正在保存版本信息...",
795 false, true, null); 870 false, true, null);
796 RequestParams params = new RequestParams(); 871 RequestParams params = new RequestParams();
797 params.put(HttpKey.USEID, userId); 872 params.put(HttpKey.USEID, userId);
798 params.put(HttpKey.CHINESE, chinese); 873 params.put(HttpKey.CHINESE, chinese);
799 params.put(HttpKey.MATH, math); 874 params.put(HttpKey.MATH, math);
800 params.put(HttpKey.ENGLISH, english); 875 params.put(HttpKey.ENGLISH, english);
801 params.put(HttpKey.PHYSICES, physics); 876 params.put(HttpKey.PHYSICES, physics);
802 params.put(HttpKey.CHEMISTRY, chemistry); 877 params.put(HttpKey.CHEMISTRY, chemistry);
803 params.put(HttpKey.HISTIRY, history); 878 params.put(HttpKey.HISTIRY, history);
804 params.put(HttpKey.GEOGRAPHY, geography); 879 params.put(HttpKey.GEOGRAPHY, geography);
805 params.put(HttpKey.POLITICAL, political); 880 params.put(HttpKey.POLITICAL, political);
806 params.put(HttpKey.BIOLOGY, biology); 881 params.put(HttpKey.BIOLOGY, biology);
807 params.put(HttpKey.SCIENCE, science); 882 params.put(HttpKey.SCIENCE, science);
808 883
809 Log.e("test", "版本信息信息" + params); 884 Log.e("test", "版本信息信息" + params);
810 HttpClient.getInstance().addHeader("Accept", "*/*"); 885 HttpClient.getInstance().addHeader("Accept", "*/*");
811 HttpClient.getInstance().post(mContext, HttpUrl.chagepublishURL, params, new JsonHttpResponseHandler() { 886 HttpClient.getInstance().post(mContext, HttpUrl.chagepublishURL, params, new JsonHttpResponseHandler() {
812 @Override 887 @Override
813 public void onSuccess(int statusCode, Header[] headers, JSONObject response) { 888 public void onSuccess(int statusCode, Header[] headers, JSONObject response) {
814 super.onSuccess(statusCode, headers, response); 889 super.onSuccess(statusCode, headers, response);
815 closeProgress(); 890 closeProgress();
816 String status = response.optString("status"); 891 String status = response.optString("status");
817 if (status.equals("1")) { 892 if (status.equals("1")) {
818 Toast.makeText(mContext, "版本信息修改成功", Toast.LENGTH_LONG).show(); 893 Toast.makeText(mContext, "版本信息修改成功", Toast.LENGTH_LONG).show();
819 ((Activity) mContext).finish(); 894 ((Activity) mContext).finish();
820 } else { 895 } else {
821 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); 896 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试");
822 } 897 }
823 898
824 } 899 }
825 900
826 @Override 901 @Override
827 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { 902 public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) {
828 super.onFailure(statusCode, headers, throwable, errorResponse); 903 super.onFailure(statusCode, headers, throwable, errorResponse);
829 closeProgress(); 904 closeProgress();
830 Log.e("test", "onFailure" + errorResponse); 905 Log.e("test", "onFailure" + errorResponse);
831 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 906 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
832 } 907 }
833 908
834 }); 909 });
835 } 910 }
836 911
837 //修改个性签名 912 //修改个性签名
838 public void changsignature(final Context mContext, Object userId, int type, final String signature) { 913 public void changsignature(final Context mContext, Object userId, int type, final String signature) {
839 RequestParams params = new RequestParams(); 914 RequestParams params = new RequestParams();
840 params.put("userId", userId); 915 params.put("userId", userId);
841 params.put("type", type); 916 params.put("type", type);
842 params.put("signature", signature); 917 params.put("signature", signature);
843 HttpClient.getInstance().addHeader("Accept", "*/*"); 918 HttpClient.getInstance().addHeader("Accept", "*/*");
844 HttpClient.getInstance().post(HttpUrl.signature, params, new AsyncHttpResponseHandler() { 919 HttpClient.getInstance().post(HttpUrl.signature, params, new AsyncHttpResponseHandler() {
845 @Override 920 @Override
846 public void onSuccess(int i, Header[] headers, byte[] bytes) { 921 public void onSuccess(int i, Header[] headers, byte[] bytes) {
847 try { 922 try {
848 JSONObject jsonObject = new JSONObject(new String(bytes)); 923 JSONObject jsonObject = new JSONObject(new String(bytes));
849 String status = jsonObject.optString("status"); 924 String status = jsonObject.optString("status");
850 if (status.equals("1")) { 925 if (status.equals("1")) {
851 Toast.makeText(mContext, "个性签名修改成功", Toast.LENGTH_LONG).show(); 926 Toast.makeText(mContext, "个性签名修改成功", Toast.LENGTH_LONG).show();
852 } else { 927 } else {
853 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); 928 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试");
854 } 929 }
855 } catch (JSONException e) { 930 } catch (JSONException e) {
856 e.printStackTrace(); 931 e.printStackTrace();
857 } 932 }
858 } 933 }
859 934
860 @Override 935 @Override
861 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 936 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
862 //Log.e("test", "onFailure" + new String(bytes)); 937 //Log.e("test", "onFailure" + new String(bytes));
863 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 938 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
864 } 939 }
865 }); 940 });
866 } 941 }
867 942
868 /** 943 /**
869 * 获取个性签名 944 * 获取个性签名
870 * 945 *
871 * @param mContext 946 * @param mContext
872 * @param userId 947 * @param userId
873 * @param handler 948 * @param handler
874 */ 949 */
875 public void getsignatures(final Context mContext, Object userId, int type, final Handler handler) { 950 public void getsignatures(final Context mContext, Object userId, int type, final Handler handler) {
876 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 951 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
877 HttpClient.getInstance().get(HttpUrl.getsignature + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() { 952 HttpClient.getInstance().get(HttpUrl.getsignature + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() {
878 @Override 953 @Override
879 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 954 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
880 // Log.e("test", "个性签名" + new String(arg2)); 955 // Log.e("test", "个性签名" + new String(arg2));
881 try { 956 try {
882 JSONObject jsonObject = new JSONObject(new String(arg2)); 957 JSONObject jsonObject = new JSONObject(new String(arg2));
883 int status = jsonObject.optInt("status"); 958 int status = jsonObject.optInt("status");
884 if (status == 1) { 959 if (status == 1) {
885 SignInfo signInfo = GsonTool.getPerson(new String(arg2), SignInfo.class);//解析json数据 960 SignInfo signInfo = GsonTool.getPerson(new String(arg2), SignInfo.class);//解析json数据
886 SignInfo.DataBean signInfoBeanList = signInfo.getData(); 961 SignInfo.DataBean signInfoBeanList = signInfo.getData();
887 Message message = Message.obtain(); 962 Message message = Message.obtain();
888 message.what = HttpCode.SIGN; 963 message.what = HttpCode.SIGN;
889 message.obj = signInfoBeanList; 964 message.obj = signInfoBeanList;
890 handler.sendMessage(message); 965 handler.sendMessage(message);
891 966
892 967
893 } else if (status == 1000) { 968 } else if (status == 1000) {
894 //AlertUtils.showToast(mContext, "您还没有签名哦"); 969 //AlertUtils.showToast(mContext, "您还没有签名哦");
895 970
896 } else { 971 } else {
897 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 972 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
898 } 973 }
899 } catch (JSONException e) { 974 } catch (JSONException e) {
900 e.printStackTrace(); 975 e.printStackTrace();
901 } 976 }
902 977
903 978
904 } 979 }
905 980
906 @Override 981 @Override
907 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 982 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
908 //Log.e("test", "失败原因" + arg3); 983 //Log.e("test", "失败原因" + arg3);
909 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 984 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
910 } 985 }
911 }); 986 });
912 } 987 }
913 988
914 /** 989 /**
915 * 用户反馈 990 * 用户反馈
916 * 991 *
917 * @param mContext 992 * @param mContext
918 * @param userId 993 * @param userId
919 * @param content 994 * @param content
920 * @param contact 995 * @param contact
921 * @param imgs 996 * @param imgs
922 * @param feedtype 997 * @param feedtype
923 * @throws UnsupportedEncodingException 998 * @throws UnsupportedEncodingException
924 */ 999 */
925 public void feedback(final Context mContext, String userId, String content, 1000 public void feedback(final Context mContext, String userId, String content,
926 String contact, String imgs, String feedtype) throws UnsupportedEncodingException { 1001 String contact, String imgs, String feedtype) throws UnsupportedEncodingException {
927 mProgress = DialogPermission.showProgress(mContext, null, "正在提交反馈内容...", 1002 mProgress = DialogPermission.showProgress(mContext, null, "正在提交反馈内容...",
928 false, true, null); 1003 false, true, null);
929 File file = new File(imgs); 1004 File file = new File(imgs);
930 RequestParams params = new RequestParams(); 1005 RequestParams params = new RequestParams();
931 try { 1006 try {
932 params.put("userId", userId); 1007 params.put("userId", userId);
933 params.put("content", content); 1008 params.put("content", content);
934 params.put("contact", contact); 1009 params.put("contact", contact);
935 if (file.exists() && file.length() > 0) { 1010 if (file.exists() && file.length() > 0) {
936 params.put("imgs", file); 1011 params.put("imgs", file);
937 } 1012 }
938 params.put("feedtype", feedtype); 1013 params.put("feedtype", feedtype);
939 } catch (FileNotFoundException e) { 1014 } catch (FileNotFoundException e) {
940 e.printStackTrace(); 1015 e.printStackTrace();
941 } 1016 }
942 Log.e("test", "onSuccess" + params); 1017 Log.e("test", "onSuccess" + params);
943 HttpClient.getInstance().post(HttpUrl.feedbackURL, params, new AsyncHttpResponseHandler() { 1018 HttpClient.getInstance().post(HttpUrl.feedbackURL, params, new AsyncHttpResponseHandler() {
944 @Override 1019 @Override
945 public void onSuccess(int i, Header[] headers, byte[] bytes) { 1020 public void onSuccess(int i, Header[] headers, byte[] bytes) {
946 closeProgress(); 1021 closeProgress();
947 // Log.e("test", "onSuccess" + new String(bytes)); 1022 // Log.e("test", "onSuccess" + new String(bytes));
948 try { 1023 try {
949 JSONObject jsonObject = new JSONObject(new String(bytes)); 1024 JSONObject jsonObject = new JSONObject(new String(bytes));
950 String status = jsonObject.optString("status"); 1025 String status = jsonObject.optString("status");
951 if (status.equals("1")) { 1026 if (status.equals("1")) {
952 Toast.makeText(mContext, "您的宝贵意见已经提交成功。", Toast.LENGTH_LONG).show(); 1027 Toast.makeText(mContext, "您的宝贵意见已经提交成功。", Toast.LENGTH_LONG).show();
953 ((Activity) mContext).finish(); 1028 ((Activity) mContext).finish();
954 } else { 1029 } else {
955 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); 1030 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试");
956 } 1031 }
957 } catch (JSONException e) { 1032 } catch (JSONException e) {
958 e.printStackTrace(); 1033 e.printStackTrace();
959 } 1034 }
960 } 1035 }
961 1036
962 @Override 1037 @Override
963 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 1038 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
964 closeProgress(); 1039 closeProgress();
965 //Log.e("test", "错误信息" + new String(bytes)); 1040 //Log.e("test", "错误信息" + new String(bytes));
966 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1041 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
967 1042
968 } 1043 }
969 }); 1044 });
970 1045
971 } 1046 }
972 1047
973 /** 1048 /**
974 * 查询子账户信息 1049 * 查询子账户信息
975 * 1050 *
976 * @param mContext 1051 * @param mContext
977 * @param userId 1052 * @param userId
978 * @param handler 1053 * @param handler
979 */ 1054 */
980 public void getchildAccountinfo(final Context mContext, long userId, String deviceNumber, final Handler handler) { 1055 public void getchildAccountinfo(final Context mContext, long userId, String deviceNumber, final Handler handler) {
981 mProgress = DialogPermission.showProgress(mContext, null, "正在获取子账户信息...", 1056 mProgress = DialogPermission.showProgress(mContext, null, "正在获取子账户信息...",
982 false, true, null); 1057 false, true, null);
983 1058
984 Log.e("test", "ID" + userId + "deviceNumber" + deviceNumber); 1059 Log.e("test", "ID" + userId + "deviceNumber" + deviceNumber);
985 HttpClient.getInstance().setTimeout(5 * 1000); 1060 HttpClient.getInstance().setTimeout(5 * 1000);
986 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1061 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
987 HttpClient.getInstance().get(HttpUrl.childUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() { 1062 HttpClient.getInstance().get(HttpUrl.childUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() {
988 @Override 1063 @Override
989 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1064 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
990 closeProgress(); 1065 closeProgress();
991 Log.e("test", "子账户信息" + new String(arg2)); 1066 Log.e("test", "子账户信息" + new String(arg2));
992 try { 1067 try {
993 JSONObject jsonObject = new JSONObject(new String(arg2)); 1068 JSONObject jsonObject = new JSONObject(new String(arg2));
994 int status = jsonObject.optInt("status"); 1069 int status = jsonObject.optInt("status");
995 if (status == 1) { 1070 if (status == 1) {
996 ChildsInfo childsInfo = GsonTool.getPerson(new String(arg2), ChildsInfo.class);//解析json数据 1071 ChildsInfo childsInfo = GsonTool.getPerson(new String(arg2), ChildsInfo.class);//解析json数据
997 Log.e("test", "子账户信息" + childsInfo); 1072 Log.e("test", "子账户信息" + childsInfo);
998 List<ChildsInfo.DataBean> schoolInfoBeanList = childsInfo.getData(); 1073 List<ChildsInfo.DataBean> schoolInfoBeanList = childsInfo.getData();
999 Log.e("test", "子账户信息" + schoolInfoBeanList); 1074 Log.e("test", "子账户信息" + schoolInfoBeanList);
1000 Message msg = Message.obtain(); 1075 Message msg = Message.obtain();
1001 msg.what = HttpCode.CHILDS_SUCESS; 1076 msg.what = HttpCode.CHILDS_SUCESS;
1002 msg.obj = schoolInfoBeanList; 1077 msg.obj = schoolInfoBeanList;
1003 handler.sendMessage(msg); 1078 handler.sendMessage(msg);
1004 1079
1005 } else { 1080 } else {
1006 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后再试!"); 1081 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后再试!");
1007 1082
1008 } 1083 }
1009 } catch (JSONException e) { 1084 } catch (JSONException e) {
1010 e.printStackTrace(); 1085 e.printStackTrace();
1011 1086
1012 } 1087 }
1013 1088
1014 } 1089 }
1015 1090
1016 @Override 1091 @Override
1017 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1092 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1018 closeProgress(); 1093 closeProgress();
1019 // Log.e("test", "错误信息" + new String(arg2)); 1094 // Log.e("test", "错误信息" + new String(arg2));
1020 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1095 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1021 } 1096 }
1022 }); 1097 });
1023 1098
1024 } 1099 }
1025 1100
1026 /** 1101 /**
1027 * 删除子账户信息 1102 * 删除子账户信息
1028 * 1103 *
1029 * @param mContext 1104 * @param mContext
1030 * @param subAccountId 1105 * @param subAccountId
1031 */ 1106 */
1032 public void deletechildAccountinfo(final Context mContext, String subAccountId) { 1107 public void deletechildAccountinfo(final Context mContext, String subAccountId) {
1033 mProgress = DialogPermission.showProgress(mContext, null, "正在删除子账户...", 1108 mProgress = DialogPermission.showProgress(mContext, null, "正在删除子账户...",
1034 false, true, null); 1109 false, true, null);
1035 HttpClient.getInstance().setTimeout(5 * 1000); 1110 HttpClient.getInstance().setTimeout(5 * 1000);
1036 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1111 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1037 HttpClient.getInstance().get(HttpUrl.deletechildUserURL + "?subAccountId=" + subAccountId, new AsyncHttpResponseHandler() { 1112 HttpClient.getInstance().get(HttpUrl.deletechildUserURL + "?subAccountId=" + subAccountId, new AsyncHttpResponseHandler() {
1038 @Override 1113 @Override
1039 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1114 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1040 closeProgress(); 1115 closeProgress();
1041 // Log.e("test", "子账户信息" + new String(arg2)); 1116 // Log.e("test", "子账户信息" + new String(arg2));
1042 try { 1117 try {
1043 JSONObject jsonObject = new JSONObject(new String(arg2)); 1118 JSONObject jsonObject = new JSONObject(new String(arg2));
1044 int status = jsonObject.optInt("status"); 1119 int status = jsonObject.optInt("status");
1045 if (status == 1) { 1120 if (status == 1) {
1046 AlertUtils.showToast(mContext, "子账号删除成功!"); 1121 AlertUtils.showToast(mContext, "子账号删除成功!");
1047 ((Activity) mContext).finish(); 1122 ((Activity) mContext).finish();
1048 } else { 1123 } else {
1049 AlertUtils.showToast(mContext, "你好,子账号删除失败!"); 1124 AlertUtils.showToast(mContext, "你好,子账号删除失败!");
1050 1125
1051 } 1126 }
1052 } catch (JSONException e) { 1127 } catch (JSONException e) {
1053 e.printStackTrace(); 1128 e.printStackTrace();
1054 } 1129 }
1055 1130
1056 } 1131 }
1057 1132
1058 @Override 1133 @Override
1059 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1134 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1060 closeProgress(); 1135 closeProgress();
1061 // Log.e("test", "错误信息" + new String(arg2)); 1136 // Log.e("test", "错误信息" + new String(arg2));
1062 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1137 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1063 } 1138 }
1064 }); 1139 });
1065 1140
1066 } 1141 }
1067 1142
1068 /** 1143 /**
1069 * 添加子账户信息 1144 * 添加子账户信息
1070 */ 1145 */
1071 public void addchildAccountinfo(final Context mContext, long parentId, String image, 1146 public void addchildAccountinfo(final Context mContext, long parentId, String image,
1072 String name, final Long grade, Object school, Long region 1147 String name, final Long grade, Object school, Long region
1073 , String deviceNumber, String regionName) { 1148 , String deviceNumber, String regionName) {
1074 mProgress = DialogPermission.showProgress(mContext, null, "正在添加子账户...", 1149 mProgress = DialogPermission.showProgress(mContext, null, "正在添加子账户...",
1075 false, true, null); 1150 false, true, null);
1076 RequestParams params = new RequestParams(); 1151 RequestParams params = new RequestParams();
1077 1152
1078 params.put(HttpKey.PARENTID, parentId); 1153 params.put(HttpKey.PARENTID, parentId);
1079 params.put(HttpKey.IMAGE, image); 1154 params.put(HttpKey.IMAGE, image);
1080 params.put(HttpKey.NAME, name); 1155 params.put(HttpKey.NAME, name);
1081 params.put(HttpKey.GRADE, grade); 1156 params.put(HttpKey.GRADE, grade);
1082 params.put(HttpKey.SCHOOL, school); 1157 params.put(HttpKey.SCHOOL, school);
1083 params.put(HttpKey.REGION, region); 1158 params.put(HttpKey.REGION, region);
1084 params.put(HttpKey.DEVINUMBER, deviceNumber); 1159 params.put(HttpKey.DEVINUMBER, deviceNumber);
1085 params.put(HttpKey.REGIONNAME, regionName); 1160 params.put(HttpKey.REGIONNAME, regionName);
1086 1161
1087 Log.e("test", "子账户信息" + params); 1162 Log.e("test", "子账户信息" + params);
1088 HttpClient.getInstance().addHeader("Accept", "*/*"); 1163 HttpClient.getInstance().addHeader("Accept", "*/*");
1089 HttpClient.getInstance().setTimeout(5 * 1000); 1164 HttpClient.getInstance().setTimeout(5 * 1000);
1090 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1165 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1091 HttpClient.getInstance().post(HttpUrl.addchildUserURL, params, new AsyncHttpResponseHandler() { 1166 HttpClient.getInstance().post(HttpUrl.addchildUserURL, params, new AsyncHttpResponseHandler() {
1092 @Override 1167 @Override
1093 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1168 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1094 closeProgress(); 1169 closeProgress();
1095 1170
1096 Log.e("test", "子账户信息" + new String(arg2)); 1171 Log.e("test", "子账户信息" + new String(arg2));
1097 try { 1172 try {
1098 JSONObject jsonObject = new JSONObject(new String(arg2)); 1173 JSONObject jsonObject = new JSONObject(new String(arg2));
1099 int status = jsonObject.optInt("status"); 1174 int status = jsonObject.optInt("status");
1100 if (status == 1) { 1175 if (status == 1) {
1101 AlertUtils.showToast(mContext, "子账号添加成功!"); 1176 AlertUtils.showToast(mContext, "子账号添加成功!");
1102 ((Activity) mContext).finish(); 1177 ((Activity) mContext).finish();
1103 } else { 1178 } else {
1104 AlertUtils.showToast(mContext, "你好,子账号添加失败!"); 1179 AlertUtils.showToast(mContext, "你好,子账号添加失败!");
1105 1180
1106 } 1181 }
1107 } catch (JSONException e) { 1182 } catch (JSONException e) {
1108 e.printStackTrace(); 1183 e.printStackTrace();
1109 } 1184 }
1110 1185
1111 } 1186 }
1112 1187
1113 @Override 1188 @Override
1114 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1189 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1115 closeProgress(); 1190 closeProgress();
1116 // Log.e("test", "错误信息" + new String(arg2)); 1191 // Log.e("test", "错误信息" + new String(arg2));
1117 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1192 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1118 } 1193 }
1119 }); 1194 });
1120 1195
1121 } 1196 }
1122 1197
1123 /** 1198 /**
1124 * 切换子账户信息 1199 * 切换子账户信息
1125 * 1200 *
1126 * @param mContext 1201 * @param mContext
1127 * @param subAccountId 1202 * @param subAccountId
1128 */ 1203 */
1129 public void changechildAccountinfo(final Context mContext, String subAccountId, long userId 1204 public void changechildAccountinfo(final Context mContext, String subAccountId, long userId
1130 , String deviceNumber, int type) { 1205 , String deviceNumber, int type) {
1131 mProgress = DialogPermission.showProgress(mContext, null, "正在切换子账户...", 1206 mProgress = DialogPermission.showProgress(mContext, null, "正在切换子账户...",
1132 false, true, null); 1207 false, true, null);
1133 HttpClient.getInstance().setTimeout(5 * 1000); 1208 HttpClient.getInstance().setTimeout(5 * 1000);
1134 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1209 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1135 HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?subAccountId=" + subAccountId + "&userId=" + userId 1210 HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?subAccountId=" + subAccountId + "&userId=" + userId
1136 + "&deviceNumber=" + deviceNumber + "&type=" + type, new AsyncHttpResponseHandler() { 1211 + "&deviceNumber=" + deviceNumber + "&type=" + type, new AsyncHttpResponseHandler() {
1137 @Override 1212 @Override
1138 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1213 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1139 closeProgress(); 1214 closeProgress();
1140 // Log.e("test", "子账户信息" + new String(arg2)); 1215 // Log.e("test", "子账户信息" + new String(arg2));
1141 try { 1216 try {
1142 JSONObject jsonObject = new JSONObject(new String(arg2)); 1217 JSONObject jsonObject = new JSONObject(new String(arg2));
1143 int status = jsonObject.optInt("status"); 1218 int status = jsonObject.optInt("status");
1144 if (status == 1) { 1219 if (status == 1) {
1145 AlertUtils.showToast(mContext, "子账号切换成功!"); 1220 AlertUtils.showToast(mContext, "子账号切换成功!");
1146 ((Activity) mContext).finish(); 1221 ((Activity) mContext).finish();
1147 1222
1148 } else { 1223 } else {
1149 AlertUtils.showToast(mContext, "你好,子账号切换失败!"); 1224 AlertUtils.showToast(mContext, "你好,子账号切换失败!");
1150 1225
1151 } 1226 }
1152 } catch (JSONException e) { 1227 } catch (JSONException e) {
1153 e.printStackTrace(); 1228 e.printStackTrace();
1154 } 1229 }
1155 1230
1156 } 1231 }
1157 1232
1158 @Override 1233 @Override
1159 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1234 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1160 closeProgress(); 1235 closeProgress();
1161 //Log.e("test", "错误信息" + new String(arg2)); 1236 //Log.e("test", "错误信息" + new String(arg2));
1162 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1237 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1163 } 1238 }
1164 }); 1239 });
1165 1240
1166 } 1241 }
1167 1242
1168 /** 1243 /**
1169 * 切换主账户信息 1244 * 切换主账户信息
1170 * 1245 *
1171 * @param mContext 1246 * @param mContext
1172 * @param type 1247 * @param type
1173 */ 1248 */
1174 public void Accountinfo(final Context mContext, long userId 1249 public void Accountinfo(final Context mContext, long userId
1175 , String deviceNumber, int type) { 1250 , String deviceNumber, int type) {
1176 mProgress = DialogPermission.showProgress(mContext, null, "正在切换主账户...", 1251 mProgress = DialogPermission.showProgress(mContext, null, "正在切换主账户...",
1177 false, true, null); 1252 false, true, null);
1178 HttpClient.getInstance().setTimeout(5 * 1000); 1253 HttpClient.getInstance().setTimeout(5 * 1000);
1179 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1254 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1180 HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber 1255 HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber
1181 + "&type=" + type, new AsyncHttpResponseHandler() { 1256 + "&type=" + type, new AsyncHttpResponseHandler() {
1182 @Override 1257 @Override
1183 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1258 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1184 closeProgress(); 1259 closeProgress();
1185 // Log.e("test", "子账户信息" + new String(arg2)); 1260 // Log.e("test", "子账户信息" + new String(arg2));
1186 try { 1261 try {
1187 JSONObject jsonObject = new JSONObject(new String(arg2)); 1262 JSONObject jsonObject = new JSONObject(new String(arg2));
1188 int status = jsonObject.optInt("status"); 1263 int status = jsonObject.optInt("status");
1189 if (status == 1) { 1264 if (status == 1) {
1190 AlertUtils.showToast(mContext, "主账号切换成功!"); 1265 AlertUtils.showToast(mContext, "主账号切换成功!");
1191 ((Activity) mContext).finish(); 1266 ((Activity) mContext).finish();
1192 1267
1193 } else { 1268 } else {
1194 AlertUtils.showToast(mContext, "你好,主账号切换失败!"); 1269 AlertUtils.showToast(mContext, "你好,主账号切换失败!");
1195 1270
1196 } 1271 }
1197 } catch (JSONException e) { 1272 } catch (JSONException e) {
1198 e.printStackTrace(); 1273 e.printStackTrace();
1199 } 1274 }
1200 1275
1201 } 1276 }
1202 1277
1203 @Override 1278 @Override
1204 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1279 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1205 closeProgress(); 1280 closeProgress();
1206 // Log.e("test", "错误信息" + new String(arg2)); 1281 // Log.e("test", "错误信息" + new String(arg2));
1207 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1282 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1208 } 1283 }
1209 }); 1284 });
1210 1285
1211 } 1286 }
1212 1287
1213 /** 1288 /**
1214 * 头像拍张 1289 * 头像拍张
1215 * 1290 *
1216 * @param mContext 1291 * @param mContext
1217 * @param userId 1292 * @param userId
1218 * @param img 1293 * @param img
1219 * @throws UnsupportedEncodingException 1294 * @throws UnsupportedEncodingException
1220 */ 1295 */
1221 public void header(final Context mContext, String userId, String type, String img, final Handler handler) throws UnsupportedEncodingException { 1296 public void header(final Context mContext, String userId, String type, String img, final Handler handler) throws UnsupportedEncodingException {
1222 1297
1223 File file = new File(img); 1298 File file = new File(img);
1224 if (file.exists() && file.length() > 0) { 1299 if (file.exists() && file.length() > 0) {
1225 RequestParams params = new RequestParams(); 1300 RequestParams params = new RequestParams();
1226 try { 1301 try {
1227 params.put("userId", userId); 1302 params.put("userId", userId);
1228 params.put("type", type); 1303 params.put("type", type);
1229 params.put("img", file); 1304 params.put("img", file);
1230 } catch (FileNotFoundException e) { 1305 } catch (FileNotFoundException e) {
1231 e.printStackTrace(); 1306 e.printStackTrace();
1232 } 1307 }
1233 Log.e("test", "params" + params); 1308 Log.e("test", "params" + params);
1234 HttpClient.getInstance().setTimeout(5 * 1000); 1309 HttpClient.getInstance().setTimeout(5 * 1000);
1235 HttpClient.getInstance().post(HttpUrl.headerURL, params, new AsyncHttpResponseHandler() { 1310 HttpClient.getInstance().post(HttpUrl.headerURL, params, new AsyncHttpResponseHandler() {
1236 @Override 1311 @Override
1237 public void onSuccess(int i, Header[] headers, byte[] bytes) { 1312 public void onSuccess(int i, Header[] headers, byte[] bytes) {
1238 // Log.e("test", "onSuccess" + new String(bytes)); 1313 // Log.e("test", "onSuccess" + new String(bytes));
1239 try { 1314 try {
1240 JSONObject jsonObject = new JSONObject(new String(bytes)); 1315 JSONObject jsonObject = new JSONObject(new String(bytes));
1241 String status = jsonObject.optString("status"); 1316 String status = jsonObject.optString("status");
1242 JSONObject jsonObject1 = jsonObject.getJSONObject("data"); 1317 JSONObject jsonObject1 = jsonObject.getJSONObject("data");
1243 String imagUrl = jsonObject1.optString("imgUrl"); 1318 String imagUrl = jsonObject1.optString("imgUrl");
1244 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.HEADURL, imagUrl); 1319 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.HEADURL, imagUrl);
1245 if (status.equals("1")) { 1320 if (status.equals("1")) {
1246 Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show(); 1321 Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show();
1247 SaveParam.getInstance().saveLoginParam(mContext,SaveParam.PORTAIT,imagUrl); 1322 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.PORTAIT, imagUrl);
1248 Message msg = Message.obtain(); 1323 Message msg = Message.obtain();
1249 msg.what = HttpCode.TOUXIANG; 1324 msg.what = HttpCode.TOUXIANG;
1250 msg.obj = status; 1325 msg.obj = status;
1251 handler.sendMessage(msg); 1326 handler.sendMessage(msg);
1252 } else { 1327 } else {
1253 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); 1328 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试");
1254 } 1329 }
1255 } catch (JSONException e) { 1330 } catch (JSONException e) {
1256 e.printStackTrace(); 1331 e.printStackTrace();
1257 } 1332 }
1258 } 1333 }
1259 1334
1260 @Override 1335 @Override
1261 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 1336 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
1262 closeProgress(); 1337 closeProgress();
1263 // Log.e("test", "错误信息" + new String(bytes)); 1338 // Log.e("test", "错误信息" + new String(bytes));
1264 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1339 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1265 1340
1266 } 1341 }
1267 }); 1342 });
1268 } else { 1343 } else {
1269 Toast.makeText(mContext, "文件不存在", Toast.LENGTH_LONG).show(); 1344 Toast.makeText(mContext, "文件不存在", Toast.LENGTH_LONG).show();
1270 } 1345 }
1271 } 1346 }
1272 1347
1273 /** 1348 /**
1274 * 头像默认 1349 * 头像默认
1275 * 1350 *
1276 * @param mContext 1351 * @param mContext
1277 * @param userId 1352 * @param userId
1278 * @param 1353 * @param
1279 * @throws UnsupportedEncodingException 1354 * @throws UnsupportedEncodingException
1280 */ 1355 */
1281 public void headerdeft(final Context mContext, String userId, String type, String defaultImg) throws UnsupportedEncodingException { 1356 public void headerdeft(final Context mContext, String userId, String type, String defaultImg) throws UnsupportedEncodingException {
1282 RequestParams params = new RequestParams(); 1357 RequestParams params = new RequestParams();
1283 params.put("userId", userId); 1358 params.put("userId", userId);
1284 params.put("type", type); 1359 params.put("type", type);
1285 params.put("defaultImg", defaultImg); 1360 params.put("defaultImg", defaultImg);
1286 Log.e("test", "params" + params); 1361 Log.e("test", "params" + params);
1287 HttpClient.getInstance().setTimeout(5 * 1000); 1362 HttpClient.getInstance().setTimeout(5 * 1000);
1288 HttpClient.getInstance().post(HttpUrl.headerdefaultURL, params, new AsyncHttpResponseHandler() { 1363 HttpClient.getInstance().post(HttpUrl.headerdefaultURL, params, new AsyncHttpResponseHandler() {
1289 @Override 1364 @Override
1290 public void onSuccess(int i, Header[] headers, byte[] bytes) { 1365 public void onSuccess(int i, Header[] headers, byte[] bytes) {
1291 //Log.e("test", "onSuccess" + new String(bytes)); 1366 //Log.e("test", "onSuccess" + new String(bytes));
1292 try { 1367 try {
1293 JSONObject jsonObject = new JSONObject(new String(bytes)); 1368 JSONObject jsonObject = new JSONObject(new String(bytes));
1294 String status = jsonObject.optString("status"); 1369 String status = jsonObject.optString("status");
1295 JSONObject jsonObject1 = jsonObject.getJSONObject("data"); 1370 JSONObject jsonObject1 = jsonObject.getJSONObject("data");
1296 String imagUrl = jsonObject1.optString("imgUrl"); 1371 String imagUrl = jsonObject1.optString("imgUrl");
1297 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.HEADURL, imagUrl); 1372 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.HEADURL, imagUrl);
1298 if (status.equals("1")) { 1373 if (status.equals("1")) {
1299 Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show(); 1374 Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show();
1300 SaveParam.getInstance().saveLoginParam(mContext,SaveParam.PORTAIT,imagUrl); 1375 SaveParam.getInstance().saveLoginParam(mContext, SaveParam.PORTAIT, imagUrl);
1301 } else { 1376 } else {
1302 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); 1377 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试");
1303 } 1378 }
1304 } catch (JSONException e) { 1379 } catch (JSONException e) {
1305 e.printStackTrace(); 1380 e.printStackTrace();
1306 } 1381 }
1307 } 1382 }
1308 1383
1309 @Override 1384 @Override
1310 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { 1385 public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) {
1311 closeProgress(); 1386 closeProgress();
1312 //.e("test", "错误信息" + new String(bytes)); 1387 //.e("test", "错误信息" + new String(bytes));
1313 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1388 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1314 1389
1315 } 1390 }
1316 }); 1391 });
1317 } 1392 }
1318 1393
1319 /** 1394 /**
1320 * 检查注册信息是否完整 1395 * 检查注册信息是否完整
1321 * 1396 *
1322 * @param mContext 1397 * @param mContext
1323 * @param userId 1398 * @param userId
1324 */ 1399 */
1325 public void registerinfocheck(final Context mContext, long userId, final Handler handler) { 1400 public void registerinfocheck(final Context mContext, long userId, final Handler handler) {
1326 mProgress = DialogPermission.showProgress(mContext, null, "正在检查注册信息是否完整...", 1401 mProgress = DialogPermission.showProgress(mContext, null, "正在检查注册信息是否完整...",
1327 false, true, null); 1402 false, true, null);
1328 HttpClient.getInstance().setTimeout(5 * 1000); 1403 HttpClient.getInstance().setTimeout(5 * 1000);
1329 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1404 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1330 HttpClient.getInstance().get(HttpUrl.isRegisterInfoCompleteURL + "?userId=" + userId, new AsyncHttpResponseHandler() { 1405 HttpClient.getInstance().get(HttpUrl.isRegisterInfoCompleteURL + "?userId=" + userId, new AsyncHttpResponseHandler() {
1331 @Override 1406 @Override
1332 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1407 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1333 closeProgress(); 1408 closeProgress();
1334 //Log.e("test", "注册信息" + new String(arg2)); 1409 //Log.e("test", "注册信息" + new String(arg2));
1335 Message msg = Message.obtain(); 1410 Message msg = Message.obtain();
1336 msg.what = HttpCode.REGISTER_SUCESS; 1411 msg.what = HttpCode.REGISTER_SUCESS;
1337 msg.obj = new String(arg2); 1412 msg.obj = new String(arg2);
1338 handler.sendMessage(msg); 1413 handler.sendMessage(msg);
1339 1414
1340 } 1415 }
1341 1416
1342 @Override 1417 @Override
1343 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1418 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1344 closeProgress(); 1419 closeProgress();
1345 // Log.e("test", "错误信息" + new String(arg2)); 1420 // Log.e("test", "错误信息" + new String(arg2));
1346 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1421 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1347 1422
1348 } 1423 }
1349 }); 1424 });
1350 1425
1351 } 1426 }
1352 1427
1353 /** 1428 /**
1354 * 获取最近学习视频 1429 * 获取最近学习视频
1355 * 1430 *
1356 * @param mContext 1431 * @param mContext
1357 * @param userId 1432 * @param userId
1358 */ 1433 */
1359 public void getstuyvidioinfo(final Context mContext, Object userId, final Handler handler) { 1434 public void getstuyvidioinfo(final Context mContext, Object userId, final Handler handler) {
1360 mProgress = DialogPermission.showProgress(mContext, null, "正在获取最近学习视频...", 1435 mProgress = DialogPermission.showProgress(mContext, null, "正在获取最近学习视频...",
1361 false, true, null); 1436 false, true, null);
1362 HttpClient.getInstance().setTimeout(5 * 1000); 1437 HttpClient.getInstance().setTimeout(5 * 1000);
1363 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1438 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1364 HttpClient.getInstance().get(HttpUrl.getvidioURL + "?userId=" + userId, new AsyncHttpResponseHandler() { 1439 HttpClient.getInstance().get(HttpUrl.getvidioURL + "?userId=" + userId, new AsyncHttpResponseHandler() {
1365 @Override 1440 @Override
1366 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1441 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1367 closeProgress(); 1442 closeProgress();
1368 //Log.e("test", "近学习视频" + new String(arg2)); 1443 //Log.e("test", "近学习视频" + new String(arg2));
1369 try { 1444 try {
1370 JSONObject jsonObject = new JSONObject(new String(arg2)); 1445 JSONObject jsonObject = new JSONObject(new String(arg2));
1371 int status = jsonObject.optInt("status"); 1446 int status = jsonObject.optInt("status");
1372 if (status == 1) { 1447 if (status == 1) {
1373 VideoInfo videoInfo = GsonTool.getPerson(new String(arg2), VideoInfo.class);//解析json数据 1448 VideoInfo videoInfo = GsonTool.getPerson(new String(arg2), VideoInfo.class);//解析json数据
1374 List<VideoInfo.DataBean> schoolInfoBeanList = videoInfo.getData(); 1449 List<VideoInfo.DataBean> schoolInfoBeanList = videoInfo.getData();
1375 Message msg = Message.obtain(); 1450 Message msg = Message.obtain();
1376 msg.what = HttpCode.GETVIDIO_SUCESS; 1451 msg.what = HttpCode.GETVIDIO_SUCESS;
1377 msg.obj = schoolInfoBeanList; 1452 msg.obj = schoolInfoBeanList;
1378 handler.sendMessage(msg); 1453 handler.sendMessage(msg);
1379 1454
1380 } else if (status == 1000){ 1455 } else if (status == 1000) {
1381 //AlertUtils.showToast(mContext, "暂无最近学习视频!"); 1456 //AlertUtils.showToast(mContext, "暂无最近学习视频!");
1382 1457
1383 }else { 1458 } else {
1384 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1459 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1385 } 1460 }
1386 } catch (JSONException e) { 1461 } catch (JSONException e) {
1387 e.printStackTrace(); 1462 e.printStackTrace();
1388 1463
1389 } 1464 }
1390 1465
1391 } 1466 }
1392 1467
1393 @Override 1468 @Override
1394 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1469 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1395 closeProgress(); 1470 closeProgress();
1396 // Log.e("test", "错误信息" + new String(arg2)); 1471 // Log.e("test", "错误信息" + new String(arg2));
1397 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1472 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1398 1473
1399 } 1474 }
1400 }); 1475 });
1401 1476
1402 } 1477 }
1403 1478
1404 1479
1405 /** 1480 /**
1406 * 系统升级 1481 * 系统升级
1407 * 1482 *
1408 * @param mContext 1483 * @param mContext
1409 * @param pid appName 1484 * @param pid appName
1410 */ 1485 */
1411 public void updateAPP(final Context mContext, String pid, String appName, final Handler handler) { 1486 public void updateAPP(final Context mContext, String pid, String appName, final Handler handler) {
1412 // mProgress = DialogPermission.showProgress(mContext, null, "正在检测是否升级版本...", 1487 // mProgress = DialogPermission.showProgress(mContext, null, "正在检测是否升级版本...",
1413 // false, true, null); 1488 // false, true, null);
1414 HttpClient.getInstance().setTimeout(5 * 1000); 1489 HttpClient.getInstance().setTimeout(5 * 1000);
1415 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1490 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1416 HttpClient.getInstance().get(HttpUrl.updateappURL + "?pid=" + pid + "&appName=" + appName, new AsyncHttpResponseHandler() { 1491 HttpClient.getInstance().get(HttpUrl.updateappURL + "?pid=" + pid + "&appName=" + appName, new AsyncHttpResponseHandler() {
1417 @Override 1492 @Override
1418 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1493 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1419 //closeProgress(); 1494 //closeProgress();
1420 // Log.e("test", "版本升级信息" + new String(arg2)); 1495 // Log.e("test", "版本升级信息" + new String(arg2));
1421 Gson gson = new Gson(); 1496 Gson gson = new Gson();
1422 List<AppVersion> applist = gson.fromJson(new String(arg2), 1497 List<AppVersion> applist = gson.fromJson(new String(arg2),
1423 new TypeToken<List<AppVersion>>() {}.getType()); 1498 new TypeToken<List<AppVersion>>() {
1424 Log.e("test", "版本升级信息" + applist); 1499 }.getType());
1425 Message msg = Message.obtain(); 1500 Log.e("test", "版本升级信息" + applist);
1426 msg.what = HttpCode.APPUPDATE_SUCESS; 1501 Message msg = Message.obtain();
1427 msg.obj = applist; 1502 msg.what = HttpCode.APPUPDATE_SUCESS;
1428 handler.sendMessage(msg); 1503 msg.obj = applist;
1429 1504 handler.sendMessage(msg);
1430 1505
1431 1506
1432 } 1507 }
1433 1508
1434 @Override 1509 @Override
1435 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1510 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1436 //closeProgress(); 1511 //closeProgress();
1437 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1512 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1438 } 1513 }
1439 }); 1514 });
1440 1515
1441 } 1516 }
1442 1517
1443 //版本信息 1518 //版本信息
1444 public void versioninfo(final Context mContext, String subjectName, final Handler handler) { 1519 public void versioninfo(final Context mContext, String subjectName, final Handler handler) {
1445 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1520 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1446 HttpClient.getInstance().get(HttpUrl.getversionURL + "?subjectName=" + subjectName, new AsyncHttpResponseHandler() { 1521 HttpClient.getInstance().get(HttpUrl.getversionURL + "?subjectName=" + subjectName, new AsyncHttpResponseHandler() {
1447 @Override 1522 @Override
1448 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1523 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1449 //Log.e("test", "版本信息" + new String(arg2)); 1524 //Log.e("test", "版本信息" + new String(arg2));
1450 try { 1525 try {
1451 JSONObject jsonObject = new JSONObject(new String(arg2)); 1526 JSONObject jsonObject = new JSONObject(new String(arg2));
1452 int status = jsonObject.optInt("status"); 1527 int status = jsonObject.optInt("status");
1453 if (status == 1) { 1528 if (status == 1) {
1454 VersionInfo versionInfo = GsonTool.getPerson(new String(arg2), VersionInfo.class);//解析json数据 1529 VersionInfo versionInfo = GsonTool.getPerson(new String(arg2), VersionInfo.class);//解析json数据
1455 List<VersionInfo.DataBean> versionInfoList = versionInfo.getData(); 1530 List<VersionInfo.DataBean> versionInfoList = versionInfo.getData();
1456 Message message = Message.obtain(); 1531 Message message = Message.obtain();
1457 message.what = HttpCode.VERSION_SUCESS; 1532 message.what = HttpCode.VERSION_SUCESS;
1458 message.obj = versionInfoList; 1533 message.obj = versionInfoList;
1459 handler.sendMessage(message); 1534 handler.sendMessage(message);
1460 1535
1461 } else if (status == 1000) { 1536 } else if (status == 1000) {
1462 AlertUtils.showToast(mContext, "你好,该科目没有版本信息"); 1537 AlertUtils.showToast(mContext, "你好,该科目没有版本信息");
1463 1538
1464 } else { 1539 } else {
1465 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 1540 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
1466 } 1541 }
1467 } catch (JSONException e) { 1542 } catch (JSONException e) {
1468 e.printStackTrace(); 1543 e.printStackTrace();
1469 } 1544 }
1470 1545
1471 1546
1472 } 1547 }
1473 1548
1474 @Override 1549 @Override
1475 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1550 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1476 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1551 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1477 } 1552 }
1478 }); 1553 });
1479 } 1554 }
1480 1555
1481 1556
1482 ///省级接口 1557 ///省级接口
1483 public void provices(final Context mContext, final Handler handler) { 1558 public void provices(final Context mContext, final Handler handler) {
1484 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1559 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1485 HttpClient.getInstance().get(HttpUrl.provinceUrl, new AsyncHttpResponseHandler() { 1560 HttpClient.getInstance().get(HttpUrl.provinceUrl, new AsyncHttpResponseHandler() {
1486 @Override 1561 @Override
1487 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1562 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1488 // Log.e("test", "省" + new String(arg2)); 1563 // Log.e("test", "省" + new String(arg2));
1489 try { 1564 try {
1490 JSONObject jsonObject = new JSONObject(new String(arg2)); 1565 JSONObject jsonObject = new JSONObject(new String(arg2));
1491 int status = jsonObject.optInt("status"); 1566 int status = jsonObject.optInt("status");
1492 if (status == 100) { 1567 if (status == 100) {
1493 ProvinceInfo provinceInfo = GsonTool.getPerson(new String(arg2), ProvinceInfo.class);//解析json数据 1568 ProvinceInfo provinceInfo = GsonTool.getPerson(new String(arg2), ProvinceInfo.class);//解析json数据
1494 Log.e("test", "状态码" + provinceInfo.getStatus()); 1569 Log.e("test", "状态码" + provinceInfo.getStatus());
1495 List<ProvinceInfo.ProvincesBean> provincesBeanList = provinceInfo.getProvinces(); 1570 List<ProvinceInfo.ProvincesBean> provincesBeanList = provinceInfo.getProvinces();
1496 Message message = Message.obtain(); 1571 Message message = Message.obtain();
1497 message.what = HttpCode.PROVICES; 1572 message.what = HttpCode.PROVICES;
1498 message.obj = provincesBeanList; 1573 message.obj = provincesBeanList;
1499 handler.sendMessage(message); 1574 handler.sendMessage(message);
1500 1575
1501 1576
1502 } else { 1577 } else {
1503 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 1578 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
1504 1579
1505 } 1580 }
1506 } catch (JSONException e) { 1581 } catch (JSONException e) {
1507 e.printStackTrace(); 1582 e.printStackTrace();
1508 } 1583 }
1509 1584
1510 1585
1511 } 1586 }
1512 1587
1513 @Override 1588 @Override
1514 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1589 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1515 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1590 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1516 } 1591 }
1517 }); 1592 });
1518 } 1593 }
1519 1594
1520 //获取版本信息接口 1595 //获取版本信息接口
1521 public void getpublishinfo(final Context mContext, Object userId, int gradeId, int type, final Handler handler) { 1596 public void getpublishinfo(final Context mContext, Object userId, int gradeId, int type, final Handler handler) {
1522 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1597 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1523 HttpClient.getInstance().get(HttpUrl.getpublishURL + "?userId=" + userId + "&gradeId=" + gradeId + "&type=" + type, new AsyncHttpResponseHandler() { 1598 HttpClient.getInstance().get(HttpUrl.getpublishURL + "?userId=" + userId + "&gradeId=" + gradeId + "&type=" + type, new AsyncHttpResponseHandler() {
1524 @Override 1599 @Override
1525 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1600 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1526 // Log.e("test", "获取版本信息接口" + new String(arg2)); 1601 // Log.e("test", "获取版本信息接口" + new String(arg2));
1527 try { 1602 try {
1528 JSONObject jsonObject = new JSONObject(new String(arg2)); 1603 JSONObject jsonObject = new JSONObject(new String(arg2));
1529 int status = jsonObject.optInt("status"); 1604 int status = jsonObject.optInt("status");
1530 if (status == 1) { 1605 if (status == 1) {
1531 Gson gson = new Gson(); 1606 Gson gson = new Gson();
1532 DefautPublishInfo defautPublishInfo = gson.fromJson(new String(arg2), DefautPublishInfo.class); 1607 DefautPublishInfo defautPublishInfo = gson.fromJson(new String(arg2), DefautPublishInfo.class);
1533 List<DefautPublishInfo.DataBean> defautPublishInfoBeanList = defautPublishInfo.getData(); 1608 List<DefautPublishInfo.DataBean> defautPublishInfoBeanList = defautPublishInfo.getData();
1534 Message message = Message.obtain(); 1609 Message message = Message.obtain();
1535 message.what = HttpCode.PUBLISH_SUCESS; 1610 message.what = HttpCode.PUBLISH_SUCESS;
1536 message.obj = defautPublishInfoBeanList; 1611 message.obj = defautPublishInfoBeanList;
1537 handler.sendMessage(message); 1612 handler.sendMessage(message);
1538 1613
1539 } else { 1614 } else {
1540 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 1615 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
1541 1616
1542 } 1617 }
1543 } catch (JSONException e) { 1618 } catch (JSONException e) {
1544 e.printStackTrace(); 1619 e.printStackTrace();
1545 } 1620 }
1546 1621
1547 1622
1548 } 1623 }
1549 1624
1550 @Override 1625 @Override
1551 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1626 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1552 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1627 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1553 } 1628 }
1554 }); 1629 });
1555 } 1630 }
1556 1631
1557 1632
1558 //市级接口 1633 //市级接口
1559 public void cityinfo(final Context mContext, long regionId, final Handler handler) { 1634 public void cityinfo(final Context mContext, long regionId, final Handler handler) {
1560 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1635 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1561 HttpClient.getInstance().get(HttpUrl.cityUrl + "?regionId=" + regionId, new AsyncHttpResponseHandler() { 1636 HttpClient.getInstance().get(HttpUrl.cityUrl + "?regionId=" + regionId, new AsyncHttpResponseHandler() {
1562 @Override 1637 @Override
1563 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1638 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1564 // Log.e("test", "市" + new String(arg2)); 1639 // Log.e("test", "市" + new String(arg2));
1565 try { 1640 try {
1566 JSONObject jsonObject = new JSONObject(new String(arg2)); 1641 JSONObject jsonObject = new JSONObject(new String(arg2));
1567 int status = jsonObject.optInt("status"); 1642 int status = jsonObject.optInt("status");
1568 if (status == 100) { 1643 if (status == 100) {
1569 Gson gson = new Gson(); 1644 Gson gson = new Gson();
1570 CityInfo cityInfo = gson.fromJson(new String(arg2), CityInfo.class); 1645 CityInfo cityInfo = gson.fromJson(new String(arg2), CityInfo.class);
1571 List<CityInfo.CitiesBean> cityInfoBeanList = cityInfo.getCities(); 1646 List<CityInfo.CitiesBean> cityInfoBeanList = cityInfo.getCities();
1572 Message message = Message.obtain(); 1647 Message message = Message.obtain();
1573 message.what = HttpCode.CITYS; 1648 message.what = HttpCode.CITYS;
1574 message.obj = cityInfoBeanList; 1649 message.obj = cityInfoBeanList;
1575 handler.sendMessage(message); 1650 handler.sendMessage(message);
1576 1651
1577 } else { 1652 } else {
1578 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 1653 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
1579 1654
1580 } 1655 }
1581 } catch (JSONException e) { 1656 } catch (JSONException e) {
1582 e.printStackTrace(); 1657 e.printStackTrace();
1583 } 1658 }
1584 1659
1585 1660
1586 } 1661 }
1587 1662
1588 @Override 1663 @Override
1589 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1664 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1590 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1665 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1591 } 1666 }
1592 }); 1667 });
1593 } 1668 }
1594 1669
1595 //区县级接口 1670 //区县级接口
1596 public void countyinfo(final Context mContext, int parentId, final Handler handler) { 1671 public void countyinfo(final Context mContext, int parentId, final Handler handler) {
1597 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); 1672 HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
1598 HttpClient.getInstance().get(HttpUrl.countyUrl + "?regionId=" + parentId, new AsyncHttpResponseHandler() { 1673 HttpClient.getInstance().get(HttpUrl.countyUrl + "?regionId=" + parentId, new AsyncHttpResponseHandler() {
1599 @Override 1674 @Override
1600 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { 1675 public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
1601 // Log.e("test", "区" + new String(arg2)); 1676 // Log.e("test", "区" + new String(arg2));
1602 try { 1677 try {
1603 JSONObject jsonObject = new JSONObject(new String(arg2)); 1678 JSONObject jsonObject = new JSONObject(new String(arg2));
1604 int status = jsonObject.optInt("status"); 1679 int status = jsonObject.optInt("status");
1605 if (status == 100) { 1680 if (status == 100) {
1606 Gson gson = new Gson(); 1681 Gson gson = new Gson();
1607 CountyInfo countyInfo = gson.fromJson(new String(arg2), CountyInfo.class); 1682 CountyInfo countyInfo = gson.fromJson(new String(arg2), CountyInfo.class);
1608 List<CountyInfo.CountiesBean> countyInfoInfoBeanList = countyInfo.getCounties(); 1683 List<CountyInfo.CountiesBean> countyInfoInfoBeanList = countyInfo.getCounties();
1609 Message message = Message.obtain(); 1684 Message message = Message.obtain();
1610 message.what = HttpCode.COUNTRY; 1685 message.what = HttpCode.COUNTRY;
1611 message.obj = countyInfoInfoBeanList; 1686 message.obj = countyInfoInfoBeanList;
1612 handler.sendMessage(message); 1687 handler.sendMessage(message);
1613 } else { 1688 } else {
1614 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); 1689 AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!");
1615 1690
1616 } 1691 }
1617 } catch (JSONException e) { 1692 } catch (JSONException e) {
1618 e.printStackTrace(); 1693 e.printStackTrace();
1619 } 1694 }
1620 1695
1621 1696
1622 } 1697 }
1623 1698
1624 @Override 1699 @Override
1625 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { 1700 public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
1626 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); 1701 AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!");
1627 } 1702 }
1628 }); 1703 });
1629 } 1704 }
1630 1705
1631 1706
1632 private void closeProgress() { 1707 private void closeProgress() {
1633 try { 1708 try {
1634 if (mProgress != null) { 1709 if (mProgress != null) {
1635 mProgress.dismiss(); 1710 mProgress.dismiss();
1636 mProgress = null; 1711 mProgress = null;
1637 } 1712 }
1638 } catch (Exception e) { 1713 } catch (Exception e) {
1639 e.printStackTrace(); 1714 e.printStackTrace();
1640 } 1715 }
1641 } 1716 }
1642 1717
1643 public boolean onKeyDown(int keyCode, KeyEvent event) { 1718 public boolean onKeyDown(int keyCode, KeyEvent event) {
1644 if (keyCode == KeyEvent.KEYCODE_BACK) { 1719 if (keyCode == KeyEvent.KEYCODE_BACK) {
1645 1720
1646 HttpManager.getInstance().closeProgress(); 1721 HttpManager.getInstance().closeProgress();
1647 } 1722 }
1648 1723
1649 return false; 1724 return false;
1650 1725
1651 } 1726 }
1652 1727
1653 } 1728 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/http/HttpUrl.java
1 package com.hjx.personalcenter.http; 1 package com.hjx.personalcenter.http;
2 2
3 import com.hjx.personalcenter.BuildConfig; 3 import com.hjx.personalcenter.BuildConfig;
4 4
5 /** 5 /**
6 * Created by h on 2017/8/15. 6 * Created by h on 2017/8/15.
7 */ 7 */
8 8
9 public class HttpUrl { 9 public class HttpUrl {
10 private final static String Enviroment = "DEVELOPMENT"; 10 private final static String Enviroment = "DEVELOPMENT";
11 //BuildConfig.BUILD_TYPE.equals("release") ? "http://boss.hjx.com" : "http://boss.test.hjx.com" ; 11 //BuildConfig.BUILD_TYPE.equals("release") ? "http://boss.hjx.com" : "http://boss.test.hjx.com" ;
12 public static String GetDomain(){ 12 public static String GetDomain(){
13 return BuildConfig.BUILD_TYPE.equals("release") ? "http://boss.hjx.com" : "http://boss.test.hjx.com" ; 13 return BuildConfig.BUILD_TYPE.equals("release") ? "http://boss.hjx.com" : "http://boss.test.hjx.com" ;
14 // return "http://boss.hjx.com" ;
14 } 15 }
15 16
16 public static String loginUrl = GetDomain()+"/user/access_token";//登录 17 public static String loginUrl = GetDomain()+"/user/access_token";//登录
17 public static String schoolUrl = GetDomain()+"/school/get";//学校 18 public static String schoolUrl = GetDomain()+"/school/get";//学校
18 public static String gradesUrl = GetDomain()+"/grades";//年级 19 public static String gradesUrl = GetDomain()+"/grades";//年级
19 public static String provinceUrl = GetDomain()+"/ozing/provinces";//省 20 public static String provinceUrl = GetDomain()+"/ozing/provinces";//省
20 public static String cityUrl = GetDomain()+"/ozing/cities";//市 21 public static String cityUrl = GetDomain()+"/ozing/cities";//市
21 public static String countyUrl = GetDomain()+"/ozing/counties";//区县 22 public static String countyUrl = GetDomain()+"/ozing/counties";//区县
22 public static String forgetpassword=GetDomain()+"/ozing/timer/user/newpassword";//忘记密码/ 23 public static String forgetpassword=GetDomain()+"/ozing/timer/user/newpassword";//忘记密码/
23 public static String registeredUrl=GetDomain()+"/ozing/timer/anking/user";//注册 24 public static String registeredUrl=GetDomain()+"/ozing/timer/anking/user";//注册
24 public static String authCodedUrl=GetDomain()+"/ozing/timer/user/fetchAuthCode";//验证码 25 public static String authCodedUrl=GetDomain()+"/ozing/timer/user/fetchAuthCode";//验证码
25 public static String isRegiterUrl=GetDomain()+"/ozing/timer/user/registered";//手机号是否注册 26 public static String isRegiterUrl=GetDomain()+"/ozing/timer/user/registered";//手机号是否注册
26 public static String changepassword=GetDomain()+"/ozing/timer/user/changepassword";//修改密码 27 public static String changepassword=GetDomain()+"/ozing/timer/user/changepassword";//修改密码
27 public static String subcardinfo=GetDomain()+"/electronicCard/addCustomer";//提交保卡信息 28 public static String subcardinfo=GetDomain()+"/electronicCard/addCustomer";//提交保卡信息
28 public static String getcardinfo=GetDomain()+"/electronicCard/info";//得到保卡信息 29 public static String getcardinfo=GetDomain()+"/electronicCard/info";//得到保卡信息
29 public static String changecardinfo=GetDomain()+"/electronicCard/updateByUserId";//修改保卡信息 30 public static String changecardinfo=GetDomain()+"/electronicCard/updateByUserId";//修改保卡信息
30 public static String cardcheck=GetDomain()+"/electronicCard/check";//检查保卡是否填写 31 public static String cardcheck=GetDomain()+"/electronicCard/check";//检查保卡是否填写
31 public static String changepresonalinfo=GetDomain()+"/personal/update";//修改个人信息 32 public static String changepresonalinfo=GetDomain()+"/personal/update";//修改个人信息
32 public static String getpresonalinfo=GetDomain()+"/personal/get";//获取个人信息 33 public static String getpresonalinfo=GetDomain()+"/personal/get";//获取个人信息
33 public static String signature=GetDomain()+"/signature/addOrUpdateSignature";//修改个性签名 34 public static String signature=GetDomain()+"/signature/addOrUpdateSignature";//修改个性签名
34 public static String getsignature=GetDomain()+"/signature/info";//获取个性签名 35 public static String getsignature=GetDomain()+"/signature/info";//获取个性签名
35 public static String feedbackURL=GetDomain()+"/feedback/add";//用户反馈 36 public static String feedbackURL=GetDomain()+"/feedback/add";//用户反馈
36 public static String childUserURL=GetDomain()+"/childUser/info";//获取子账户信息 37 public static String childUserURL=GetDomain()+"/childUser/info";//获取子账户信息
37 public static String deletechildUserURL=GetDomain()+"/childUser/delete";//删除子账户 38 public static String deletechildUserURL=GetDomain()+"/childUser/delete";//删除子账户
38 public static String addchildUserURL=GetDomain()+"/childUser/addChildUser";//添加子账户 39 public static String addchildUserURL=GetDomain()+"/childUser/addChildUser";//添加子账户
39 public static String changechildUserURL=GetDomain()+"/childUser/update";//切换子账户 40 public static String changechildUserURL=GetDomain()+"/childUser/update";//切换子账户
40 public static String updateappURL=GetDomain()+"/general/release/version";//系统升级 41 public static String updateappURL=GetDomain()+"/general/release/version";//系统升级
41 public static String headerURL=GetDomain()+"/profile/picture/update";//头像上传 42 public static String headerURL=GetDomain()+"/profile/picture/update";//头像上传
42 public static String headerdefaultURL=GetDomain()+"/profile/picture/default";//默认头像上传 43 public static String headerdefaultURL=GetDomain()+"/profile/picture/default";//默认头像上传
43 public static String getversionURL=GetDomain()+"/press/list";//获取版本信息 44 public static String getversionURL=GetDomain()+"/press/list";//获取版本信息
44 public static String isRegisterInfoCompleteURL=GetDomain()+"/register/extrainfo/check";//注册信息是否完整 45 public static String isRegisterInfoCompleteURL=GetDomain()+"/register/extrainfo/check";//注册信息是否完整
45 public static String getpublishURL=GetDomain()+"/userPress/info";//获取版本信息 46 public static String getpublishURL=GetDomain()+"/userPress/info";//获取版本信息
46 public static String getvidioURL=GetDomain()+"/personal/video/recent";//获取最近学习视频 47 public static String getvidioURL=GetDomain()+"/personal/video/recent";//获取最近学习视频
47 public static String submitregisterURL=GetDomain()+"/register/extrainfo/submit";//提交注册信息 48 public static String submitregisterURL=GetDomain()+"/register/extrainfo/submit";//提交注册信息
48 public static String chagepublishURL=GetDomain()+"/userPress/update";//修改版本信息 49 public static String chagepublishURL=GetDomain()+"/userPress/update";//修改版本信息
49 public static String chageaccountphoneURL=GetDomain()+"/electronicCard/updateUserNameByUserId";//修改账户绑定 50 public static String chageaccountphoneURL=GetDomain()+"/electronicCard/updateUserNameByUserId";//修改账户绑定
51 public static String submitEcardURL=GetDomain()+"/ecard/submit";//修改账户绑定
52 public static String getSalesInfo=GetDomain()+"/electronicCard/check/salesman";//获取营业员信息
50 53
51 54
52 55
53 56
54 57
55 58
56 } 59 }
57 60
PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/PesonalInfo.java
1 package com.hjx.personalcenter.model; 1 package com.hjx.personalcenter.model;
2 2
3 import java.io.Serializable; 3 import java.io.Serializable;
4 4
5 /** 5 /**
6 * Created by h on 2017/8/22. 6 * Created by h on 2017/8/22.
7 */ 7 */
8 8
9 public class PesonalInfo implements Serializable{ 9 public class PesonalInfo implements Serializable{
10 10
11 /** 11 /**
12 * status : 1 12 * status : 1
13 * pageSize : 0 13 * pageSize : 0
14 * data : {"region":{"regionName":"闵行区","regionId":"310112"},"nickName":"1688kkkkkkkkk","gender":"female","school":{"schoolId":"499705","schoolName":"上海五中"},"grade":{"gradeName":"初中六年级","gradeId":"9"},"birthday":"2017-09-12","qq":"1666600"} 14 * data : {"region":{"regionName":"闵行区","regionId":"310112"},"nickName":"1688kkkkkkkkk","gender":"female","school":{"schoolId":"499705","schoolName":"上海五中"},"grade":{"gradeName":"初中六年级","gradeId":"9"},"birthday":"2017-09-12","qq":"1666600"}
15 * msg : success 15 * msg : success
16 * pageNum : 0 16 * pageNum : 0
17 */ 17 */
18 18
19 private int status; 19 private int status;
20 private int pageSize; 20 private int pageSize;
21 private DataBean data; 21 private DataBean data;
22 private String msg; 22 private String msg;
23 private int pageNum; 23 private int pageNum;
24 24
25 public int getStatus() { 25 public int getStatus() {
26 return status; 26 return status;
27 } 27 }
28 28
29 public void setStatus(int status) { 29 public void setStatus(int status) {
30 this.status = status; 30 this.status = status;
31 } 31 }
32 32
33 public int getPageSize() { 33 public int getPageSize() {
34 return pageSize; 34 return pageSize;
35 } 35 }
36 36
37 public void setPageSize(int pageSize) { 37 public void setPageSize(int pageSize) {
38 this.pageSize = pageSize; 38 this.pageSize = pageSize;
39 } 39 }
40 40
41 public DataBean getData() { 41 public DataBean getData() {
42 return data; 42 return data;
43 } 43 }
44 44
45 public void setData(DataBean data) { 45 public void setData(DataBean data) {
46 this.data = data; 46 this.data = data;
47 } 47 }
48 48
49 public String getMsg() { 49 public String getMsg() {
50 return msg; 50 return msg;
51 } 51 }
52 52
53 public void setMsg(String msg) { 53 public void setMsg(String msg) {
54 this.msg = msg; 54 this.msg = msg;
55 } 55 }
56 56
57 public int getPageNum() { 57 public int getPageNum() {
58 return pageNum; 58 return pageNum;
59 } 59 }
60 60
61 public void setPageNum(int pageNum) { 61 public void setPageNum(int pageNum) {
62 this.pageNum = pageNum; 62 this.pageNum = pageNum;
63 } 63 }
64 64
65 public static class DataBean { 65 public static class DataBean {
66 /** 66 /**
67 * region : {"regionName":"闵行区","regionId":"310112"} 67 * region : {"regionName":"闵行区","regionId":"310112"}
68 * nickName : 1688kkkkkkkkk 68 * nickName : 1688kkkkkkkkk
69 * gender : female 69 * gender : female
70 * school : {"schoolId":"499705","schoolName":"上海五中"} 70 * school : {"schoolId":"499705","schoolName":"上海五中"}
71 * grade : {"gradeName":"初中六年级","gradeId":"9"} 71 * grade : {"gradeName":"初中六年级","gradeId":"9"}
72 * birthday : 2017-09-12 72 * birthday : 2017-09-12
73 * qq : 1666600 73 * qq : 1666600
74 */ 74 */
75 75
76 private RegionBean region; 76 private RegionBean region;
77 private String nickName; 77 private String nickName;
78 private String gender; 78 private String gender;
79 79
80 public String getAddress() { 80 public String getAddress() {
81 return address; 81 return address;
82 } 82 }
83 83
84 public void setAddress(String address) { 84 public void setAddress(String address) {
85 this.address = address; 85 this.address = address;
86 } 86 }
87 87
88 private String address; 88 private String address;
89 private String realName;
89 private String portrait; 90 private String portrait;
90 private SchoolBean school; 91 private SchoolBean school;
91 private GradeBean grade; 92 private GradeBean grade;
92 private String birthday; 93 private String birthday;
93 private String qq; 94 private String qq;
94 public String getPortrait() { 95 public String getPortrait() {
95 return portrait; 96 return portrait;
96 } 97 }
97 98
98 public void setPortrait(String portrait) { 99 public void setPortrait(String portrait) {
99 this.portrait = portrait; 100 this.portrait = portrait;
100 } 101 }
101 public RegionBean getRegion() { 102 public RegionBean getRegion() {
102 return region; 103 return region;
103 } 104 }
104 105
105 public void setRegion(RegionBean region) { 106 public void setRegion(RegionBean region) {
106 this.region = region; 107 this.region = region;
107 } 108 }
108 109
109 public String getNickName() { 110 public String getNickName() {
110 return nickName; 111 return nickName;
111 } 112 }
112 113
113 public void setNickName(String nickName) { 114 public void setNickName(String nickName) {
114 this.nickName = nickName; 115 this.nickName = nickName;
115 } 116 }
116 117
117 public String getGender() { 118 public String getGender() {
118 return gender; 119 return gender;
119 } 120 }
120 121
121 public void setGender(String gender) { 122 public void setGender(String gender) {
122 this.gender = gender; 123 this.gender = gender;
123 } 124 }
124 125
125 public SchoolBean getSchool() { 126 public SchoolBean getSchool() {
126 return school; 127 return school;
127 } 128 }
128 129
129 public void setSchool(SchoolBean school) { 130 public void setSchool(SchoolBean school) {
130 this.school = school; 131 this.school = school;
131 } 132 }
132 133
133 public GradeBean getGrade() { 134 public GradeBean getGrade() {
134 return grade; 135 return grade;
135 } 136 }
136 137
137 public void setGrade(GradeBean grade) { 138 public void setGrade(GradeBean grade) {
138 this.grade = grade; 139 this.grade = grade;
139 } 140 }
140 141
141 public String getBirthday() { 142 public String getBirthday() {
142 return birthday; 143 return birthday;
143 } 144 }
144 145
145 public void setBirthday(String birthday) { 146 public void setBirthday(String birthday) {
146 this.birthday = birthday; 147 this.birthday = birthday;
147 } 148 }
148 149
149 public String getQq() { 150 public String getQq() {
150 return qq; 151 return qq;
151 } 152 }
152 153
153 public void setQq(String qq) { 154 public void setQq(String qq) {
154 this.qq = qq; 155 this.qq = qq;
155 } 156 }
156 157
158 public String getRealName() {
159 return realName;
160 }
161
162 public void setRealName(String realName) {
163 this.realName = realName;
164 }
165
157 public static class RegionBean { 166 public static class RegionBean {
158 /** 167 /**
159 * regionName : 闵行区 168 * regionName : 闵行区
160 * regionId : 310112 169 * regionId : 310112
161 */ 170 */
162 171
163 private String regionName; 172 private String regionName;
164 private String regionId; 173 private String regionId;
165 174
166 public String getRegionName() { 175 public String getRegionName() {
167 return regionName; 176 return regionName;
168 } 177 }
169 178
170 public void setRegionName(String regionName) { 179 public void setRegionName(String regionName) {
171 this.regionName = regionName; 180 this.regionName = regionName;
172 } 181 }
173 182
174 public String getRegionId() { 183 public String getRegionId() {
175 return regionId; 184 return regionId;
176 } 185 }
177 186
178 public void setRegionId(String regionId) { 187 public void setRegionId(String regionId) {
179 this.regionId = regionId; 188 this.regionId = regionId;
180 } 189 }
181 } 190 }
182 191
183 public static class SchoolBean { 192 public static class SchoolBean {
184 /** 193 /**
185 * schoolId : 499705 194 * schoolId : 499705
186 * schoolName : 上海五中 195 * schoolName : 上海五中
187 */ 196 */
188 197
189 private String schoolId; 198 private String schoolId;
190 private String schoolName; 199 private String schoolName;
191 200
192 public String getSchoolId() { 201 public String getSchoolId() {
193 return schoolId; 202 return schoolId;
194 } 203 }
195 204
196 public void setSchoolId(String schoolId) { 205 public void setSchoolId(String schoolId) {
197 this.schoolId = schoolId; 206 this.schoolId = schoolId;
198 } 207 }
199 208
200 public String getSchoolName() { 209 public String getSchoolName() {
201 return schoolName; 210 return schoolName;
202 } 211 }
203 212
204 public void setSchoolName(String schoolName) { 213 public void setSchoolName(String schoolName) {
205 this.schoolName = schoolName; 214 this.schoolName = schoolName;
206 } 215 }
207 } 216 }
208 217
209 public static class GradeBean { 218 public static class GradeBean {
210 /** 219 /**
211 * gradeName : 初中六年级 220 * gradeName : 初中六年级
212 * gradeId : 9 221 * gradeId : 9
213 */ 222 */
214 223
215 private String gradeName; 224 private String gradeName;
216 private String gradeId; 225 private String gradeId;
217 226
218 public String getGradeName() { 227 public String getGradeName() {
219 return gradeName; 228 return gradeName;
220 } 229 }
221 230
222 public void setGradeName(String gradeName) { 231 public void setGradeName(String gradeName) {
223 this.gradeName = gradeName; 232 this.gradeName = gradeName;
224 } 233 }
225 234
226 public String getGradeId() { 235 public String getGradeId() {
227 return gradeId; 236 return gradeId;
228 } 237 }
229 238
230 public void setGradeId(String gradeId) { 239 public void setGradeId(String gradeId) {
231 this.gradeId = gradeId; 240 this.gradeId = gradeId;
232 } 241 }
233 } 242 }
234 } 243 }
235 } 244 }
236 245
PersonalCenter/app/src/main/java/com/hjx/personalcenter/thirdparty/SlidingTabLayout.java
1 package com.hjx.personalcenter.thirdparty; 1 package com.hjx.personalcenter.thirdparty;
2 2
3 import android.content.Context; 3 import android.content.Context;
4 import android.graphics.Bitmap; 4 import android.graphics.Bitmap;
5 import android.graphics.BitmapFactory; 5 import android.graphics.BitmapFactory;
6 import android.graphics.Canvas; 6 import android.graphics.Canvas;
7 import android.support.v4.view.ViewPager; 7 import android.support.v4.view.ViewPager;
8 import android.support.v4.view.ViewPager.OnPageChangeListener; 8 import android.support.v4.view.ViewPager.OnPageChangeListener;
9 import android.util.AttributeSet; 9 import android.util.AttributeSet;
10 import android.util.DisplayMetrics; 10 import android.util.DisplayMetrics;
11 import android.util.TypedValue; 11 import android.util.TypedValue;
12 import android.view.Gravity; 12 import android.view.Gravity;
13 import android.view.View; 13 import android.view.View;
14 import android.view.WindowManager; 14 import android.view.WindowManager;
15 import android.widget.HorizontalScrollView; 15 import android.widget.HorizontalScrollView;
16 import android.widget.LinearLayout; 16 import android.widget.LinearLayout;
17 import android.widget.TextView; 17 import android.widget.TextView;
18 18
19 import com.hjx.personalcenter.R; 19 import com.hjx.personalcenter.R;
20 import com.hjx.personalcenter.util.CropUtils;
20 21
21 import java.util.List; 22 import java.util.List;
22 23
23 /** 24 /**
24 * 首页滑动条 25 * 首页滑动条
25 * 26 *
26 * @author gaok 27 * @author gaok
27 * @date 2017/7/6 28 * @date 2017/7/6
28 */ 29 */
29 public class SlidingTabLayout extends HorizontalScrollView { 30 public class SlidingTabLayout extends HorizontalScrollView {
30 private Context mContext; 31 private Context mContext;
31 private int selection = 0; 32 private int selection = 0;
32 /** 33 /**
33 * tab容器 34 * tab容器
34 */ 35 */
35 private LinearLayout mItemsLayout; 36 private LinearLayout mItemsLayout;
36 /** 37 /**
37 * 指示器 38 * 指示器
38 */ 39 */
39 private Bitmap mSlideIcon; 40 private Bitmap mSlideIcon;
40 /** 41 /**
41 * 指示器初始X偏移量 42 * 指示器初始X偏移量
42 */ 43 */
43 private int mInitTranslationX; 44 private int mInitTranslationX;
44 /** 45 /**
45 * 指示器初始Y偏移量 46 * 指示器初始Y偏移量
46 */ 47 */
47 private int mInitTranslationY; 48 private int mInitTranslationY;
48 /** 49 /**
49 * 滑动过程中指示器的水平偏移量 50 * 滑动过程中指示器的水平偏移量
50 */ 51 */
51 private int mTranslationX; 52 private int mTranslationX;
52 /** 53 /**
53 * tab总数 54 * tab总数
54 */ 55 */
55 private int mTotalItemsCount; 56 private int mTotalItemsCount;
56 /** 57 /**
57 * 指示器绘制数据的初始化标志 58 * 指示器绘制数据的初始化标志
58 */ 59 */
59 private boolean isFirstTime = true; 60 private boolean isFirstTime = true;
60 /** 61 /**
61 * 页面可见的tab数量,默认4个 62 * 页面可见的tab数量,默认4个
62 */ 63 */
63 private int VISIBLE_TAB_COUNT = 2; 64 private int VISIBLE_TAB_COUNT = 2;
64 /** 65 /**
65 * 移动到倒数第几个,容器开始滑动 66 * 移动到倒数第几个,容器开始滑动
66 */ 67 */
67 private int START_SCROLL = 2; 68 private int START_SCROLL = 2;
68 /** 69 /**
69 * 标题正常时的颜色 70 * 标题正常时的颜色
70 */ 71 */
71 private static final int COLOR_TEXT_NORMAL = 0xFF666666; 72 private static final int COLOR_TEXT_NORMAL = 0xFF666666;
72 /** 73 /**
73 * 标题选中时的颜色 74 * 标题选中时的颜色
74 */ 75 */
75 private static final int COLOR_TEXT_HIGHLIGHTCOLOR = 0xFF21c4ff; 76 private static final int COLOR_TEXT_HIGHLIGHTCOLOR = 0xFF21c4ff;
76 private ViewPager mViewPager; 77 private ViewPager mViewPager;
77 private List<String> mTabTitles; 78 private List<String> mTabTitles;
78 private int mTabVisibleCount = VISIBLE_TAB_COUNT; 79 private int mTabVisibleCount = VISIBLE_TAB_COUNT;
79 private OnPageChangeListener onPageChangeListener; 80 private OnPageChangeListener onPageChangeListener;
80 81
81 public SlidingTabLayout(Context context) { 82 public SlidingTabLayout(Context context) {
82 this(context, null); 83 this(context, null);
83 } 84 }
84 85
85 public SlidingTabLayout(Context context, AttributeSet attrs) { 86 public SlidingTabLayout(Context context, AttributeSet attrs) {
86 super(context, attrs); 87 super(context, attrs);
87 this.mContext = context; 88 this.mContext = context;
88 this.mSlideIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.blank); 89 this.mSlideIcon = BitmapFactory.decodeResource(getResources(), R.mipmap.blank);
89 this.mItemsLayout = new LinearLayout(context); 90 this.mItemsLayout = new LinearLayout(context);
90 initTabStripParams(); 91 initTabStripParams();
91 addView(mItemsLayout, 0, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT)); 92 addView(mItemsLayout, 0, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
92 } 93 }
93 94
94 public void scroll(int position, float positionOffset) { 95 public void scroll(int position, float positionOffset) {
95 int tabWidth = mItemsLayout.getChildAt(position).getWidth(); 96 int tabWidth = mItemsLayout.getChildAt(position).getWidth();
96 mTranslationX = (int) ((position + positionOffset) * tabWidth); 97 mTranslationX = (int) ((position + positionOffset) * tabWidth);
97 98
98 // 容器滚动,当移动到倒数最后一个的时候,开始滚动 99 // 容器滚动,当移动到倒数最后一个的时候,开始滚动
99 if (positionOffset > 0 && position >= (VISIBLE_TAB_COUNT - START_SCROLL) && mTotalItemsCount > VISIBLE_TAB_COUNT) { 100 if (positionOffset > 0 && position >= (VISIBLE_TAB_COUNT - START_SCROLL) && mTotalItemsCount > VISIBLE_TAB_COUNT) {
100 if (VISIBLE_TAB_COUNT != 1) { 101 if (VISIBLE_TAB_COUNT != 1) {
101 //注意这里是整体滑动,使得tabs跟指示器保持相对静止 102 //注意这里是整体滑动,使得tabs跟指示器保持相对静止
102 this.scrollTo((position - (VISIBLE_TAB_COUNT - START_SCROLL)) * tabWidth + (int) (tabWidth * positionOffset), 0); 103 this.scrollTo((position - (VISIBLE_TAB_COUNT - START_SCROLL)) * tabWidth + (int) (tabWidth * positionOffset), 0);
103 } else 104 } else
104 // 为count为1时 的特殊处理 105 // 为count为1时 的特殊处理
105 { 106 {
106 this.scrollTo(position * tabWidth + (int) (tabWidth * positionOffset), 0); 107 this.scrollTo(position * tabWidth + (int) (tabWidth * positionOffset), 0);
107 } 108 }
108 } 109 }
109 invalidate(); 110 invalidate();
110 } 111 }
111 112
112 private void initTabStripParams() { 113 private void initTabStripParams() {
113 mItemsLayout.setClipChildren(false); 114 mItemsLayout.setClipChildren(false);
114 mItemsLayout.setClipToPadding(false); 115 mItemsLayout.setClipToPadding(false);
115 mItemsLayout.setGravity(Gravity.BOTTOM); 116 mItemsLayout.setGravity(Gravity.BOTTOM);
116 mItemsLayout.setPadding(0, 0, 0, 0); 117 mItemsLayout.setPadding(0, 0, 0, 0);
117 } 118 }
118 119
119 /** 120 /**
120 * 绘制指示器 121 * 绘制指示器
121 */ 122 */
122 @Override 123 @Override
123 protected void dispatchDraw(Canvas canvas) { 124 protected void dispatchDraw(Canvas canvas) {
124 canvas.save(); 125 canvas.save();
125 // 平移到正确的位置 126 // 平移到正确的位置
126 canvas.translate(mInitTranslationX + mTranslationX, this.mInitTranslationY);//修正tabs的平移量 127 canvas.translate(mInitTranslationX + mTranslationX, this.mInitTranslationY);//修正tabs的平移量
127 canvas.drawBitmap(this.mSlideIcon, 0, 0, null); 128 canvas.drawBitmap(this.mSlideIcon, 0, 0, null);
128 canvas.restore(); 129 canvas.restore();
129 super.dispatchDraw(canvas); 130 super.dispatchDraw(canvas);
130 } 131 }
131 132
132 @Override 133 @Override
133 protected void onLayout(boolean changed, int l, int t, int r, int b) { 134 protected void onLayout(boolean changed, int l, int t, int r, int b) {
134 super.onLayout(changed, l, t, r, b); 135 super.onLayout(changed, l, t, r, b);
135 if (isFirstTime && (mTotalItemsCount > 0) && getItemView(this.selection) != null) { 136 if (isFirstTime && (mTotalItemsCount > 0) && getItemView(this.selection) != null) {
136 View currentItemView = getItemView(this.selection); 137 View currentItemView = getItemView(this.selection);
137 this.mInitTranslationX = (currentItemView.getLeft() + currentItemView.getWidth() / 2 - this.mSlideIcon.getWidth() / 2); 138 this.mInitTranslationX = (currentItemView.getLeft() + currentItemView.getWidth() / 2 - this.mSlideIcon.getWidth() / 2);
138 this.mInitTranslationY = (b - t - this.mSlideIcon.getHeight()); 139 this.mInitTranslationY = (b - t - this.mSlideIcon.getHeight());
139 isFirstTime = false; 140 isFirstTime = false;
140 } 141 }
141 } 142 }
142 143
143 public void setVisibleTabCount(int VISIBLE_TAB_COUNT) { 144 public void setVisibleTabCount(int VISIBLE_TAB_COUNT) {
144 this.VISIBLE_TAB_COUNT = VISIBLE_TAB_COUNT; 145 this.VISIBLE_TAB_COUNT = VISIBLE_TAB_COUNT;
145 } 146 }
146 147
147 public void setStartScroll(int START_SCROLL) { 148 public void setStartScroll(int START_SCROLL) {
148 this.START_SCROLL = START_SCROLL; 149 this.START_SCROLL = START_SCROLL;
149 } 150 }
150 151
151 public View getItemView(int itemPosition) { 152 public View getItemView(int itemPosition) {
152 if ((itemPosition >= 0) && (itemPosition < this.mTotalItemsCount)) { 153 if ((itemPosition >= 0) && (itemPosition < this.mTotalItemsCount)) {
153 return this.mItemsLayout.getChildAt(itemPosition); 154 return this.mItemsLayout.getChildAt(itemPosition);
154 } 155 }
155 return null; 156 return null;
156 } 157 }
157 158
158 public void setData(List<String> datas) { 159 public void setData(List<String> datas) {
159 mTotalItemsCount = 0; 160 mTotalItemsCount = 0;
160 // 如果传入的list有值,则移除布局文件中设置的view 161 // 如果传入的list有值,则移除布局文件中设置的view
161 if (datas != null && datas.size() > 0) { 162 if (datas != null && datas.size() > 0) {
162 this.mItemsLayout.removeAllViews(); 163 this.mItemsLayout.removeAllViews();
163 this.mTabTitles = datas; 164 this.mTabTitles = datas;
164 165
165 for (String title : mTabTitles) { 166 for (String title : mTabTitles) {
166 // 添加view 167 // 添加view
167 this.mItemsLayout.addView(generateTextView(title)); 168 this.mItemsLayout.addView(generateTextView(title));
168 mTotalItemsCount++; 169 mTotalItemsCount++;
169 } 170 }
170 // 设置item的click事件 171 // 设置item的click事件
171 setItemClickEvent(); 172 setItemClickEvent();
172 } 173 }
173 } 174 }
174 175
175 /** 176 /**
176 * 对外的ViewPager的回调接口 177 * 对外的ViewPager的回调接口
177 * 178 *
178 * @author zhy 179 * @author zhy
179 */ 180 */
180 public interface PageChangeListener { 181 public interface PageChangeListener {
181 void onPageScrolled(int position, float positionOffset, int positionOffsetPixels); 182 void onPageScrolled(int position, float positionOffset, int positionOffsetPixels);
182 183
183 void onPageSelected(int position); 184 void onPageSelected(int position);
184 185
185 void onPageScrollStateChanged(int state); 186 void onPageScrollStateChanged(int state);
186 } 187 }
187 188
188 // 设置关联的ViewPager 189 // 设置关联的ViewPager
189 public void setViewPager(ViewPager mViewPager, int pos) { 190 public void setViewPager(ViewPager mViewPager, int pos) {
190 this.mViewPager = mViewPager; 191 this.mViewPager = mViewPager;
191 192
192 mViewPager.addOnPageChangeListener(new OnPageChangeListener() { 193 mViewPager.addOnPageChangeListener(new OnPageChangeListener() {
193 @Override 194 @Override
194 public void onPageSelected(int position) { 195 public void onPageSelected(int position) {
195 // 设置字体颜色高亮 196 // 设置字体颜色高亮
196 resetTextViewColor(); 197 resetTextViewColor();
197 highLightTextView(position); 198 highLightTextView(position);
198 199
199 // 回调 200 // 回调
200 if (onPageChangeListener != null) { 201 if (onPageChangeListener != null) {
201 onPageChangeListener.onPageSelected(position); 202 onPageChangeListener.onPageSelected(position);
202 } 203 }
203 } 204 }
204 205
205 @Override 206 @Override
206 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { 207 public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
207 // 滚动 208 // 滚动
208 scroll(position, positionOffset); 209 scroll(position, positionOffset);
209 210
210 // 回调 211 // 回调
211 if (onPageChangeListener != null) { 212 if (onPageChangeListener != null) {
212 onPageChangeListener.onPageScrolled(position, positionOffset, positionOffsetPixels); 213 onPageChangeListener.onPageScrolled(position, positionOffset, positionOffsetPixels);
213 } 214 }
214 215
215 } 216 }
216 217
217 @Override 218 @Override
218 public void onPageScrollStateChanged(int state) { 219 public void onPageScrollStateChanged(int state) {
219 // 回调 220 // 回调
220 if (onPageChangeListener != null) { 221 if (onPageChangeListener != null) {
221 onPageChangeListener.onPageScrollStateChanged(state); 222 onPageChangeListener.onPageScrollStateChanged(state);
222 } 223 }
223 224
224 } 225 }
225 }); 226 });
226 // 设置当前页 227 // 设置当前页
227 mViewPager.setCurrentItem(pos); 228 mViewPager.setCurrentItem(pos);
228 // 高亮 229 // 高亮
229 highLightTextView(pos); 230 highLightTextView(pos);
230 } 231 }
231 232
232 /** 233 /**
233 * 重置文本颜色 234 * 重置文本颜色
234 */ 235 */
235 private void resetTextViewColor() { 236 private void resetTextViewColor() {
236 for (int i = 0; i < mItemsLayout.getChildCount(); i++) { 237 for (int i = 0; i < mItemsLayout.getChildCount(); i++) {
237 View view = mItemsLayout.getChildAt(i); 238 View view = mItemsLayout.getChildAt(i);
238 if (view instanceof TextView) { 239 if (view instanceof TextView) {
239 ((TextView) view).setTextColor(COLOR_TEXT_NORMAL); 240 ((TextView) view).setTextColor(COLOR_TEXT_NORMAL);
240 } 241 }
241 } 242 }
242 } 243 }
243 244
244 /** 245 /**
245 * 高亮文本 246 * 高亮文本
246 * 247 *
247 * @param position 248 * @param position
248 */ 249 */
249 protected void highLightTextView(int position) { 250 protected void highLightTextView(int position) {
250 View view = mItemsLayout.getChildAt(position); 251 View view = mItemsLayout.getChildAt(position);
251 if (view instanceof TextView) { 252 if (view instanceof TextView) {
252 ((TextView) view).setTextColor(COLOR_TEXT_HIGHLIGHTCOLOR); 253 ((TextView) view).setTextColor(COLOR_TEXT_HIGHLIGHTCOLOR);
253 } 254 }
254 255
255 } 256 }
256 257
257 private void setItemClickEvent() { 258 private void setItemClickEvent() {
258 int cCount = mItemsLayout.getChildCount(); 259 int cCount = mItemsLayout.getChildCount();
259 for (int i = 0; i < cCount; i++) { 260 for (int i = 0; i < cCount; i++) {
260 final int j = i; 261 final int j = i;
261 View view = mItemsLayout.getChildAt(i); 262 View view = mItemsLayout.getChildAt(i);
262 view.setOnClickListener(new OnClickListener() { 263 view.setOnClickListener(new OnClickListener() {
263 @Override 264 @Override
264 public void onClick(View v) { 265 public void onClick(View v) {
265 mViewPager.setCurrentItem(j); 266 mViewPager.setCurrentItem(j);
266 } 267 }
267 }); 268 });
268 } 269 }
269 } 270 }
270 271
271 /** 272 /**
272 * 根据标题生成我们的TextView 273 * 根据标题生成我们的TextView
273 * 274 *
274 * @param text 275 * @param text
275 * @return 276 * @return
276 */ 277 */
277 private TextView generateTextView(String text) { 278 private TextView generateTextView(String text) {
278 TextView tv = new TextView(getContext()); 279 TextView tv = new TextView(getContext());
279 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT); 280 LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
280 lp.width = getScreenWidth() / mTabVisibleCount; 281 lp.width = CropUtils.dp2px(getContext(),550) / mTabVisibleCount;
281 tv.setGravity(Gravity.CENTER); 282 tv.setGravity(Gravity.CENTER);
282 tv.setTextColor(COLOR_TEXT_NORMAL); 283 tv.setTextColor(COLOR_TEXT_NORMAL);
283 tv.setText(text); 284 tv.setText(text);
284 tv.setTextSize(TypedValue.TYPE_NULL, 34); 285 tv.setTextSize(TypedValue.TYPE_NULL, CropUtils.sp2px(getContext(),23));
285 tv.setLayoutParams(lp); 286 tv.setLayoutParams(lp);
286 return tv; 287 return tv;
287 } 288 }
288 289
289 /** 290 /**
290 * 获得屏幕的宽度 291 * 获得屏幕的宽度
291 * 292 *
292 * @return 293 * @return
293 */ 294 */
294 public int getScreenWidth() { 295 public int getScreenWidth() {
295 WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE); 296 WindowManager wm = (WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE);
296 DisplayMetrics outMetrics = new DisplayMetrics(); 297 DisplayMetrics outMetrics = new DisplayMetrics();
297 wm.getDefaultDisplay().getMetrics(outMetrics); 298 wm.getDefaultDisplay().getMetrics(outMetrics);
298 return outMetrics.widthPixels; 299 return outMetrics.widthPixels;
299 } 300 }
300 301
301 public LinearLayout getLinearLayout() { 302 public LinearLayout getLinearLayout() {
302 return mItemsLayout; 303 return mItemsLayout;
303 } 304 }
304 } 305 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/update/DownloadService.java
1 package com.hjx.personalcenter.update; 1 package com.hjx.personalcenter.update;
2 2
3 /** 3 /**
4 * Created by l on 2017/7/17. 4 * Created by l on 2017/7/17.
5 */ 5 */
6 6
7 7
8 import android.app.IntentService; 8 import android.app.IntentService;
9 import android.content.Intent; 9 import android.content.Intent;
10 import android.os.Bundle; 10 import android.os.Bundle;
11 import android.os.ResultReceiver; 11 import android.os.ResultReceiver;
12 12
13 import java.io.BufferedInputStream; 13 import java.io.BufferedInputStream;
14 import java.io.FileOutputStream; 14 import java.io.FileOutputStream;
15 import java.io.IOException; 15 import java.io.IOException;
16 import java.io.InputStream; 16 import java.io.InputStream;
17 import java.io.OutputStream; 17 import java.io.OutputStream;
18 import java.net.HttpURLConnection;
18 import java.net.URL; 19 import java.net.URL;
19 import java.net.URLConnection; 20 import java.net.URLConnection;
20 21
21 public class DownloadService extends IntentService { 22 public class DownloadService extends IntentService {
22 public static final int UPDATE_PROGRESS = 8344; 23 public static final int UPDATE_PROGRESS = 8344;
23 public DownloadService() { 24 public DownloadService() {
24 super("DownloadService"); 25 super("DownloadService");
25 } 26 }
26 @Override 27 @Override
27 protected void onHandleIntent(Intent intent) { 28 protected void onHandleIntent(Intent intent) {
28 String urlToDownload = intent.getStringExtra("url"); 29 String urlToDownload = intent.getStringExtra("url");
29 String fileDestination = intent.getStringExtra("dest"); 30 String fileDestination = intent.getStringExtra("dest");
30 ResultReceiver receiver = (ResultReceiver) intent.getParcelableExtra("receiver"); 31 ResultReceiver receiver = (ResultReceiver) intent.getParcelableExtra("receiver");
31 try { 32 try {
32 URL url = new URL(urlToDownload); 33 URL url = new URL(urlToDownload);
33 URLConnection connection = url.openConnection(); 34 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
34 connection.connect(); 35 connection.connect();
35 // this will be useful so that you can show a typical 0-100% progress bar 36 // this will be useful so that you can show a typical 0-100% progress bar
36 int fileLength = connection.getContentLength(); 37 int fileLength = connection.getContentLength();
37 // download the file 38 // download the file
38 InputStream input = new BufferedInputStream(connection.getInputStream()); 39 InputStream input = new BufferedInputStream(connection.getInputStream());
39 OutputStream output = new FileOutputStream(fileDestination); 40 OutputStream output = new FileOutputStream(fileDestination);
40 byte data[] = new byte[100]; 41 byte data[] = new byte[1024];
41 long total = 0; 42 long total = 0;
42 int count; 43 int count;
43 while ((count = input.read(data)) != -1) { 44 while ((count = input.read(data)) != -1) {
44 total += count; 45 total += count;
45 // publishing the progress.... 46 // publishing the progress....
46 Bundle resultData = new Bundle(); 47 Bundle resultData = new Bundle();
47 resultData.putInt("progress" ,(int) (total * 100 / fileLength)); 48 resultData.putInt("progress" , (int) (((float) total / fileLength) * 100));// 得到当前进度);
48 receiver.send(UPDATE_PROGRESS, resultData); 49 receiver.send(UPDATE_PROGRESS, resultData);
49 output.write(data, 0, count); 50 output.write(data, 0, count);
50 } 51 }
51 output.flush(); 52 output.flush();
52 output.close(); 53 output.close();
53 input.close(); 54 input.close();
54 } catch (IOException e) { 55 } catch (IOException e) {
55 e.printStackTrace(); 56 e.printStackTrace();
56 } 57 }
57 Bundle resultData = new Bundle(); 58 Bundle resultData = new Bundle();
58 resultData.putInt("progress" ,100); 59 resultData.putInt("progress" ,100);
59 receiver.send(UPDATE_PROGRESS, resultData); 60 receiver.send(UPDATE_PROGRESS, resultData);
60 } 61 }
61 } 62 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/update/UpdateChecker.java
1 package com.hjx.personalcenter.update; 1 package com.hjx.personalcenter.update;
2 2
3 /** 3 /**
4 * Created by l on 2017/7/17. 4 * Created by l on 2017/7/17.
5 */ 5 */
6 6
7 import android.app.Activity; 7 import android.app.Activity;
8 import android.app.AlertDialog;
9 import android.app.Dialog;
8 import android.app.ProgressDialog; 10 import android.app.ProgressDialog;
9 import android.content.Context; 11 import android.content.Context;
10 import android.content.DialogInterface; 12 import android.content.DialogInterface;
11 import android.content.Intent; 13 import android.content.Intent;
12 import android.content.pm.PackageManager; 14 import android.content.pm.PackageManager;
13 import android.net.Uri; 15 import android.net.Uri;
14 import android.os.Bundle; 16 import android.os.Bundle;
15 import android.os.Environment; 17 import android.os.Environment;
16 import android.os.Handler; 18 import android.os.Handler;
17 import android.os.Message; 19 import android.os.Message;
18 import android.os.ResultReceiver; 20 import android.os.ResultReceiver;
19 import android.support.v4.app.FragmentActivity; 21 import android.support.v4.app.FragmentActivity;
20 import android.view.View; 22 import android.view.View;
21 23
22 import com.hjx.personalcenter.http.HttpCode; 24 import com.hjx.personalcenter.http.HttpCode;
23 import com.hjx.personalcenter.http.HttpManager; 25 import com.hjx.personalcenter.http.HttpManager;
24 import com.hjx.personalcenter.model.AppVersion; 26 import com.hjx.personalcenter.model.AppVersion;
25 import com.mylhyl.circledialog.CircleDialog; 27 import com.mylhyl.circledialog.CircleDialog;
26 28
27 import java.io.File; 29 import java.io.File;
28 import java.util.ArrayList; 30 import java.util.ArrayList;
29 31
30 public class UpdateChecker{ 32 public class UpdateChecker{
31 private static final String TAG = "UpdateChecker"; 33 private static final String TAG = "UpdateChecker";
32 private Context mContext; 34 private Context mContext;
33 //检查版本信息的线程 35 //检查版本信息的线程
34 private Thread mThread; 36 private Thread mThread;
35 37
36 private ArrayList<AppVersion> mAppVersion; 38 private ArrayList<AppVersion> mAppVersion;
37 //下载apk的对话框 39 //下载apk的对话框
38 private ProgressDialog mProgressDialog; 40 private ProgressDialog mProgressDialog;
39 41
40 private File apkFile; 42 private File apkFile;
41 private int visncode; 43 private int visncode;
42 private String downUrl; 44 private String downUrl;
43 private String msgs; 45 private String msgs;
44 private String qiangzi; 46 private String qiangzi;
45 47
46 Handler handler = new Handler(){ 48 Handler handler = new Handler(){
47 public void handleMessage(Message msg) { 49 public void handleMessage(Message msg) {
48 if (msg.what == HttpCode.APPUPDATE_SUCESS) { 50 if (msg.what == HttpCode.APPUPDATE_SUCESS) {
49 mAppVersion = (ArrayList<AppVersion>) msg.obj; 51 mAppVersion = (ArrayList<AppVersion>) msg.obj;
50 for (AppVersion appVersion : mAppVersion){ 52 for (AppVersion appVersion : mAppVersion){
51 visncode = appVersion.getVersioncode(); 53 visncode = appVersion.getVersioncode();
52 downUrl = appVersion.getUrl(); 54 downUrl = appVersion.getUrl();
53 msgs = appVersion.getMsg(); 55 msgs = appVersion.getMsg();
54 qiangzi = appVersion.getForceupdate(); 56 qiangzi = appVersion.getForceupdate();
55 } 57 }
56 try{ 58 try{
57 int versionCode = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionCode; 59 int versionCode = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionCode;
58 if (visncode > versionCode) { 60 if (visncode > versionCode) {
59 if("true".equals(qiangzi)){ 61 if("true".equals(qiangzi)){
60 showForceUpdateDialog(); 62 showForceUpdateDialog();
61 }else{ 63 }else{
62 showUpdateDialog(); 64 showUpdateDialog();
63 } 65 }
64 } else { 66 } else {
65 //Toast.makeText(mContext, "已经是最新版本", Toast.LENGTH_SHORT).show(); 67 //Toast.makeText(mContext, "已经是最新版本", Toast.LENGTH_SHORT).show();
66 } 68 }
67 }catch (PackageManager.NameNotFoundException ignored) { 69 }catch (PackageManager.NameNotFoundException ignored) {
68 // 70 //
69 } 71 }
70 } 72 }
71 } 73 }
72 }; 74 };
73 public UpdateChecker(Context context) { 75 public UpdateChecker(Context context) {
74 mContext = context; 76 mContext = context;
75 // instantiate it within the onCreate method 77 // instantiate it within the onCreate method
76 mProgressDialog = new ProgressDialog(context); 78 mProgressDialog = new ProgressDialog(context);
77 mProgressDialog.setMessage("正在下载"); 79 mProgressDialog.setMessage("正在下载");
78 mProgressDialog.setIndeterminate(false); 80 mProgressDialog.setIndeterminate(false);
79 mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 81 mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
80 mProgressDialog.setCancelable(true); 82 mProgressDialog.setCancelable(false);
81 mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { 83 mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
82 @Override 84 @Override
83 public void onCancel(DialogInterface dialog) { 85 public void onCancel(DialogInterface dialog) {
84 86
85 } 87 }
86 }); 88 });
87 mProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { 89 mProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
88 @Override 90 @Override
89 public void onDismiss(DialogInterface dialog) { 91 public void onDismiss(DialogInterface dialog) {
90 // TODO Auto-generated method stub 92 // TODO Auto-generated method stub
91 93
92 } 94 }
93 }); 95 });
94 } 96 }
95 97
96 public void checkForUpdates() { 98 public void checkForUpdates() {
97 99
98 100
99 // mThread = new Thread() { 101 // mThread = new Thread() {
100 // @Override 102 // @Override
101 // public void run() { 103 // public void run() {
102 // try { 104 // try {
103 HttpManager.getInstance().updateAPP(mContext,"com.hjx.personalcenter","个人中心",handler); 105 HttpManager.getInstance().updateAPP(mContext,"com.hjx.personalcenter","个人中心",handler);
104 // }catch (Exception e){ 106 // }catch (Exception e){
105 // e.printStackTrace(); 107 // e.printStackTrace();
106 // } 108 // }
107 // 109 //
108 // } 110 // }
109 // }; 111 // };
110 // mThread.start(); 112 // mThread.start();
111 } 113 }
112 114
113 private void showForceUpdateDialog() { 115 private void showForceUpdateDialog() {
114 new CircleDialog.Builder((FragmentActivity)mContext) 116 AlertDialog.Builder builder = new AlertDialog.Builder(
115 .setCanceledOnTouchOutside(false) 117 mContext);
116 .setCancelable(false) 118 builder.setTitle("检查到新版本,是否更新?");
117 .setWidth(0.5f) 119 builder.setMessage(msgs);
118 .setTitle("升级提示") 120 builder.setNegativeButton("退出",
119 .setText(msgs) 121 new android.content.DialogInterface.OnClickListener() {
120 .setNegative("取消", new View.OnClickListener() {
121 @Override
122 public void onClick(View v) {
123 ((Activity)mContext).finish();
124 122
123 @Override
124 public void onClick(DialogInterface dialog, int which) {
125 System.exit(0);
125 } 126 }
126 }) 127 });
127 .setPositive("确定", new View.OnClickListener() { 128 builder.setPositiveButton("立即更新",
129 new android.content.DialogInterface.OnClickListener() {
130
128 @Override 131 @Override
129 public void onClick(View v) { 132 public void onClick(DialogInterface dialog, int which) {
130 downLoadApk(); 133 downLoadApk();
131 } 134 }
132 }) 135 });
133 .show(); 136 Dialog dialog=builder.create();
137 dialog.setCanceledOnTouchOutside(false);
138 dialog.show();
139
140 // new CircleDialog.Builder((FragmentActivity)mContext)
141 // .setCanceledOnTouchOutside(false)
142 // .setCancelable(false)
143 // .setWidth(0.5f)
144 // .setTitle("升级提示")
145 // .setText(msgs)
146 // .setNegative("取消", new View.OnClickListener() {
147 // @Override
148 // public void onClick(View v) {
149 // ((Activity)mContext).finish();
150 //
151 // }
152 // })
153 // .setPositive("确定", new View.OnClickListener() {
154 // @Override
155 // public void onClick(View v) {
156 // downLoadApk();
157 // }
158 // })
159 // .show();
134 } 160 }
135 161
136 private void showUpdateDialog() { 162 private void showUpdateDialog() {
137 new CircleDialog.Builder((FragmentActivity)mContext) 163
138 .setCanceledOnTouchOutside(false) 164 AlertDialog.Builder builder = new AlertDialog.Builder(
139 .setCancelable(false) 165 mContext);
140 .setWidth(0.5f) 166 builder.setTitle("检查到新版本,是否更新?");
141 .setTitle("升级提示") 167 builder.setMessage(msgs);
142 .setText(msgs) 168 builder.setNegativeButton("下次再说", null);
143 .setNegative("取消", null) 169 builder.setPositiveButton("立即更新",
144 .setPositive("确定", new View.OnClickListener() { 170 new android.content.DialogInterface.OnClickListener() {
171
145 @Override 172 @Override
146 public void onClick(View v) { 173 public void onClick(DialogInterface dialog, int which) {
147 downLoadApk(); 174 downLoadApk();
148 } 175 }
149 }) 176 });
150 .show(); 177 Dialog dialog=builder.create();
178 dialog.setCanceledOnTouchOutside(false);
179 dialog.show();
151 } 180 }
152 181
153 private void downLoadApk() { 182 private void downLoadApk() {
154 String apkUrl = downUrl; 183 String apkUrl = downUrl;
155 String dir = mContext.getExternalFilesDir( "apk").getAbsolutePath(); 184 String dir = mContext.getExternalFilesDir( "apk").getAbsolutePath();
156 File folder = Environment.getExternalStoragePublicDirectory(dir); 185 File folder = Environment.getExternalStoragePublicDirectory(dir);
157 if(folder.exists() && folder.isDirectory()) { 186 if(folder.exists() && folder.isDirectory()) {
158 //do nothing 187 //do nothing
159 }else { 188 }else {
160 folder.mkdirs(); 189 folder.mkdirs();
161 } 190 }
162 String filename = apkUrl.substring(apkUrl.lastIndexOf("/"),apkUrl.length()); 191 String filename = apkUrl.substring(apkUrl.lastIndexOf("/"),apkUrl.length());
163 String destinationFilePath = dir + "/" + filename; 192 String destinationFilePath = dir + "/" + filename;
164 apkFile = new File(destinationFilePath); 193 apkFile = new File(destinationFilePath);
165 if("true".equals(qiangzi)){ 194 if("true".equals(qiangzi)){
166 mProgressDialog.setCancelable(false); 195 mProgressDialog.setCancelable(false);
167 } 196 }
168 mProgressDialog.show(); 197 mProgressDialog.show();
169 Intent intent = new Intent(mContext, DownloadService.class); 198 Intent intent = new Intent(mContext, DownloadService.class);
170 intent.putExtra("url", apkUrl); 199 intent.putExtra("url", apkUrl);
171 intent.putExtra("dest", destinationFilePath); 200 intent.putExtra("dest", destinationFilePath);
172 intent.putExtra("receiver", new DownloadReceiver(new Handler())); 201 intent.putExtra("receiver", new DownloadReceiver(new Handler()));
173 mContext.startService(intent); 202 mContext.startService(intent);
174 } 203 }
175 204
176 private class DownloadReceiver extends ResultReceiver{ 205 private class DownloadReceiver extends ResultReceiver{
177 public DownloadReceiver(Handler handler) { 206 public DownloadReceiver(Handler handler) {
178 super(handler); 207 super(handler);
179 } 208 }
180 @Override 209 @Override
181 protected void onReceiveResult(int resultCode, Bundle resultData) { 210 protected void onReceiveResult(int resultCode, Bundle resultData) {
182 super.onReceiveResult(resultCode, resultData); 211 super.onReceiveResult(resultCode, resultData);
183 if (resultCode == DownloadService.UPDATE_PROGRESS) { 212 if (resultCode == DownloadService.UPDATE_PROGRESS) {
184 int progress = resultData.getInt("progress"); 213 int progress = resultData.getInt("progress");
185 mProgressDialog.setProgress(progress); 214 mProgressDialog.setProgress(progress);
186 if (progress == 100) { 215 if (progress == 100) {
187 mProgressDialog.dismiss(); 216 mProgressDialog.dismiss();
188 //如果没有设置SDCard写权限,或者没有sdcard,apk文件保存在内存中,需要授予权限才能安装 217 //如果没有设置SDCard写权限,或者没有sdcard,apk文件保存在内存中,需要授予权限才能安装
189 String[] command = {"chmod","777",apkFile.toString()}; 218 String[] command = {"chmod","777",apkFile.toString()};
190 try{ 219 try{
191 ProcessBuilder builder = new ProcessBuilder(command); 220 ProcessBuilder builder = new ProcessBuilder(command);
192 builder.start(); 221 builder.start();
193 Intent intent = new Intent(Intent.ACTION_VIEW); 222 Intent intent = new Intent(Intent.ACTION_VIEW);
194 intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); 223 intent.setDataAndType(Uri.parse("file://" + apkFile.toString()), "application/vnd.android.package-archive");
195 mContext.startActivity(intent); 224 mContext.startActivity(intent);
196 }catch (Exception e){ 225 }catch (Exception e){
197 e.printStackTrace(); 226 e.printStackTrace();
198 } 227 }
199 } 228 }
PersonalCenter/app/src/main/java/com/hjx/personalcenter/util/CropUtils.java
1 package com.hjx.personalcenter.util; 1 package com.hjx.personalcenter.util;
2 2
3 import android.annotation.SuppressLint; 3 import android.annotation.SuppressLint;
4 import android.content.ContentUris; 4 import android.content.ContentUris;
5 import android.content.Context; 5 import android.content.Context;
6 import android.database.Cursor; 6 import android.database.Cursor;
7 import android.net.Uri; 7 import android.net.Uri;
8 import android.os.Build; 8 import android.os.Build;
9 import android.os.Environment; 9 import android.os.Environment;
10 import android.provider.DocumentsContract; 10 import android.provider.DocumentsContract;
11 import android.provider.MediaStore; 11 import android.provider.MediaStore;
12 import android.util.Log; 12 import android.util.Log;
13 13
14 import static android.content.ContentValues.TAG; 14 import static android.content.ContentValues.TAG;
15 15
16 /** 16 /**
17 * Created by yf on 2016/2/23. 17 * Created by yf on 2016/2/23.
18 */ 18 */
19 public class CropUtils { 19 public class CropUtils {
20 @SuppressLint("NewApi") 20 @SuppressLint("NewApi")
21 public static String getPath(final Context context, final Uri uri) { 21 public static String getPath(final Context context, final Uri uri) {
22 22
23 final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; 23 final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT;
24 24
25 // DocumentProvider 25 // DocumentProvider
26 if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { 26 if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) {
27 // ExternalStorageProvider 27 // ExternalStorageProvider
28 if (isExternalStorageDocument(uri)) { 28 if (isExternalStorageDocument(uri)) {
29 final String docId = DocumentsContract.getDocumentId(uri); 29 final String docId = DocumentsContract.getDocumentId(uri);
30 final String[] split = docId.split(":"); 30 final String[] split = docId.split(":");
31 final String type = split[0]; 31 final String type = split[0];
32 32
33 if ("primary".equalsIgnoreCase(type)) { 33 if ("primary".equalsIgnoreCase(type)) {
34 return Environment.getExternalStorageDirectory() + "/" + split[1]; 34 return Environment.getExternalStorageDirectory() + "/" + split[1];
35 } 35 }
36 36
37 } 37 }
38 // DownloadsProvider 38 // DownloadsProvider
39 else if (isDownloadsDocument(uri)) { 39 else if (isDownloadsDocument(uri)) {
40 40
41 final String id = DocumentsContract.getDocumentId(uri); 41 final String id = DocumentsContract.getDocumentId(uri);
42 final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id)); 42 final Uri contentUri = ContentUris.withAppendedId(Uri.parse("content://downloads/public_downloads"), Long.valueOf(id));
43 43
44 return getDataColumn(context, contentUri, null, null); 44 return getDataColumn(context, contentUri, null, null);
45 } 45 }
46 // MediaProvider 46 // MediaProvider
47 else if (isMediaDocument(uri)) { 47 else if (isMediaDocument(uri)) {
48 final String docId = DocumentsContract.getDocumentId(uri); 48 final String docId = DocumentsContract.getDocumentId(uri);
49 final String[] split = docId.split(":"); 49 final String[] split = docId.split(":");
50 final String type = split[0]; 50 final String type = split[0];
51 51
52 Uri contentUri = null; 52 Uri contentUri = null;
53 if ("image".equals(type)) { 53 if ("image".equals(type)) {
54 contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI; 54 contentUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
55 } else if ("video".equals(type)) { 55 } else if ("video".equals(type)) {
56 contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI; 56 contentUri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;
57 } else if ("audio".equals(type)) { 57 } else if ("audio".equals(type)) {
58 contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI; 58 contentUri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;
59 } 59 }
60 60
61 final String selection = "_id=?"; 61 final String selection = "_id=?";
62 final String[] selectionArgs = new String[]{split[1]}; 62 final String[] selectionArgs = new String[]{split[1]};
63 63
64 return getDataColumn(context, contentUri, selection, selectionArgs); 64 return getDataColumn(context, contentUri, selection, selectionArgs);
65 } 65 }
66 } 66 }
67 // MediaStore (and general) 67 // MediaStore (and general)
68 else if ("content".equalsIgnoreCase(uri.getScheme())) { 68 else if ("content".equalsIgnoreCase(uri.getScheme())) {
69 return getDataColumn(context, uri, null, null); 69 return getDataColumn(context, uri, null, null);
70 } 70 }
71 // File 71 // File
72 else if ("file".equalsIgnoreCase(uri.getScheme())) { 72 else if ("file".equalsIgnoreCase(uri.getScheme())) {
73 return uri.getPath(); 73 return uri.getPath();
74 } else { 74 } else {
75 String uriStr = uri.toString(); 75 String uriStr = uri.toString();
76 String path = uriStr.substring(10, uriStr.length()); 76 String path = uriStr.substring(10, uriStr.length());
77 if (path.startsWith("com.sec.android.gallery3d")) { 77 if (path.startsWith("com.sec.android.gallery3d")) {
78 Log.e(TAG, "It's auto backup pic path:" + uri.toString()); 78 Log.e(TAG, "It's auto backup pic path:" + uri.toString());
79 return null; 79 return null;
80 } 80 }
81 String[] filePathColumn = {MediaStore.Images.Media.DATA}; 81 String[] filePathColumn = {MediaStore.Images.Media.DATA};
82 Cursor cursor = context.getContentResolver().query(uri, filePathColumn, null, null, null); 82 Cursor cursor = context.getContentResolver().query(uri, filePathColumn, null, null, null);
83 if (cursor != null) { 83 if (cursor != null) {
84 cursor.moveToFirst(); 84 cursor.moveToFirst();
85 } 85 }
86 int columnIndex = cursor.getColumnIndex(filePathColumn[0]); 86 int columnIndex = cursor.getColumnIndex(filePathColumn[0]);
87 String picturePath = cursor.getString(columnIndex); 87 String picturePath = cursor.getString(columnIndex);
88 cursor.close(); 88 cursor.close();
89 return picturePath; 89 return picturePath;
90 } 90 }
91 91
92 return null; 92 return null;
93 } 93 }
94 94
95 /** 95 /**
96 * Get the value of the data column for this Uri. This is useful for 96 * Get the value of the data column for this Uri. This is useful for
97 * MediaStore Uris, and other file-based ContentProviders. 97 * MediaStore Uris, and other file-based ContentProviders.
98 * 98 *
99 * @param context The context. 99 * @param context The context.
100 * @param uri The Uri to query. 100 * @param uri The Uri to query.
101 * @param selection (Optional) Filter used in the query. 101 * @param selection (Optional) Filter used in the query.
102 * @param selectionArgs (Optional) Selection arguments used in the query. 102 * @param selectionArgs (Optional) Selection arguments used in the query.
103 * @return The value of the _data column, which is typically a file path. 103 * @return The value of the _data column, which is typically a file path.
104 */ 104 */
105 private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) { 105 private static String getDataColumn(Context context, Uri uri, String selection, String[] selectionArgs) {
106 106
107 Cursor cursor = null; 107 Cursor cursor = null;
108 final String column = "_data"; 108 final String column = "_data";
109 final String[] projection = {column}; 109 final String[] projection = {column};
110 110
111 try { 111 try {
112 cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null); 112 cursor = context.getContentResolver().query(uri, projection, selection, selectionArgs, null);
113 if (cursor != null && cursor.moveToFirst()) { 113 if (cursor != null && cursor.moveToFirst()) {
114 final int column_index = cursor.getColumnIndexOrThrow(column); 114 final int column_index = cursor.getColumnIndexOrThrow(column);
115 return cursor.getString(column_index); 115 return cursor.getString(column_index);
116 } 116 }
117 } finally { 117 } finally {
118 if (cursor != null) 118 if (cursor != null)
119 cursor.close(); 119 cursor.close();
120 } 120 }
121 return null; 121 return null;
122 } 122 }
123 123
124 /** 124 /**
125 * @param uri The Uri to check. 125 * @param uri The Uri to check.
126 * @return Whether the Uri authority is ExternalStorageProvider. 126 * @return Whether the Uri authority is ExternalStorageProvider.
127 */ 127 */
128 private static boolean isExternalStorageDocument(Uri uri) { 128 private static boolean isExternalStorageDocument(Uri uri) {
129 return "com.android.externalstorage.documents".equals(uri.getAuthority()); 129 return "com.android.externalstorage.documents".equals(uri.getAuthority());
130 } 130 }
131 131
132 /** 132 /**
133 * @param uri The Uri to check. 133 * @param uri The Uri to check.
134 * @return Whether the Uri authority is DownloadsProvider. 134 * @return Whether the Uri authority is DownloadsProvider.
135 */ 135 */
136 private static boolean isDownloadsDocument(Uri uri) { 136 private static boolean isDownloadsDocument(Uri uri) {
137 return "com.android.providers.downloads.documents".equals(uri.getAuthority()); 137 return "com.android.providers.downloads.documents".equals(uri.getAuthority());
138 } 138 }
139 139
140 /** 140 /**
141 * @param uri The Uri to check. 141 * @param uri The Uri to check.
142 * @return Whether the Uri authority is MediaProvider. 142 * @return Whether the Uri authority is MediaProvider.
143 */ 143 */
144 private static boolean isMediaDocument(Uri uri) { 144 private static boolean isMediaDocument(Uri uri) {
145 return "com.android.providers.media.documents".equals(uri.getAuthority()); 145 return "com.android.providers.media.documents".equals(uri.getAuthority());
146 } 146 }
147 147
148
149 /**
150 * dp转换成px
151 */
152 public static int dp2px(Context context,float dpValue){
153 float scale=context.getResources().getDisplayMetrics().density;
154 return (int)(dpValue*scale+0.5f);
155 }
156 /**
157 * sp转换成px
158 */
159 public static int sp2px(Context context,float spValue){
160 float fontScale=context.getResources().getDisplayMetrics().scaledDensity;
161 return (int) (spValue*fontScale+0.5f);
162 }
148 } 163 }
149 164
PersonalCenter/app/src/main/java/com/hjx/personalcenter/util/GetDevicesUtil.java
1 package com.hjx.personalcenter.util; 1 package com.hjx.personalcenter.util;
2 2
3 import android.app.Activity;
3 import android.content.Context; 4 import android.content.Context;
4 import android.os.Build; 5 import android.os.Build;
6 import android.os.Environment;
7 import android.os.StatFs;
8 import android.os.storage.StorageManager;
9 import android.os.storage.StorageVolume;
5 import android.util.Log; 10 import android.util.Log;
11 import android.widget.Toast;
6 12
7 import com.hjx.personalcenter.model.DeviceInfo; 13 import com.hjx.personalcenter.model.DeviceInfo;
8 14
15 import java.io.BufferedReader;
16 import java.io.File;
9 import java.io.FileReader; 17 import java.io.FileReader;
18 import java.io.IOException;
10 import java.io.InputStreamReader; 19 import java.io.InputStreamReader;
11 import java.io.LineNumberReader; 20 import java.io.LineNumberReader;
12 import java.io.Reader; 21 import java.io.Reader;
22 import java.lang.reflect.Field;
23 import java.lang.reflect.InvocationTargetException;
24 import java.lang.reflect.Method;
25 import java.net.NetworkInterface;
26 import java.net.SocketException;
27 import java.util.Collections;
28 import java.util.Enumeration;
29 import java.util.List;
30 import java.util.Locale;
31 import java.util.UUID;
13 32
14 33
15 public class GetDevicesUtil { 34 public class GetDevicesUtil {
16 private final static String LOG_TAG = "GetDevicesUtil"; 35 private final static String LOG_TAG = "GetDevicesUtil";
17 36
18 public static DeviceInfo getDevicesInfo(Context context){ 37 public static DeviceInfo getDevicesInfo(Context context) {
19 DeviceInfo mDeviceInfo = new DeviceInfo(); 38 DeviceInfo mDeviceInfo = new DeviceInfo();
20 initDevicesInfo(mDeviceInfo,context); 39 initDevicesInfo(mDeviceInfo, context);
21 40
22 return mDeviceInfo; 41 return mDeviceInfo;
23 } 42 }
24 43
25 public static void initDevicesInfo(DeviceInfo mDeviceInfo,Context context){ 44 public static void initDevicesInfo(DeviceInfo mDeviceInfo, Context context) {
26 //if (PermissionUtil.hasReadExternalStoragePermission((Activity) context)) 45 //if (PermissionUtil.hasReadExternalStoragePermission((Activity) context))
27 mDeviceInfo.setDeviceModel(android.os.Build.MODEL); 46 if(android.os.Build.MODEL.equals("T8") && queryWithStorageManager(context)/(1024*1024*1024)>64){
28 Log.e(LOG_TAG,"" + mDeviceInfo.getDeviceModel()); 47 mDeviceInfo.setDeviceModel("T8 PRO");
29 mDeviceInfo.setMac(getMacAddress(context)); 48 }else {
30 Log.e(LOG_TAG,"" + mDeviceInfo.getMac()); 49 mDeviceInfo.setDeviceModel(android.os.Build.MODEL);
50 }
51 Log.e(LOG_TAG, "" + mDeviceInfo.getDeviceModel());
52 mDeviceInfo.setMac(getMacAddress(context));
53 Log.e(LOG_TAG, "" + mDeviceInfo.getMac());
31 54
32 mDeviceInfo.setDeviceNumber(getCPUSerial(context)); 55 mDeviceInfo.setDeviceNumber(getCPUSerial(context));
33 Log.e(LOG_TAG,"" + mDeviceInfo.getDeviceNumber()); 56 Log.e(LOG_TAG, "" + mDeviceInfo.getDeviceNumber());
34 } 57 }
35 58
36 private static String getCPUSerial(Context context) { 59 private static String getCPUSerial(Context context) {
37 //String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID); 60 //String androidID = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
38 String cpuAddress = Build.SERIAL; 61 String cpuAddress = Build.SERIAL;
39 // String cpuAddress = null; 62 // String cpuAddress = null;
40 // TelephonyManager mTelephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE); 63 // TelephonyManager mTelephony = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
41 // //if (PermissionUtil.hasReadExternalStoragePermission((Activity) context)) 64 // //if (PermissionUtil.hasReadExternalStoragePermission((Activity) context))
42 // if (mTelephony.getDeviceId() != null) { 65 // if (mTelephony.getDeviceId() != null) {
43 // cpuAddress = mTelephony.getDeviceId(); 66 // cpuAddress = mTelephony.getDeviceId();
44 // } else { 67 // } else {
45 // //android.provider.Settings; 68 // //android.provider.Settings;
46 // cpuAddress = Settings.Secure.getString(context.getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID); 69 // cpuAddress = Settings.Secure.getString(context.getApplicationContext().getContentResolver(), Settings.Secure.ANDROID_ID);
47 // } 70 // }
48 return cpuAddress; 71 return cpuAddress;
49 } 72 }
50 73
51 private static String getMacAddress(Context mContext){ 74
52 75 public static String getMacAddress(Context context) {
53 String str = ""; 76 // 如果是7.0以下,
54 String macSerial = ""; 77 if (Build.VERSION.SDK_INT < Build.VERSION_CODES.N) {
55 try { 78 return getMacAddress6(context);
56 Process pp = Runtime.getRuntime().exec( 79 } else {
57 "cat /sys/class/net/wlan0/address "); 80 return getNewMac();
58 InputStreamReader ir = new InputStreamReader(pp.getInputStream()); 81 }
59 LineNumberReader input = new LineNumberReader(ir); 82 }
60 83
61 for (; null != str;) { 84
62 str = input.readLine(); 85
63 if (str != null) { 86 private static String[] units = {"B", "KB", "MB", "GB", "TB"};
64 macSerial = str.trim();// 去空格 87 /**
65 break; 88 * 单位转换
66 } 89 */
67 } 90 private static String getUnit(float size) {
68 } catch (Exception ex) { 91 int index = 0;
69 ex.printStackTrace(); 92 while (size > 1024 && index < 4) {
70 } 93 size = size / 1024;
71 if (macSerial == null || "".equals(macSerial)) { 94 index++;
72 try { 95 }
73 return loadFileAsString("/sys/class/net/eth0/address") 96 return String.format(Locale.getDefault(), " %.2f %s", size, units[index]);
74 .toUpperCase().substring(0, 17); 97 }
75 } catch (Exception e) { 98
76 e.printStackTrace(); 99 /**
77 100 * 获取总共容量大小,包括系统大小
78 } 101 */
79 102 public static float queryWithStorageManager(Context context) {
80 } 103 //5.0 查外置存储
81 return macSerial; 104 StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
82 } 105 float unit = 1024;
83 106 int version = Build.VERSION.SDK_INT;
84 public static String loadFileAsString(String fileName) throws Exception { 107 if (version < Build.VERSION_CODES.M) {//小于6.0
85 FileReader reader = new FileReader(fileName); 108 try {
86 String text = loadReaderAsString(reader); 109 Method getVolumeList = StorageManager.class.getDeclaredMethod("getVolumeList");
87 reader.close(); 110 StorageVolume[] volumeList = (StorageVolume[]) getVolumeList.invoke(storageManager);
88 return text; 111 long totalSize = 0, availableSize = 0;
89 } 112 if (volumeList != null) {
90 113 Method getPathFile = null;
91 public static String loadReaderAsString(Reader reader) throws Exception { 114 for (StorageVolume volume : volumeList) {
92 StringBuilder builder = new StringBuilder(); 115 if (getPathFile == null) {
93 char[] buffer = new char[4096]; 116 getPathFile = volume.getClass().getDeclaredMethod("getPathFile");
94 int readLength = reader.read(buffer); 117 }
95 while (readLength >= 0) { 118 File file = (File) getPathFile.invoke(volume);
96 builder.append(buffer, 0, readLength); 119 totalSize += file.getTotalSpace();
97 readLength = reader.read(buffer); 120 availableSize += file.getUsableSpace();
98 } 121 }
99 return builder.toString(); 122 }
100 } 123 Log.d("TAG", "totalSize = " + getUnit(totalSize) +"||"+totalSize+ " ,availableSize = " + getUnit(availableSize));
124 return totalSize;
125 } catch (NoSuchMethodException e) {
126 e.printStackTrace();
127 } catch (IllegalAccessException e) {
128 e.printStackTrace();
129 } catch (InvocationTargetException e) {
130 e.printStackTrace();
131 }
132 } else {
133
134 try {
135 Method getVolumes = StorageManager.class.getDeclaredMethod("getVolumes");//6.0
136 List<Object> getVolumeInfo = (List<Object>) getVolumes.invoke(storageManager);
137 long total = 0L, used = 0L;
138 for (Object obj : getVolumeInfo) {
139
140 Field getType = obj.getClass().getField("type");
141 int type = getType.getInt(obj);
142
143 Log.d("TAG", "type: " + type);
144 if (type == 1) {//TYPE_PRIVATE
145
146 long totalSize = 0L;
147
148 //获取内置内存总大小
149 if (version >=26) {//8.0
150 // unit = 1000;
151 // Method getFsUuid = obj.getClass().getDeclaredMethod("getFsUuid");
152 // String fsUuid = (String) getFsUuid.invoke(obj);
153 // totalSize = getTotalSize(context, fsUuid);//8.0 以后使用
154 } else if (version >= Build.VERSION_CODES.N_MR1) {//7.1.1
155 Method getPrimaryStorageSize = StorageManager.class.getMethod("getPrimaryStorageSize");//5.0 6.0 7.0没有
156 totalSize = (long) getPrimaryStorageSize.invoke(storageManager);
157 }
158 long systemSize = 0L;
159
160 Method isMountedReadable = obj.getClass().getDeclaredMethod("isMountedReadable");
161 boolean readable = (boolean) isMountedReadable.invoke(obj);
162 if (readable) {
163 Method file = obj.getClass().getDeclaredMethod("getPath");
164 File f = (File) file.invoke(obj);
165
166 if (totalSize == 0) {
167 totalSize = f.getTotalSpace();
168 }
169 systemSize = totalSize - f.getTotalSpace();
170 used += totalSize - f.getFreeSpace();
171 total += totalSize;
172 }
173 Log.d("TAG", "设备内存大小:" + getUnit(totalSize) + "\n系统大小:" + getUnit(systemSize));
174 Log.d("TAG", "totalSize = " + getUnit(totalSize) +"||"+totalSize+ " ,used(with system) = " + getUnit(used) + " ,free = " + getUnit(totalSize - used));
175 return totalSize;
176
177 } else if (type == 0) {//TYPE_PUBLIC
178 // //外置存储
179 // Method isMountedReadable = obj.getClass().getDeclaredMethod("isMountedReadable");
180 // boolean readable = (boolean) isMountedReadable.invoke(obj);
181 // if (readable) {
182 // Method file = obj.getClass().getDeclaredMethod("getPath");
183 // File f = (File) file.invoke(obj);
184 // used += f.getTotalSpace() - f.getFreeSpace();
185 // total += f.getTotalSpace();
186 // }
187 } else if (type == 2) {//TYPE_EMULATED
188
189 }
190 }
191 Log.d("TAG", "总内存 total = " + getUnit(total) +"||"+total+ "\n已用 used(with system) = " + getUnit(used) + "\n可用 available = " + getUnit(total - used));
192 // return total;
193 Log.e("TAG", "缺少权限:permission.PACKAGE_USAGE_STATS");
194 } catch (Exception e) {
195 e.printStackTrace();
196 }
197 }
198 return 0;
199 }
200
201
202
203 /**
204 * 7.0以下获取
205 *
206 * @param mContext
207 * @return
208 */
209 private static String getMacAddress6(Context mContext) {
210
211 String str = "";
212 String macSerial = "";
213 try {
214 Process pp = Runtime.getRuntime().exec(
215 "cat /sys/class/net/wlan0/address ");
216 InputStreamReader ir = new InputStreamReader(pp.getInputStream());
217 LineNumberReader input = new LineNumberReader(ir);
218
219 for (; null != str; ) {
220 str = input.readLine();
221 if (str != null) {
222 macSerial = str.trim();// 去空格
223 break;
224 }
225 }
226 } catch (Exception ex) {
227 ex.printStackTrace();
228 }
229 if (macSerial == null || "".equals(macSerial)) {
230 try {
231 return loadFileAsString("/sys/class/net/eth0/address")
232 .toUpperCase().substring(0, 17);
233 } catch (Exception e) {
234 e.printStackTrace();
235
236 }
237
238 }
239 return macSerial;
240 }
241
242 public static String loadFileAsString(String fileName) throws Exception {
243 FileReader reader = new FileReader(fileName);
244 String text = loadReaderAsString(reader);
245 reader.close();
246 return text;
247 }
248
249 public static String loadReaderAsString(Reader reader) throws Exception {
250 StringBuilder builder = new StringBuilder();
251 char[] buffer = new char[4096];
252 int readLength = reader.read(buffer);
253 while (readLength >= 0) {
254 builder.append(buffer, 0, readLength);
255 readLength = reader.read(buffer);
256 }
257 return builder.toString();
258 }
259
260
261 /**
262 * 7.0以上根据busybox获取本地Mac
263 *
264 * @return
265 */
266 private static String getNewMac() {
267 try {
268 List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
269 for (NetworkInterface nif : all) {
270 if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
271
272 byte[] macBytes = nif.getHardwareAddress();
273 if (macBytes == null) {
274 return null;
275 }
276
277 StringBuilder res1 = new StringBuilder();
278 for (byte b : macBytes) {
279 res1.append(String.format("%02X:", b));
280 }
281
282 if (res1.length() > 0) {
283 res1.deleteCharAt(res1.length() - 1);
284 }
285 return res1.toString();
286 }
287 } catch (Exception ex) {
288 ex.printStackTrace();
289 }
290 return null;
291 }
292
101 } 293 }
102 294
PersonalCenter/app/src/main/java/com/hjx/personalcenter/util/PermissionUtil.java
1 package com.hjx.personalcenter.util; 1 package com.hjx.personalcenter.util;
2 2
3 import android.Manifest; 3 import android.Manifest;
4 import android.app.Activity; 4 import android.app.Activity;
5 import android.content.pm.PackageManager; 5 import android.content.pm.PackageManager;
6 import android.os.Build; 6 import android.os.Build;
7 import android.support.v4.app.ActivityCompat; 7 import android.support.v4.app.ActivityCompat;
8 import android.support.v4.content.ContextCompat; 8 import android.support.v4.content.ContextCompat;
9 import android.support.v4.util.SimpleArrayMap; 9 import android.support.v4.util.SimpleArrayMap;
10 import android.util.Log; 10 import android.util.Log;
11 11
12 /** 12 /**
13 * Created by yf on 2016/7/22 0022. 13 * Created by yf on 2016/7/22 0022.
14 */ 14 */
15 public class PermissionUtil { 15 public class PermissionUtil {
16 public static final int REQUEST_SHOWCAMERA = 0; 16 public static final int REQUEST_SHOWCAMERA = 0;
17 public static final int READ_PHONE_STATE = 1; 17 public static final int WRITE_EXTERNAL_STORAGE = 1;
18 public static final int REQUEST_RECORD_AUDIO = 2; 18 public static final int REQUEST_RECORD_AUDIO = 2;
19 public static final int REQUEST_CONTACTS = 3; 19 public static final int REQUEST_CONTACTS = 3;
20 public static final int REQUEST_LOCATION = 4; 20 public static final int REQUEST_LOCATION = 4;
21 21
22 22
23 private static final SimpleArrayMap<String, Integer> MIN_SDK_PERMISSIONS; 23 private static final SimpleArrayMap<String, Integer> MIN_SDK_PERMISSIONS;
24 static { 24 static {
25 MIN_SDK_PERMISSIONS = new SimpleArrayMap<>(8); 25 MIN_SDK_PERMISSIONS = new SimpleArrayMap<>(8);
26 MIN_SDK_PERMISSIONS.put("com.android.voicemail.permission.ADD_VOICEMAIL", 14); 26 MIN_SDK_PERMISSIONS.put("com.android.voicemail.permission.ADD_VOICEMAIL", 14);
27 MIN_SDK_PERMISSIONS.put("android.permission.BODY_SENSORS", 20); 27 MIN_SDK_PERMISSIONS.put("android.permission.BODY_SENSORS", 20);
28 MIN_SDK_PERMISSIONS.put("android.permission.READ_CALL_LOG", 16); 28 MIN_SDK_PERMISSIONS.put("android.permission.READ_CALL_LOG", 16);
29 MIN_SDK_PERMISSIONS.put("android.permission.READ_EXTERNAL_STORAGE", 16); 29 MIN_SDK_PERMISSIONS.put("android.permission.READ_EXTERNAL_STORAGE", 16);
30 MIN_SDK_PERMISSIONS.put("android.permission.USE_SIP", 9); 30 MIN_SDK_PERMISSIONS.put("android.permission.USE_SIP", 9);
31 MIN_SDK_PERMISSIONS.put("android.permission.WRITE_CALL_LOG", 16); 31 MIN_SDK_PERMISSIONS.put("android.permission.WRITE_CALL_LOG", 16);
32 MIN_SDK_PERMISSIONS.put("android.permission.SYSTEM_ALERT_WINDOW", 23); 32 MIN_SDK_PERMISSIONS.put("android.permission.SYSTEM_ALERT_WINDOW", 23);
33 MIN_SDK_PERMISSIONS.put("android.permission.WRITE_SETTINGS", 23); 33 MIN_SDK_PERMISSIONS.put("android.permission.WRITE_SETTINGS", 23);
34 MIN_SDK_PERMISSIONS.put("android.permission.READ_PHONE_STATE", 23); 34 MIN_SDK_PERMISSIONS.put("android.permission.READ_PHONE_STATE", 23);
35 } 35 }
36 private static boolean permissionExists(String permission) { 36 private static boolean permissionExists(String permission) {
37 Integer minVersion = MIN_SDK_PERMISSIONS.get(permission); 37 Integer minVersion = MIN_SDK_PERMISSIONS.get(permission);
38 return minVersion == null || Build.VERSION.SDK_INT >= minVersion; 38 return minVersion == null || Build.VERSION.SDK_INT >= minVersion;
39 } 39 }
40 40
41 41
42 public static boolean hasCameraPermission(Activity activity){ 42 public static boolean hasCameraPermission(Activity activity){
43 int hasPermission = ContextCompat.checkSelfPermission(activity, 43 int hasPermission = ContextCompat.checkSelfPermission(activity,
44 Manifest.permission.CAMERA); 44 Manifest.permission.CAMERA);
45 if(!permissionExists(Manifest.permission.CAMERA)){ 45 if(!permissionExists(Manifest.permission.CAMERA)){
46 Log.e("permission","your system does not suppport"+ Manifest.permission.CAMERA+" permission"); 46 Log.e("permission","your system does not suppport"+ Manifest.permission.CAMERA+" permission");
47 return false; 47 return false;
48 } 48 }
49 if (hasPermission != PackageManager.PERMISSION_GRANTED) { 49 if (hasPermission != PackageManager.PERMISSION_GRANTED) {
50 ActivityCompat.requestPermissions(activity, 50 ActivityCompat.requestPermissions(activity,
51 new String[]{Manifest.permission.CAMERA}, 51 new String[]{Manifest.permission.CAMERA},
52 PermissionUtil.REQUEST_SHOWCAMERA); 52 PermissionUtil.REQUEST_SHOWCAMERA);
53 return false; 53 return false;
54 } 54 }
55 return true; 55 return true;
56 } 56 }
57 57
58 public static boolean hasReadExternalStoragePermission(Activity activity){ 58 public static boolean hasReadExternalStoragePermission(Activity activity){
59 int hasPermission = ContextCompat.checkSelfPermission(activity, 59 int hasPermission = ContextCompat.checkSelfPermission(activity,
60 Manifest.permission.READ_PHONE_STATE); 60 Manifest.permission.WRITE_EXTERNAL_STORAGE);
61 if(!permissionExists(Manifest.permission.READ_PHONE_STATE)){ 61 if(!permissionExists(Manifest.permission.WRITE_EXTERNAL_STORAGE)){
62 Log.e("permission","your system does not suppport "+ Manifest.permission.READ_PHONE_STATE+" permission"); 62 Log.e("permission","your system does not suppport "+ Manifest.permission.WRITE_EXTERNAL_STORAGE+" permission");
63 return false; 63 return false;
64 } 64 }
65 if (hasPermission != PackageManager.PERMISSION_GRANTED) { 65 if (hasPermission != PackageManager.PERMISSION_GRANTED) {
66 ActivityCompat.requestPermissions(activity, 66 ActivityCompat.requestPermissions(activity,
67 new String[]{Manifest.permission.READ_PHONE_STATE}, 67 new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
68 PermissionUtil.READ_PHONE_STATE); 68 PermissionUtil.WRITE_EXTERNAL_STORAGE);
69 return false; 69 return false;
70 } 70 }
71 return true; 71 return true;
72 } 72 }
73 public static boolean hasRecordAudioPermission(Activity activity){ 73 public static boolean hasRecordAudioPermission(Activity activity){
74 int hasPermission = ContextCompat.checkSelfPermission(activity, 74 int hasPermission = ContextCompat.checkSelfPermission(activity,
75 Manifest.permission.RECORD_AUDIO); 75 Manifest.permission.RECORD_AUDIO);
76 if(!permissionExists(Manifest.permission.RECORD_AUDIO)){ 76 if(!permissionExists(Manifest.permission.RECORD_AUDIO)){
77 Log.e("permission","your system does not suppport"+ Manifest.permission.RECORD_AUDIO+" permission"); 77 Log.e("permission","your system does not suppport"+ Manifest.permission.RECORD_AUDIO+" permission");
78 return false; 78 return false;
79 } 79 }
80 if (hasPermission != PackageManager.PERMISSION_GRANTED) { 80 if (hasPermission != PackageManager.PERMISSION_GRANTED) {
81 ActivityCompat.requestPermissions(activity, 81 ActivityCompat.requestPermissions(activity,
82 new String[]{Manifest.permission.RECORD_AUDIO}, 82 new String[]{Manifest.permission.RECORD_AUDIO},
83 PermissionUtil.REQUEST_RECORD_AUDIO); 83 PermissionUtil.REQUEST_RECORD_AUDIO);
84 return false; 84 return false;
85 } 85 }
86 return true; 86 return true;
87 } 87 }
88 88
89 public static boolean hasContactsPermission(Activity activity){ 89 public static boolean hasContactsPermission(Activity activity){
90 int hasWPermission = ContextCompat.checkSelfPermission(activity, 90 int hasWPermission = ContextCompat.checkSelfPermission(activity,
91 Manifest.permission.WRITE_CONTACTS); 91 Manifest.permission.WRITE_CONTACTS);
92 int hasRPermission = ContextCompat.checkSelfPermission(activity, 92 int hasRPermission = ContextCompat.checkSelfPermission(activity,
93 Manifest.permission.READ_CONTACTS); 93 Manifest.permission.READ_CONTACTS);
94 94
95 if(hasRPermission== PackageManager.PERMISSION_GRANTED && hasWPermission== PackageManager.PERMISSION_GRANTED){ 95 if(hasRPermission== PackageManager.PERMISSION_GRANTED && hasWPermission== PackageManager.PERMISSION_GRANTED){
96 return true; 96 return true;
97 } 97 }
98 ActivityCompat.requestPermissions(activity, 98 ActivityCompat.requestPermissions(activity,
99 new String[]{Manifest.permission.WRITE_CONTACTS, Manifest.permission.READ_CONTACTS}, 99 new String[]{Manifest.permission.WRITE_CONTACTS, Manifest.permission.READ_CONTACTS},
100 PermissionUtil.REQUEST_CONTACTS); 100 PermissionUtil.REQUEST_CONTACTS);
101 return false; 101 return false;
102 } 102 }
103 public static boolean hasLocationPermission(Activity activity){ 103 public static boolean hasLocationPermission(Activity activity){
104 int hasFPermission = ContextCompat.checkSelfPermission(activity, 104 int hasFPermission = ContextCompat.checkSelfPermission(activity,
105 Manifest.permission.ACCESS_FINE_LOCATION); 105 Manifest.permission.ACCESS_FINE_LOCATION);
106 int hasCPermission = ContextCompat.checkSelfPermission(activity, 106 int hasCPermission = ContextCompat.checkSelfPermission(activity,
107 Manifest.permission.ACCESS_COARSE_LOCATION); 107 Manifest.permission.ACCESS_COARSE_LOCATION);
108 108
109 if(hasFPermission== PackageManager.PERMISSION_GRANTED&&hasCPermission== PackageManager.PERMISSION_GRANTED){ 109 if(hasFPermission== PackageManager.PERMISSION_GRANTED&&hasCPermission== PackageManager.PERMISSION_GRANTED){
110 return true; 110 return true;
111 } 111 }
112 ActivityCompat.requestPermissions(activity, 112 ActivityCompat.requestPermissions(activity,
113 new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, 113 new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION},
114 PermissionUtil.REQUEST_LOCATION); 114 PermissionUtil.REQUEST_LOCATION);
115 return false; 115 return false;
116 } 116 }
117 117
118 } 118 }
119 119
PersonalCenter/app/src/main/java/com/hjx/personalcenter/util/PhoneNumCheckUtils.java
1 package com.hjx.personalcenter.util; 1 package com.hjx.personalcenter.util;
2 2
3 /** 3 /**
4 * Created by l on 2017/7/18. 4 * Created by l on 2017/7/18.
5 */ 5 */
6 import java.util.regex.Pattern; 6 import java.util.regex.Pattern;
7 7
8 /** 8 /**
9 * 手机号码或座机号码格式合法性验证 9 * 手机号码或座机号码格式合法性验证
10 * 判断手机号码是否合法(移动,联通,电信) 10 * 判断手机号码是否合法(移动,联通,电信)
11 * 11 *
12 * @author F 12 * @author F
13 * 13 *
14 */ 14 */
15 public class PhoneNumCheckUtils { 15 public class PhoneNumCheckUtils {
16 16
17 private static final String PHONE_CALL_PATTERN = "^(\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(-\\d{1,4})?$"; 17 private static final String PHONE_CALL_PATTERN = "^(\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(-\\d{1,4})?$";
18 18
19 /** 19 /**
20 * 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173 20 * 中国电信号码格式验证 手机段: 133,153,180,181,189,177,1700,173,199
21 * **/ 21 * **/
22 private static final String CHINA_TELECOM_PATTERN = "(^1(33|53|7[37]|8[019])\\d{8}$)|(^1700\\d{7}$)"; 22 private static final String CHINA_TELECOM_PATTERN = "(^1(33|53|7[37]|8[019]|9[9])\\d{8}$)|(^1700\\d{7}$)";
23 23
24 /** 24 /**
25 * 中国联通号码格式验证 手机段:130,131,132,155,156,185,186,145,176,1707,1708,1709 25 * 中国联通号码格式验证 手机段:130,131,132,155,156,185,186,145,176,1707,1708,1709,166
26 * **/ 26 * **/
27 private static final String CHINA_UNICOM_PATTERN = "(^1(3[0-2]|4[5]|5[56]|7[6]|8[56])\\d{8}$)|(^170[7-9]\\d{7}$)"; 27 private static final String CHINA_UNICOM_PATTERN = "(^1(3[0-2]|4[5]|5[56]|6[6]|7[6]|8[56])\\d{8}$)|(^170[7-9]\\d{7}$)";
28 28
29 /** 29 /**
30 * 中国移动号码格式验证 30 * 中国移动号码格式验证
31 * 手机段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184 31 * 手机段:134,135,136,137,138,139,150,151,152,157,158,159,182,183,184
32 * ,187,188,147,178,1705 32 * ,187,188,147,178,1705,198
33 * 33 *
34 **/ 34 **/
35 private static final String CHINA_MOBILE_PATTERN = "(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478])\\d{8}$)|(^1705\\d{7}$)"; 35 private static final String CHINA_MOBILE_PATTERN = "(^1(3[4-9]|4[7]|5[0-27-9]|7[8]|8[2-478]|9[8])\\d{8}$)|(^1705\\d{7}$)";
36 36
37 /** 37 /**
38 * 仅手机号格式校验 38 * 仅手机号格式校验
39 */ 39 */
40 private static final String PHONE_PATTERN = new StringBuilder(300) 40 private static final String PHONE_PATTERN = new StringBuilder(300)
41 .append(CHINA_MOBILE_PATTERN).append("|") 41 .append(CHINA_MOBILE_PATTERN).append("|")
42 .append(CHINA_TELECOM_PATTERN).append("|") 42 .append(CHINA_TELECOM_PATTERN).append("|")
43 .append(CHINA_UNICOM_PATTERN).toString(); 43 .append(CHINA_UNICOM_PATTERN).toString();
44 44
45 /** 45 /**
46 * 手机和座机号格式校验 46 * 手机和座机号格式校验
47 */ 47 */
48 private static final String PHONE_TEL_PATTERN = new StringBuilder(350) 48 private static final String PHONE_TEL_PATTERN = new StringBuilder(350)
49 .append(PHONE_PATTERN).append("|").append("(") 49 .append(PHONE_PATTERN).append("|").append("(")
50 .append(PHONE_CALL_PATTERN).append(")").toString(); 50 .append(PHONE_CALL_PATTERN).append(")").toString();
51 51
52 /** 52 /**
53 * 匹配多个号码以,、或空格隔开的格式,如 17750581369 53 * 匹配多个号码以,、或空格隔开的格式,如 17750581369
54 * 13306061248、(596)3370653,17750581369,13306061248 (0596)3370653 54 * 13306061248、(596)3370653,17750581369,13306061248 (0596)3370653
55 */ 55 */
56 private static final String MULTI_PHONE_TEL_PATTERN = "^(?:(?:(?:(?:(?:(?:13[0-9])|(?:14[57])|(?:15[0-35-9])|(?:17[36-8])|(?:18[0-9]))\\d{8})|(?:170[057-9]\\d{7})|(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?)[,\\s、])+)?(?:(?:(?:(?:13[0-9])|(?:14[57])|(?:15[0-35-9])|(?:17[36-8])|(?:18[0-9]))\\d{8})|(?:170[057-9]\\d{7})|(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?)$"; 56 private static final String MULTI_PHONE_TEL_PATTERN = "^(?:(?:(?:(?:(?:(?:13[0-9])|(?:14[57])|(?:15[0-35-9])|(?:17[36-8])|(?:18[0-9]))\\d{8})|(?:170[057-9]\\d{7})|(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?)[,\\s、])+)?(?:(?:(?:(?:13[0-9])|(?:14[57])|(?:15[0-35-9])|(?:17[36-8])|(?:18[0-9]))\\d{8})|(?:170[057-9]\\d{7})|(?:\\(\\d{3,4}\\)|\\d{3,4}-)?\\d{7,8}(?:-\\d{1,4})?)$";
57 57
58 /** 58 /**
59 * 匹配多个号码以,、或空格隔开的格式,如 17750581369 59 * 匹配多个号码以,、或空格隔开的格式,如 17750581369
60 * 13306061248、(596)3370653,17750581369,13306061248 (0596)3370653 60 * 13306061248、(596)3370653,17750581369,13306061248 (0596)3370653
61 * 61 *
62 * @param input 62 * @param input
63 * @return 63 * @return
64 */ 64 */
65 public static boolean checkMultiPhone(String input) { 65 public static boolean checkMultiPhone(String input) {
66 return match(MULTI_PHONE_TEL_PATTERN, input); 66 return match(MULTI_PHONE_TEL_PATTERN, input);
67 } 67 }
68 68
69 /** 69 /**
70 * 仅手机号码校验 70 * 仅手机号码校验
71 * 71 *
72 * @param input 72 * @param input
73 * @return 73 * @return
74 */ 74 */
75 public static boolean isPhone(String input) { 75 public static boolean isPhone(String input) {
76 return match(PHONE_PATTERN, input); 76 // return match(PHONE_PATTERN, input);
77 if(input.length()==11){
78 return true;
79 }else{
80 return false;
81 }
77 } 82 }
78 83
79 /** 84 /**
80 * 手机号或座机号校验 85 * 手机号或座机号校验
81 * 86 *
82 * @param input 87 * @param input
83 * @return 88 * @return
84 */ 89 */
85 public static boolean isPhoneOrTel(String input) { 90 public static boolean isPhoneOrTel(String input) {
86 System.out.println(PHONE_TEL_PATTERN); 91 System.out.println(PHONE_TEL_PATTERN);
87 return match(PHONE_TEL_PATTERN, input); 92 return match(PHONE_TEL_PATTERN, input);
88 } 93 }
89 94
90 /** 95 /**
91 * 验证电话号码的格式 96 * 验证电话号码的格式
92 * 97 *
93 * @author F 98 * @author F
94 * @param str 99 * @param str
95 * 校验电话字符串 100 * 校验电话字符串
96 * @return 返回true,否则为false 101 * @return 返回true,否则为false
97 */ 102 */
98 public static boolean isPhoneCallNum(String str) { 103 public static boolean isPhoneCallNum(String str) {
99 return match(PHONE_CALL_PATTERN, str); 104 return match(PHONE_CALL_PATTERN, str);
100 } 105 }
101 106
102 /** 107 /**
103 * 验证【电信】手机号码的格式 108 * 验证【电信】手机号码的格式
104 * 109 *
105 * @author F 110 * @author F
106 * @param str 111 * @param str
107 * 校验手机字符串 112 * 校验手机字符串
108 * @return 返回true,否则为false 113 * @return 返回true,否则为false
109 */ 114 */
110 public static boolean isChinaTelecomPhoneNum(String str) { 115 public static boolean isChinaTelecomPhoneNum(String str) {
111 return match(CHINA_TELECOM_PATTERN, str); 116 return match(CHINA_TELECOM_PATTERN, str);
112 } 117 }
113 118
114 /** 119 /**
115 * 验证【联通】手机号码的格式 120 * 验证【联通】手机号码的格式
116 * 121 *
117 * @author F 122 * @author F
118 * @param str 123 * @param str
119 * 校验手机字符串 124 * 校验手机字符串
120 * @return 返回true,否则为false 125 * @return 返回true,否则为false
121 */ 126 */
122 public static boolean isChinaUnicomPhoneNum(String str) { 127 public static boolean isChinaUnicomPhoneNum(String str) {
123 return match(CHINA_UNICOM_PATTERN, str); 128 return match(CHINA_UNICOM_PATTERN, str);
124 } 129 }
125 130
126 /** 131 /**
127 * 验证【移动】手机号码的格式 132 * 验证【移动】手机号码的格式
128 * 133 *
129 * @author F 134 * @author F
130 * @param str 135 * @param str
131 * 校验手机字符串 136 * 校验手机字符串
132 * @return 返回true,否则为false 137 * @return 返回true,否则为false
133 */ 138 */
134 public static boolean isChinaMobilePhoneNum(String str) { 139 public static boolean isChinaMobilePhoneNum(String str) {
135 return match(CHINA_MOBILE_PATTERN, str); 140 return match(CHINA_MOBILE_PATTERN, str);
136 } 141 }
137 142
138 /** 143 /**
139 * 匹配函数 144 * 匹配函数
140 * 145 *
141 * @param regex 146 * @param regex
142 * @param input 147 * @param input
143 * @return 148 * @return
144 */ 149 */
145 private static boolean match(String regex, String input) { 150 private static boolean match(String regex, String input) {
146 return Pattern.matches(regex, input); 151 return Pattern.matches(regex, input);
147 } 152 }
148 } 153 }
149 154
PersonalCenter/app/src/main/res/drawable/blue_btn_bg_normal.xml
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3 android:shape="rectangle" > 3 android:shape="rectangle" >
4 4
5 <solid android:color="@color/login_text_blue" /> 5 <solid android:color="@color/login_text_blue" />
6 6
7 <corners 7 <corners
8 android:bottomLeftRadius="8dp" 8 android:radius="30dp"/>
9 android:bottomRightRadius="8dp"
10 android:topLeftRadius="8dp"
11 android:topRightRadius="8dp" />
12 9
13 <stroke 10 <stroke
14 android:width="1px" 11 android:width="1px"
15 android:color="@color/login_text_blue" /> 12 android:color="@color/login_text_blue" />
16 13
17 </shape> 14 </shape>
PersonalCenter/app/src/main/res/drawable/blue_btn_bg_pressed.xml
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3 android:shape="rectangle" > 3 android:shape="rectangle" >
4 4
5 <solid android:color="@color/login_text_blue" /> 5 <solid android:color="@color/login_text_blue" />
6 6
7 <corners 7 <corners
8 android:bottomLeftRadius="8dp" 8 android:radius="30dp"/>
9 android:bottomRightRadius="8dp"
10 android:topLeftRadius="8dp"
11 android:topRightRadius="8dp" />
12 9
13 <stroke 10 <stroke
14 android:width="1px" 11 android:width="1px"
15 android:color="@color/login_text_blue" /> 12 android:color="@color/login_text_blue" />
16 13
17 </shape> 14 </shape>
PersonalCenter/app/src/main/res/drawable/code_bg.xml
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3 android:shape="rectangle" >
4
5 <solid android:color="@color/input_bg"/>
6
7 <corners android:radius="30dip"/>
8 <!--显示一条虚线,破折线的宽度为dashWith,破折线之间的空隙的宽度为dashGap,当dashGap=0dp时,为实线 -->
9 <stroke
10 android:dashGap="0dp"
11 android:dashWidth="2dp"
12 android:width="1.5dp"
13 android:color="@color/login_text_blue" />
14 </shape>
PersonalCenter/app/src/main/res/drawable/input_bg.xml
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3 android:shape="rectangle" >
4
5 <solid android:color="@color/input_bg"/>
6
7 <corners android:radius="30dip"/>
8
9 </shape>
PersonalCenter/app/src/main/res/drawable/white_cycle_bg.xml
File was created 1 <?xml version="1.0" encoding="UTF-8"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3 android:shape="rectangle" >
4
5 <solid android:color="@color/white"/>
6
7 <corners android:radius="20dip"/>
8
9 </shape>
PersonalCenter/app/src/main/res/layout/activity_changepsword.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:background="#ffffffff" 5 android:background="@mipmap/main_bg"
6 android:orientation="vertical"> 6 android:orientation="vertical">
7 7
8 <RelativeLayout 8 <RelativeLayout
9 android:id="@+id/title" 9 android:id="@+id/title"
10 android:layout_width="match_parent" 10 android:layout_width="match_parent"
11 android:layout_height="wrap_content" 11 android:layout_height="wrap_content"
12 android:background="@color/login_text_blue" 12 android:background="@color/login_text_blue"
13 android:minHeight="50dp"> 13 android:minHeight="50dp">
14 14
15 <ImageView 15 <ImageView
16 android:id="@+id/cancel" 16 android:id="@+id/cancel"
17 android:layout_width="wrap_content" 17 android:layout_width="wrap_content"
18 android:layout_height="wrap_content" 18 android:layout_height="wrap_content"
19 android:layout_centerVertical="true" 19 android:layout_centerVertical="true"
20 android:paddingLeft="20dp" 20 android:paddingLeft="20dp"
21 android:paddingRight="20dp" 21 android:paddingRight="20dp"
22 android:src="@mipmap/title_back" /> 22 android:src="@mipmap/title_back" />
23 23
24 <TextView 24 <TextView
25 android:id="@+id/menu_title" 25 android:id="@+id/menu_title"
26 android:layout_width="wrap_content" 26 android:layout_width="wrap_content"
27 android:layout_height="wrap_content" 27 android:layout_height="wrap_content"
28 android:layout_centerInParent="true" 28 android:layout_centerInParent="true"
29 android:text="修改密码" 29 android:text="修改密码"
30 android:textColor="@android:color/white" 30 android:textColor="@android:color/white"
31 android:textSize="22sp" /> 31 android:textSize="22sp" />
32 </RelativeLayout> 32 </RelativeLayout>
33 33
34 <RelativeLayout 34 <LinearLayout
35 android:layout_width="match_parent" 35 android:layout_width="550dp"
36 android:layout_height="match_parent" 36 android:layout_height="600dp"
37 android:layout_below="@id/title" 37 android:layout_centerInParent="true"
38 android:background="#ffffffff" 38 android:layout_marginTop="20dp"
39 android:orientation="vertical" 39 android:background="@drawable/white_cycle_bg"
40 android:paddingLeft="250dp" 40 android:paddingLeft="30dp"
41 android:paddingRight="250dp"> 41 android:paddingRight="30dp"
42 42 android:orientation="vertical">
43 <RelativeLayout 43
44 <ImageView
45 android:id="@+id/iv_logo"
46 android:layout_width="wrap_content"
47 android:layout_height="wrap_content"
48 android:layout_gravity="center_horizontal"
49 android:layout_marginTop="15dp"
50 android:src="@mipmap/logo" />
51
52
53 <LinearLayout
44 android:id="@+id/pwd_rl" 54 android:id="@+id/pwd_rl"
45 android:layout_width="match_parent" 55 android:layout_width="match_parent"
46 android:layout_height="wrap_content" 56 android:layout_height="wrap_content"
47 android:layout_marginTop="100dp"> 57 android:layout_marginTop="30dp"
58 android:background="@drawable/input_bg"
59 android:gravity="center_horizontal"
60 android:orientation="horizontal"
61 android:paddingRight="10dp">
48 62
49 <EditText 63 <EditText
50 android:id="@+id/et_oldpassword" 64 android:id="@+id/et_oldpassword"
51 style="@style/login_register_edit_style" 65 style="@style/login_register_edit_style"
52 android:hint="输入原密码" 66 android:hint="输入原密码"
53 android:inputType="textPassword" /> 67 android:imeOptions="actionNext"
68 android:inputType="textPassword"
69 android:maxLength="11" />
54 70
55 </RelativeLayout> 71 <ImageButton
72 android:id="@+id/oldpassword_delete_btn"
73 android:layout_width="50dp"
74 android:layout_height="match_parent"
75 android:background="@null"
76 android:src="@mipmap/delete_btn"
77 android:visibility="invisible" />
78 </LinearLayout>
56 79
57 80
58 <TextView 81 <LinearLayout
59 android:id="@+id/oldpassword_error_hint"
60 style="@style/registererrhint_style"
61 android:layout_below="@id/pwd_rl" />
62 <RelativeLayout
63 android:id="@+id/et_newpassworda"
64 android:layout_width="match_parent" 82 android:layout_width="match_parent"
65 android:layout_below="@id/pwd_rl" 83 android:layout_height="wrap_content"
66 android:layout_marginTop="30dp" 84 android:layout_below="@id/rl_authcode"
67 android:layout_height="wrap_content"> 85 android:background="@drawable/input_bg"
86 android:gravity="center_vertical"
87 android:layout_marginTop="40dp">
88
68 <EditText 89 <EditText
69 android:id="@+id/et_newpassword" 90 android:id="@+id/et_newpassword"
70 style="@style/login_register_edit_style" 91 style="@style/login_register_edit_style"
71 android:hint="密码为英文和数字组成,最少8位" 92 android:hint="密码为英文和数字组成,最少8位"
72 android:inputType="textPassword" /> 93 android:inputType="textPassword" />
94
73 <ImageView 95 <ImageView
74 android:id="@+id/iv_pwd_change" 96 android:id="@+id/iv_pwd_change"
75 android:padding="10dp"
76 android:layout_width="40dp" 97 android:layout_width="40dp"
77 android:layout_marginRight="10dp"
78 android:layout_height="wrap_content" 98 android:layout_height="wrap_content"
79 android:layout_alignParentRight="true" 99 android:layout_alignParentRight="true"
80 android:layout_centerVertical="true" 100 android:layout_centerVertical="true"
101 android:layout_marginLeft="10dp"
102 android:layout_marginRight="15dp"
103 android:padding="10dp"
81 android:src="@mipmap/pwd_hide" /> 104 android:src="@mipmap/pwd_hide" />
105 </LinearLayout>
82 106
83 </RelativeLayout>
84 107
85 108
109 <LinearLayout
110 android:id="@+id/et_again_newpassword_layout"
111 android:layout_width="match_parent"
112 android:layout_height="wrap_content"
113 android:layout_marginTop="40dp"
114 android:background="@drawable/input_bg"
115 android:gravity="center_vertical"
116 android:orientation="horizontal">
86 117
87 <TextView 118 <EditText
88 android:id="@+id/newpassword_error_hint" 119 android:id="@+id/et_again_newpassword"
89 style="@style/registererrhint_style" 120 style="@style/login_register_edit_style"
90 android:layout_below="@id/et_newpassworda" /> 121 android:layout_below="@id/pwd_rl"
122 android:hint="再次输入新密码"
123 android:inputType="textPassword" />
91 124
92 <EditText 125 <ImageView
93 android:id="@+id/et_again_newpassword" 126 android:id="@+id/iv_newpwd_change"
94 style="@style/login_register_edit_style" 127 android:layout_width="40dp"
95 android:layout_below="@id/et_newpassworda" 128 android:layout_height="wrap_content"
96 android:layout_marginTop="30dp" 129 android:layout_alignParentRight="true"
97 android:hint="再次输入新密码" 130 android:layout_centerVertical="true"
98 android:inputType="textPassword" /> 131 android:layout_marginLeft="10dp"
132 android:layout_marginRight="15dp"
133 android:padding="10dp"
134 android:src="@mipmap/pwd_hide" />
135 </LinearLayout>
99 136
100 <TextView 137 <TextView
101 android:id="@+id/again_newpassword_error_hint" 138 android:id="@+id/again_newpassword_error_hint"
102 style="@style/registererrhint_style" 139 style="@style/registererrhint_style"
103 android:layout_below="@id/et_again_newpassword" /> 140 android:layout_below="@id/et_again_newpassword" />
104 141
105 <Button 142 <Button
PersonalCenter/app/src/main/res/layout/activity_electronic_look_cardinfo.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:orientation="vertical"> 5 android:orientation="vertical">
6 6
7 <RelativeLayout 7 <RelativeLayout
8 android:id="@+id/title" 8 android:id="@+id/title"
9 android:layout_width="match_parent" 9 android:layout_width="match_parent"
10 android:layout_height="wrap_content" 10 android:layout_height="wrap_content"
11 android:background="@color/login_text_blue" 11 android:background="@color/login_text_blue"
12 android:minHeight="50dp"> 12 android:minHeight="50dp">
13 13
14 <ImageView 14 <ImageView
15 android:id="@+id/cancel" 15 android:id="@+id/cancel"
16 android:layout_width="wrap_content" 16 android:layout_width="wrap_content"
17 android:layout_height="wrap_content" 17 android:layout_height="wrap_content"
18 android:layout_centerVertical="true" 18 android:layout_centerVertical="true"
19 android:paddingLeft="20dp" 19 android:paddingLeft="20dp"
20 android:paddingRight="20dp" 20 android:paddingRight="20dp"
21 android:src="@mipmap/title_back" /> 21 android:src="@mipmap/title_back" />
22 22
23 <TextView 23 <TextView
24 android:id="@+id/menu_title" 24 android:id="@+id/menu_title"
25 android:layout_width="wrap_content" 25 android:layout_width="wrap_content"
26 android:layout_height="wrap_content" 26 android:layout_height="wrap_content"
27 android:layout_centerInParent="true" 27 android:layout_centerInParent="true"
28 android:text="@string/string_electroniccard_info_look" 28 android:text="@string/string_electroniccard_info_look"
29 android:textColor="@android:color/white" 29 android:textColor="@android:color/white"
30 android:textSize="22sp" /> 30 android:textSize="22sp" />
31 </RelativeLayout> 31 </RelativeLayout>
32 32
33 <LinearLayout 33 <LinearLayout
34 android:layout_width="match_parent" 34 android:layout_width="match_parent"
35 android:layout_height="wrap_content" 35 android:layout_height="wrap_content"
36 android:layout_margin="20dp" 36 android:layout_margin="20dp"
37 android:background="@mipmap/cardbackgrangd" 37 android:background="@mipmap/cardbackgrangd"
38 android:gravity="center" 38 android:gravity="center"
39 android:orientation="vertical"> 39 android:orientation="vertical">
40 40
41 <LinearLayout 41 <LinearLayout
42 android:layout_width="match_parent" 42 android:layout_width="match_parent"
43 android:layout_height="wrap_content" 43 android:layout_height="wrap_content"
44 android:layout_marginTop="70dp" 44 android:layout_marginTop="70dp"
45 android:gravity="center_vertical" 45 android:gravity="center_vertical"
46 android:orientation="horizontal"> 46 android:orientation="horizontal">
47 47
48 <LinearLayout 48 <LinearLayout
49 android:layout_width="0dp" 49 android:layout_width="0dp"
50 android:layout_height="wrap_content" 50 android:layout_height="wrap_content"
51 android:layout_marginLeft="200dp" 51 android:layout_marginLeft="200dp"
52 android:layout_weight="1" 52 android:layout_weight="1"
53 android:gravity="center_vertical"> 53 android:gravity="center_vertical">
54 54
55 <ImageView 55 <ImageView
56 android:layout_width="wrap_content" 56 android:layout_width="wrap_content"
57 android:layout_height="wrap_content" 57 android:layout_height="wrap_content"
58 android:src="@mipmap/logo_info" /> 58 android:src="@mipmap/logo_info" />
59 59
60 <TextView 60 <TextView
61 android:layout_width="wrap_content" 61 android:layout_width="wrap_content"
62 android:layout_height="wrap_content" 62 android:layout_height="wrap_content"
63 android:layout_marginLeft="50dp" 63 android:layout_marginLeft="50dp"
64 android:background="@null" 64 android:background="@null"
65 android:text="电子保卡" 65 android:text="电子保卡"
66 android:textColor="@color/electronic_card" 66 android:textColor="@color/electronic_card"
67 android:textSize="22sp" /> 67 android:textSize="22sp" />
68 68
69 </LinearLayout> 69 </LinearLayout>
70 70
71 <LinearLayout 71 <LinearLayout
72 android:layout_width="0dp" 72 android:layout_width="0dp"
73 android:layout_height="80dp" 73 android:layout_height="80dp"
74 android:layout_weight="1" 74 android:layout_weight="1"
75 android:layout_marginLeft="80dp" 75 android:layout_marginLeft="80dp"
76 android:gravity="center_vertical"> 76 android:gravity="center_vertical">
77 77
78 <TextView 78 <TextView
79 android:layout_width="wrap_content" 79 android:layout_width="wrap_content"
80 android:layout_height="wrap_content" 80 android:layout_height="wrap_content"
81 android:text="客户姓名" 81 android:text="客户姓名"
82 android:textSize="22sp" /> 82 android:textSize="22sp" />
83 83
84 <TextView 84 <TextView
85 android:id="@+id/iv_card_username" 85 android:id="@+id/iv_card_username"
86 android:layout_width="wrap_content" 86 android:layout_width="wrap_content"
87 android:layout_height="wrap_content" 87 android:layout_height="wrap_content"
88 android:layout_marginLeft="60dp" 88 android:layout_marginLeft="60dp"
89 android:text="" 89 android:text=""
90 android:textSize="22sp" /> 90 android:textSize="22sp" />
91 91
92 </LinearLayout> 92 </LinearLayout>
93 93
94 </LinearLayout> 94 </LinearLayout>
95 95
96 <LinearLayout 96 <LinearLayout
97 android:layout_width="match_parent" 97 android:layout_width="match_parent"
98 android:layout_height="wrap_content" 98 android:layout_height="wrap_content"
99 android:gravity="center_vertical" 99 android:gravity="center_vertical"
100 android:orientation="horizontal"> 100 android:orientation="horizontal">
101 101
102 <LinearLayout 102 <LinearLayout
103 android:layout_width="0dp" 103 android:layout_width="0dp"
104 android:layout_height="60dp" 104 android:layout_height="60dp"
105 android:layout_weight="1" 105 android:layout_weight="1"
106 android:layout_marginLeft="200dp" 106 android:layout_marginLeft="200dp"
107 android:gravity="center_vertical"> 107 android:gravity="center_vertical">
108 108
109 <TextView 109 <TextView
110 android:layout_width="wrap_content" 110 android:layout_width="wrap_content"
111 android:layout_height="wrap_content" 111 android:layout_height="wrap_content"
112 android:text="产品型号" 112 android:text="产品型号"
113 android:textSize="22sp" /> 113 android:textSize="22sp" />
114 114
115 <TextView 115 <TextView
116 android:id="@+id/tv_card_deviceModel" 116 android:id="@+id/tv_card_deviceModel"
117 android:layout_width="wrap_content" 117 android:layout_width="wrap_content"
118 android:layout_height="wrap_content" 118 android:layout_height="wrap_content"
119 android:layout_marginLeft="50dp" 119 android:layout_marginLeft="50dp"
120 android:text="" 120 android:text=""
121 android:textSize="22sp" /> 121 android:textSize="22sp" />
122 122
123 123
124 </LinearLayout> 124 </LinearLayout>
125 125
126 <LinearLayout 126 <LinearLayout
127 android:layout_width="0dp" 127 android:layout_width="0dp"
128 android:layout_height="60dp" 128 android:layout_height="60dp"
129 android:layout_weight="1" 129 android:layout_weight="1"
130 android:layout_marginLeft="80dp" 130 android:layout_marginLeft="80dp"
131 android:gravity="center_vertical"> 131 android:gravity="center_vertical">
132 132
133 <TextView 133 <TextView
134 android:layout_width="wrap_content" 134 android:layout_width="wrap_content"
135 android:layout_height="wrap_content" 135 android:layout_height="wrap_content"
136 android:text="客户地址" 136 android:text="客户地址"
137 android:textSize="22sp" /> 137 android:textSize="22sp" />
138 138
139 <TextView 139 <TextView
140 android:id="@+id/tv_card_adress" 140 android:id="@+id/tv_card_adress"
141 android:layout_width="wrap_content" 141 android:layout_width="wrap_content"
142 android:layout_height="wrap_content" 142 android:layout_height="wrap_content"
143 android:layout_marginLeft="60dp" 143 android:layout_marginLeft="60dp"
144 android:text="" 144 android:text=""
145 android:textSize="22sp" /> 145 android:textSize="22sp" />
146 <TextView 146 <TextView
147 android:id="@+id/tv_card_adress_change" 147 android:id="@+id/tv_card_adress_change"
148 android:layout_width="wrap_content" 148 android:layout_width="wrap_content"
149 android:layout_height="wrap_content" 149 android:layout_height="wrap_content"
150 android:layout_marginLeft="18dp" 150 android:layout_marginLeft="18dp"
151 android:background="@drawable/corcle_blue_bg" 151 android:background="@drawable/corcle_blue_bg"
152 android:text="修改" 152 android:text="修改"
153 android:paddingLeft="5dp" 153 android:paddingLeft="5dp"
154 android:paddingRight="5dp" 154 android:paddingRight="5dp"
155 android:visibility="gone"
155 android:textColor="@color/login_text_blue" 156 android:textColor="@color/login_text_blue"
156 android:textSize="18sp" /> 157 android:textSize="18sp" />
157 158
158 159
159 </LinearLayout> 160 </LinearLayout>
160 161
161 </LinearLayout> 162 </LinearLayout>
162 163
163 <LinearLayout 164 <LinearLayout
164 android:layout_width="match_parent" 165 android:layout_width="match_parent"
165 android:layout_height="wrap_content" 166 android:layout_height="wrap_content"
166 android:gravity="center_vertical" 167 android:gravity="center_vertical"
167 android:orientation="horizontal"> 168 android:orientation="horizontal">
168 169
169 <LinearLayout 170 <LinearLayout
170 android:layout_width="0dp" 171 android:layout_width="0dp"
171 android:layout_height="60dp" 172 android:layout_height="60dp"
172 android:layout_weight="1" 173 android:layout_weight="1"
173 android:layout_marginLeft="200dp" 174 android:layout_marginLeft="200dp"
174 android:gravity="center_vertical"> 175 android:gravity="center_vertical">
175 176
176 <TextView 177 <TextView
177 android:layout_width="wrap_content" 178 android:layout_width="wrap_content"
178 android:layout_height="wrap_content" 179 android:layout_height="wrap_content"
179 android:text="MAC地址" 180 android:text="MAC地址"
180 android:textSize="22sp" /> 181 android:textSize="22sp" />
181 182
182 <TextView 183 <TextView
183 android:id="@+id/tv_card_mac" 184 android:id="@+id/tv_card_mac"
184 android:layout_width="wrap_content" 185 android:layout_width="wrap_content"
185 android:layout_height="wrap_content" 186 android:layout_height="wrap_content"
186 android:layout_marginLeft="50dp" 187 android:layout_marginLeft="50dp"
187 android:text="" 188 android:text=""
188 android:textSize="22sp" /> 189 android:textSize="22sp" />
189 190
190 </LinearLayout> 191 </LinearLayout>
191 192
192 <LinearLayout 193 <LinearLayout
193 android:layout_width="0dp" 194 android:layout_width="0dp"
194 android:layout_height="60dp" 195 android:layout_height="60dp"
195 android:layout_weight="1" 196 android:layout_weight="1"
196 android:layout_marginLeft="80dp" 197 android:layout_marginLeft="80dp"
197 android:gravity="center_vertical"> 198 android:gravity="center_vertical">
198 199
199 <TextView 200 <TextView
200 android:layout_width="wrap_content" 201 android:layout_width="wrap_content"
201 android:layout_height="wrap_content" 202 android:layout_height="wrap_content"
202 android:text="购买时间" 203 android:text="购买时间"
203 android:textSize="22sp" /> 204 android:textSize="22sp" />
204 205
205 <TextView 206 <TextView
206 android:id="@+id/tv_card_time" 207 android:id="@+id/tv_card_time"
207 android:layout_width="wrap_content" 208 android:layout_width="wrap_content"
208 android:layout_height="wrap_content" 209 android:layout_height="wrap_content"
209 android:layout_marginLeft="60dp" 210 android:layout_marginLeft="60dp"
210 android:text="" 211 android:text=""
211 android:textSize="22sp" /> 212 android:textSize="22sp" />
212 </LinearLayout> 213 </LinearLayout>
213 214
214 </LinearLayout> 215 </LinearLayout>
215 216
216 <LinearLayout 217 <LinearLayout
217 android:layout_width="match_parent" 218 android:layout_width="match_parent"
218 android:layout_height="wrap_content" 219 android:layout_height="wrap_content"
219 android:gravity="center_vertical" 220 android:gravity="center_vertical"
220 android:orientation="horizontal"> 221 android:orientation="horizontal">
221 222
222 <LinearLayout 223 <LinearLayout
223 android:layout_width="0dp" 224 android:layout_width="0dp"
224 android:layout_height="60dp" 225 android:layout_height="60dp"
225 android:layout_weight="1" 226 android:layout_weight="1"
226 android:layout_marginLeft="200dp" 227 android:layout_marginLeft="200dp"
227 android:gravity="center_vertical"> 228 android:gravity="center_vertical">
228 229
229 <TextView 230 <TextView
230 android:layout_width="wrap_content" 231 android:layout_width="wrap_content"
231 android:layout_height="wrap_content" 232 android:layout_height="wrap_content"
232 android:text="机身编码" 233 android:text="机身编码"
233 android:textSize="22sp" /> 234 android:textSize="22sp" />
234 235
235 <TextView 236 <TextView
236 android:id="@+id/tv_card_deviceNumber" 237 android:id="@+id/tv_card_deviceNumber"
237 android:layout_width="wrap_content" 238 android:layout_width="wrap_content"
238 android:layout_height="wrap_content" 239 android:layout_height="wrap_content"
239 android:layout_marginLeft="50dp" 240 android:layout_marginLeft="50dp"
240 android:hint="" 241 android:hint=""
241 android:textSize="22sp" /> 242 android:textSize="22sp" />
242 243
243 </LinearLayout> 244 </LinearLayout>
244 245
245 <LinearLayout 246 <LinearLayout
246 android:layout_width="0dp" 247 android:layout_width="0dp"
247 android:layout_height="60dp" 248 android:layout_height="60dp"
248 android:layout_weight="1" 249 android:layout_weight="1"
249 android:layout_marginLeft="80dp" 250 android:layout_marginLeft="80dp"
250 android:gravity="center_vertical"> 251 android:gravity="center_vertical">
251 252
252 <TextView 253 <TextView
253 android:layout_width="wrap_content" 254 android:layout_width="wrap_content"
254 android:layout_height="wrap_content" 255 android:layout_height="wrap_content"
255 android:text="购买地址" 256 android:text="购买地址"
256 android:textSize="22sp" /> 257 android:textSize="22sp" />
257 258
258 <TextView 259 <TextView
259 android:id="@+id/tv_card_shopAdress" 260 android:id="@+id/tv_card_shopAdress"
260 android:layout_width="wrap_content" 261 android:layout_width="wrap_content"
261 android:layout_height="wrap_content" 262 android:layout_height="wrap_content"
262 android:layout_marginLeft="60dp" 263 android:layout_marginLeft="60dp"
263 android:text="" 264 android:text=""
264 android:textSize="22sp" /> 265 android:textSize="22sp" />
265 </LinearLayout> 266 </LinearLayout>
266 267
267 </LinearLayout> 268 </LinearLayout>
268 269
269 <LinearLayout 270 <LinearLayout
270 android:layout_width="match_parent" 271 android:layout_width="match_parent"
271 android:layout_height="wrap_content" 272 android:layout_height="wrap_content"
272 android:gravity="center_vertical" 273 android:gravity="center_vertical"
273 android:layout_marginBottom="30dp" 274 android:layout_marginBottom="30dp"
274 android:orientation="horizontal"> 275 android:orientation="horizontal">
275 276
276 <LinearLayout 277 <LinearLayout
277 android:layout_width="0dp" 278 android:layout_width="0dp"
278 android:layout_height="60dp" 279 android:layout_height="60dp"
279 android:layout_weight="1" 280 android:layout_weight="1"
280 android:layout_marginLeft="200dp" 281 android:layout_marginLeft="200dp"
281 android:gravity="center_vertical"> 282 android:gravity="center_vertical">
282 283
283 <TextView 284 <TextView
284 android:layout_width="wrap_content" 285 android:layout_width="wrap_content"
285 android:layout_height="wrap_content" 286 android:layout_height="wrap_content"
286 android:text="手机号码" 287 android:text="手机号码"
287 android:textSize="22sp" /> 288 android:textSize="22sp" />
288 289
289 <TextView 290 <TextView
290 android:id="@+id/tv_card_phone" 291 android:id="@+id/tv_card_phone"
291 android:layout_width="wrap_content" 292 android:layout_width="wrap_content"
292 android:layout_height="wrap_content" 293 android:layout_height="wrap_content"
293 android:layout_marginLeft="50dp" 294 android:layout_marginLeft="50dp"
294 android:text="" 295 android:text=""
295 android:textSize="22sp" /> 296 android:textSize="22sp" />
296 <TextView 297 <TextView
297 android:id="@+id/tv_card_phone_change" 298 android:id="@+id/tv_card_phone_change"
298 android:layout_width="wrap_content" 299 android:layout_width="wrap_content"
299 android:layout_height="wrap_content" 300 android:layout_height="wrap_content"
300 android:layout_marginLeft="18dp" 301 android:layout_marginLeft="18dp"
301 android:background="@drawable/corcle_blue_bg" 302 android:background="@drawable/corcle_blue_bg"
302 android:text="修改" 303 android:text="修改"
303 android:visibility="gone" 304 android:visibility="gone"
304 android:paddingLeft="5dp" 305 android:paddingLeft="5dp"
305 android:paddingRight="5dp" 306 android:paddingRight="5dp"
306 android:textColor="@color/login_text_blue" 307 android:textColor="@color/login_text_blue"
307 android:textSize="18sp" /> 308 android:textSize="18sp" />
308 309
309 310
310 </LinearLayout> 311 </LinearLayout>
311 312
312 <LinearLayout 313 <LinearLayout
313 android:layout_width="0dp" 314 android:layout_width="0dp"
314 android:layout_height="60dp" 315 android:layout_height="60dp"
315 android:layout_weight="1" 316 android:layout_weight="1"
316 android:layout_marginLeft="80dp" 317 android:layout_marginLeft="80dp"
317 android:gravity="center_vertical"> 318 android:gravity="center_vertical">
318 319
319 <TextView 320 <TextView
320 android:layout_width="wrap_content" 321 android:layout_width="wrap_content"
321 android:layout_height="wrap_content" 322 android:layout_height="wrap_content"
322 android:text="本地售后电话" 323 android:text="本地售后电话"
323 android:textSize="22sp" /> 324 android:textSize="22sp" />
324 325
325 <TextView 326 <TextView
326 android:id="@+id/tv_card_tleNember" 327 android:id="@+id/tv_card_tleNember"
327 android:layout_width="wrap_content" 328 android:layout_width="wrap_content"
328 android:layout_height="wrap_content" 329 android:layout_height="wrap_content"
329 android:layout_marginLeft="60dp" 330 android:layout_marginLeft="60dp"
330 android:text="" 331 android:text=""
331 android:textSize="22sp" /> 332 android:textSize="22sp" />
332 333
333 </LinearLayout> 334 </LinearLayout>
334 335
335 </LinearLayout> 336 </LinearLayout>
336 </LinearLayout> 337 </LinearLayout>
337 338
338 <LinearLayout 339 <LinearLayout
339 android:layout_width="match_parent" 340 android:layout_width="match_parent"
340 android:layout_height="wrap_content" 341 android:layout_height="wrap_content"
341 android:layout_marginTop="5dp" 342 android:layout_marginTop="5dp"
342 android:gravity="center" 343 android:gravity="center"
343 android:orientation="vertical"> 344 android:orientation="vertical">
344 345
345 <TextView 346 <TextView
346 android:layout_width="wrap_content" 347 android:layout_width="wrap_content"
347 android:layout_height="wrap_content" 348 android:layout_height="wrap_content"
348 android:layout_marginTop="5dp" 349 android:layout_marginTop="5dp"
349 android:text="@string/electronic_card" 350 android:text="@string/electronic_card"
350 android:textColor="@color/electronic_text" 351 android:textColor="@color/electronic_text"
351 android:textSize="18sp" /> 352 android:textSize="18sp" />
352 353
353 354
354 355
355 </LinearLayout> 356 </LinearLayout>
356 <LinearLayout 357 <LinearLayout
357 android:layout_width="match_parent" 358 android:layout_width="match_parent"
358 android:layout_height="wrap_content" 359 android:layout_height="wrap_content"
359 android:layout_marginTop="30dp" 360 android:layout_marginTop="5dp"
360 android:gravity="center" 361 android:gravity="center"
361 android:orientation="horizontal"> 362 android:orientation="horizontal">
362 363
363 <ImageView 364 <ImageView
364 android:layout_width="wrap_content" 365 android:layout_width="wrap_content"
365 android:layout_height="wrap_content" 366 android:layout_height="wrap_content"
366 android:src="@mipmap/phone"/> 367 android:src="@mipmap/phone"/>
367 <TextView 368 <TextView
369 android:id="@+id/service_phone"
368 android:layout_width="wrap_content" 370 android:layout_width="wrap_content"
369 android:layout_height="wrap_content" 371 android:layout_height="wrap_content"
370 android:textSize="30sp" 372 android:textSize="30sp"
371 android:layout_marginLeft="5dp" 373 android:layout_marginLeft="5dp"
372 android:textColor="@color/login_text_blue" 374 android:textColor="@color/login_text_blue"
373 android:text="4006-123-678"/> 375 android:text="400-800-3813"/>
374 376
375 377
376 </LinearLayout> 378 </LinearLayout>
377 379
378 380 <ImageView
379 381 android:layout_width="wrap_content"
382 android:layout_height="wrap_content"
383 android:src="@mipmap/public_qa_code"
384 android:layout_gravity="center_horizontal"
385 android:layout_marginTop="5dp"/>
386 <TextView
387 android:layout_width="wrap_content"
388 android:layout_height="wrap_content"
389 android:layout_marginTop="5dp"
390 android:text="关注好记星微信公众号"
391 android:textColor="@color/electronic_text"
392 android:textSize="16sp"
393 android:layout_gravity="center_horizontal"/>
380 </LinearLayout> 394 </LinearLayout>
PersonalCenter/app/src/main/res/layout/activity_electroniccard_info.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:id="@+id/card_view" 3 android:id="@+id/card_view"
4 android:layout_width="match_parent" 4 android:layout_width="match_parent"
5 android:layout_height="match_parent" 5 android:layout_height="match_parent"
6 android:background="@mipmap/main_bg"
6 android:orientation="vertical"> 7 android:orientation="vertical">
7 8
8 <RelativeLayout 9 <RelativeLayout
9 android:id="@+id/title" 10 android:id="@+id/title"
10 android:layout_width="match_parent" 11 android:layout_width="match_parent"
11 android:layout_height="wrap_content" 12 android:layout_height="wrap_content"
12 android:background="@color/login_text_blue" 13 android:background="@color/login_text_blue"
13 android:minHeight="50dp"> 14 android:minHeight="50dp">
14 15
15 <ImageView 16 <ImageView
16 android:id="@+id/iv_card_back" 17 android:id="@+id/iv_card_back"
17 android:layout_width="wrap_content" 18 android:layout_width="wrap_content"
18 android:layout_height="wrap_content" 19 android:layout_height="wrap_content"
19 android:layout_centerVertical="true" 20 android:layout_centerVertical="true"
20 android:paddingLeft="20dp" 21 android:paddingLeft="20dp"
21 android:paddingRight="20dp" 22 android:paddingRight="20dp"
22 android:src="@mipmap/title_back" /> 23 android:src="@mipmap/title_back" />
23 24
24 <TextView 25 <TextView
25 android:id="@+id/menu_title" 26 android:id="@+id/menu_title"
26 android:layout_width="wrap_content" 27 android:layout_width="wrap_content"
27 android:layout_height="wrap_content" 28 android:layout_height="wrap_content"
28 android:layout_centerInParent="true" 29 android:layout_centerInParent="true"
29 android:text="@string/change_electroniccard_info_fill" 30 android:text="@string/change_electroniccard_info_fill"
30 android:textColor="@android:color/white" 31 android:textColor="@android:color/white"
31 android:textSize="22sp" /> 32 android:textSize="22sp" />
32 </RelativeLayout> 33 </RelativeLayout>
33 34
34 <ImageView 35 <!-- <ImageView
35 android:layout_width="wrap_content" 36 android:layout_width="wrap_content"
36 android:layout_height="wrap_content" 37 android:layout_height="wrap_content"
37 android:layout_gravity="center" 38 android:layout_gravity="center"
38 android:layout_marginTop="20dp" 39 android:layout_marginTop="20dp"
39 android:src="@mipmap/change_info_icon" /> 40 android:src="@mipmap/change_info_icon" />-->
41
40 42
41 <LinearLayout 43 <LinearLayout
42 android:layout_width="wrap_content" 44 android:layout_width="match_parent"
43 android:layout_height="wrap_content" 45 android:layout_height="580dp"
44 android:layout_marginTop="60dp" 46 android:layout_centerInParent="true"
45 android:orientation="horizontal"> 47 android:layout_marginLeft="100dp"
48 android:layout_marginRight="100dp"
49 android:background="@drawable/white_cycle_bg"
50 android:gravity="center_horizontal"
51 android:orientation="vertical"
52 android:paddingLeft="20dp"
53 android:paddingRight="20dp">
54
55 <ImageView
56 android:id="@+id/iv_logo"
57 android:layout_width="wrap_content"
58 android:layout_height="wrap_content"
59 android:layout_gravity="center_horizontal"
60 android:layout_marginTop="10dp"
61 android:src="@mipmap/logo" />
46 62
47 <View 63 <LinearLayout
48 android:layout_width="450dp" 64 android:layout_width="wrap_content"
49 android:layout_height="0.7dp" 65 android:layout_height="wrap_content"
50 android:layout_marginLeft="150dp" 66 android:layout_marginTop="20dp"
51 android:background="@color/cutoff_line"> 67 android:orientation="horizontal">
52 68
53 </View> 69 <View
70 android:layout_width="450dp"
71 android:layout_height="0.7dp"
72 android:background="@color/cutoff_line">
54 73
55 <View 74 </View>
56 android:layout_width="450dp"
57 android:layout_height="0.7dp"
58 android:layout_marginLeft="80dp"
59 android:background="@color/cutoff_line">
60 75
61 </View> 76 <View
77 android:layout_width="500dp"
78 android:layout_height="0.7dp"
79 android:layout_marginLeft="80dp"
80 android:background="@color/cutoff_line">
62 81
82 </View>
63 83
64 </LinearLayout>
65 84
66 <LinearLayout 85 </LinearLayout>
67 android:layout_width="match_parent"
68 android:layout_height="wrap_content"
69 android:layout_marginLeft="200dp"
70 android:gravity="center_vertical"
71 android:orientation="horizontal">
72 86
73 <LinearLayout 87 <LinearLayout
74 android:layout_width="0dp" 88 android:layout_width="match_parent"
75 android:layout_height="80dp" 89 android:layout_height="wrap_content"
76 android:layout_weight="1" 90 android:layout_marginLeft="20dp"
77 android:gravity="center_vertical" 91 android:gravity="center_vertical"
78 android:focusable="true" 92 android:orientation="horizontal">
79 android:focusableInTouchMode="true"> 93
80 94 <LinearLayout
81 <TextView 95 android:layout_width="0dp"
82 android:layout_width="wrap_content" 96 android:layout_height="80dp"
83 android:layout_height="wrap_content" 97 android:layout_weight="1"
84 android:text="客户姓名" 98 android:focusable="true"
85 android:textSize="22sp" /> 99 android:focusableInTouchMode="true"
86 100 android:gravity="center_vertical">
87 <EditText 101
88 android:id="@+id/et_edit_username" 102 <TextView
89 android:layout_width="wrap_content" 103 android:layout_width="wrap_content"
90 android:layout_height="wrap_content" 104 android:layout_height="wrap_content"
91 android:layout_marginLeft="50dp" 105 android:text="客户姓名"
92 android:background="@null" 106 android:textSize="22sp" />
93 android:padding="20dp" 107
94 android:textColor="@color/login_text_black" 108 <EditText
95 android:hint="请输入" 109 android:id="@+id/et_edit_username"
96 android:textSize="22sp" /> 110 android:layout_width="wrap_content"
111 android:layout_height="wrap_content"
112 android:layout_marginLeft="50dp"
113 android:background="@null"
114 android:hint="请输入"
115 android:padding="20dp"
116 android:textColor="@color/login_text_black"
117 android:textSize="22sp" />
118
119 </LinearLayout>
120
121 <LinearLayout
122 android:layout_width="0dp"
123 android:layout_height="80dp"
124 android:layout_weight="1"
125 android:gravity="center_vertical">
126
127 <TextView
128 android:layout_width="150dp"
129 android:layout_height="wrap_content"
130 android:text="购买地址"
131 android:textSize="22sp" />
132
133 <TextView
134 android:id="@+id/tv_edit_adress_shop"
135 android:layout_width="wrap_content"
136 android:layout_height="wrap_content"
137 android:layout_marginLeft="20dp"
138 android:hint="请选择地区"
139 android:padding="20dp"
140 android:textColor="@color/login_text_black"
141 android:textSize="22sp" />
142
143 <ImageView
144 android:id="@+id/shopdizhi"
145 android:layout_width="wrap_content"
146 android:layout_height="wrap_content"
147 android:layout_marginLeft="60dp"
148 android:padding="20dp"
149 android:src="@mipmap/xiajiantou">
150
151 </ImageView>
152 </LinearLayout>
97 153
98 </LinearLayout> 154 </LinearLayout>
99 155
100 <LinearLayout 156 <LinearLayout
101 android:layout_width="0dp" 157 android:layout_width="wrap_content"
102 android:layout_height="80dp" 158 android:layout_height="wrap_content"
103 android:layout_weight="1" 159 android:orientation="horizontal">
104 android:gravity="center_vertical">
105
106 <TextView
107 android:layout_width="150dp"
108 android:layout_height="wrap_content"
109 android:text="购买地址"
110 android:textSize="22sp" />
111
112 <TextView
113 android:id="@+id/tv_edit_adress_shop"
114 android:layout_width="wrap_content"
115 android:layout_height="wrap_content"
116 android:layout_marginLeft="20dp"
117 android:padding="20dp"
118 android:textColor="@color/login_text_black"
119 android:hint="请选择地区"
120 android:textSize="22sp" />
121
122 <ImageView
123 android:id="@+id/shopdizhi"
124 android:layout_width="wrap_content"
125 android:layout_height="wrap_content"
126 android:padding="20dp"
127 android:layout_marginLeft="60dp"
128 android:src="@mipmap/xiajiantou">
129
130 </ImageView>
131 </LinearLayout>
132
133 </LinearLayout>
134
135 <LinearLayout
136 android:layout_width="wrap_content"
137 android:layout_height="wrap_content"
138 android:orientation="horizontal">
139
140 <View
141 android:layout_width="450dp"
142 android:layout_height="0.7dp"
143 android:layout_marginLeft="150dp"
144 android:background="@color/cutoff_line">
145
146 </View>
147
148 <View
149 android:layout_width="450dp"
150 android:layout_height="0.7dp"
151 android:layout_marginLeft="80dp"
152 android:background="@color/cutoff_line">
153
154 </View>
155 160
161 <View
162 android:layout_width="450dp"
163 android:layout_height="0.7dp"
164 android:background="@color/cutoff_line">
156 165
157 </LinearLayout> 166 </View>
158 167
159 <LinearLayout 168 <View
160 android:layout_width="match_parent" 169 android:layout_width="500dp"
161 android:layout_height="wrap_content" 170 android:layout_height="0.7dp"
162 android:layout_marginLeft="200dp" 171 android:layout_marginLeft="80dp"
163 android:gravity="center_vertical" 172 android:background="@color/cutoff_line">
164 android:orientation="horizontal">
165 173
166 <LinearLayout 174 </View>
167 android:layout_width="0dp"
168 android:layout_height="80dp"
169 android:layout_weight="1"
170 android:gravity="center_vertical">
171
172 <TextView
173 android:layout_width="wrap_content"
174 android:layout_height="wrap_content"
175 android:text="客户地址"
176 android:textSize="22sp" />
177
178 <TextView
179 android:id="@+id/tv_edit_adress_custem"
180 android:layout_width="wrap_content"
181 android:layout_height="wrap_content"
182 android:layout_marginLeft="50dp"
183 android:textColor="@color/login_text_black"
184 android:hint="请选择地区"
185 android:padding="20dp"
186 android:textSize="22sp" />
187
188 <ImageView
189 android:id="@+id/cunstomdizhi"
190 android:layout_width="wrap_content"
191 android:layout_height="wrap_content"
192 android:layout_marginLeft="60dp"
193 android:padding="20dp"
194 android:src="@mipmap/xiajiantou">
195
196 </ImageView>
197 175
198 176
199 </LinearLayout> 177 </LinearLayout>
200 178
201 <LinearLayout 179 <LinearLayout
202 android:layout_width="0dp" 180 android:layout_width="match_parent"
203 android:layout_height="80dp" 181 android:layout_height="wrap_content"
204 android:layout_weight="1" 182 android:layout_marginLeft="20dp"
205 android:gravity="center_vertical"> 183 android:gravity="center_vertical"
206 184 android:orientation="horizontal">
207 <TextView 185
208 android:layout_width="150dp" 186 <LinearLayout
209 android:layout_height="wrap_content" 187 android:layout_width="0dp"
210 android:text=" " 188 android:layout_height="80dp"
211 android:textColor="@color/white" 189 android:layout_weight="1"
212 android:textSize="22sp" /> 190 android:gravity="center_vertical">
213 191
214 <EditText 192 <TextView
215 android:id="@+id/et_edit_store" 193 android:layout_width="wrap_content"
216 android:layout_width="wrap_content" 194 android:layout_height="wrap_content"
217 android:layout_height="wrap_content" 195 android:text="客户地址"
218 android:layout_marginLeft="20dp" 196 android:textSize="22sp" />
219 android:background="@null" 197
220 android:padding="20dp" 198 <TextView
221 android:textColor="@color/login_text_black" 199 android:id="@+id/tv_edit_adress_custem"
222 android:hint="请输入商店名称" 200 android:layout_width="wrap_content"
223 android:textSize="22sp" /> 201 android:layout_height="wrap_content"
202 android:layout_marginLeft="50dp"
203 android:hint="请选择地区"
204 android:padding="20dp"
205 android:textColor="@color/login_text_black"
206 android:textSize="22sp" />
207
208 <ImageView
209 android:id="@+id/cunstomdizhi"
210 android:layout_width="wrap_content"
211 android:layout_height="wrap_content"
212 android:layout_marginLeft="60dp"
213 android:padding="20dp"
214 android:src="@mipmap/xiajiantou">
215
216 </ImageView>
217
218
219 </LinearLayout>
220
221 <LinearLayout
222 android:layout_width="0dp"
223 android:layout_height="80dp"
224 android:layout_weight="1"
225 android:gravity="center_vertical">
226
227 <TextView
228 android:layout_width="150dp"
229 android:layout_height="wrap_content"
230 android:text=" "
231 android:textColor="@color/white"
232 android:textSize="22sp" />
233
234 <EditText
235 android:id="@+id/et_edit_store"
236 android:layout_width="wrap_content"
237 android:layout_height="wrap_content"
238 android:layout_marginLeft="20dp"
239 android:background="@null"
240 android:hint="请输入商店名称"
241 android:padding="20dp"
242 android:textColor="@color/login_text_black"
243 android:textSize="22sp" />
244
245 </LinearLayout>
224 246
225 </LinearLayout> 247 </LinearLayout>
226 248
227 </LinearLayout> 249 <LinearLayout
228 250 android:layout_width="wrap_content"
229 <LinearLayout 251 android:layout_height="wrap_content"
230 android:layout_width="wrap_content"
231 android:layout_height="wrap_content"
232
233 android:orientation="horizontal">
234
235 <View
236 android:layout_width="450dp"
237 android:layout_height="0.7dp"
238 android:layout_marginLeft="150dp"
239 android:background="@color/cutoff_line">
240
241 </View>
242 252
243 <View 253 android:orientation="horizontal">
244 android:layout_width="450dp"
245 android:layout_height="0.7dp"
246 android:layout_marginLeft="80dp"
247 android:background="@color/cutoff_line">
248 254
249 </View> 255 <View
256 android:layout_width="450dp"
257 android:layout_height="0.7dp"
258 android:background="@color/cutoff_line">
250 259
260 </View>
251 261
252 </LinearLayout> 262 <View
263 android:layout_width="500dp"
264 android:layout_height="0.7dp"
265 android:layout_marginLeft="80dp"
266 android:background="@color/cutoff_line">
253 267
254 <LinearLayout 268 </View>
255 android:layout_width="match_parent"
256 android:layout_height="wrap_content"
257 android:layout_marginLeft="200dp"
258 android:gravity="center_vertical"
259 android:orientation="horizontal">
260 269
261 <LinearLayout
262 android:layout_width="0dp"
263 android:layout_height="80dp"
264 android:layout_weight="1"
265 android:gravity="center_vertical">
266
267 <TextView
268 android:layout_width="wrap_content"
269 android:layout_height="wrap_content"
270 android:text=" "
271 android:textColor="@color/white"
272 android:textSize="22sp" />
273
274 <EditText
275 android:id="@+id/et_edit_adress_detail"
276 android:layout_width="wrap_content"
277 android:layout_height="wrap_content"
278 android:layout_marginLeft="100dp"
279 android:background="@null"
280 android:padding="20dp"
281 android:textColor="@color/login_text_black"
282 android:hint="请输入详细地址"
283 android:textSize="22sp" />
284 270
285 </LinearLayout> 271 </LinearLayout>
286 272
287 <LinearLayout 273 <LinearLayout
288 android:layout_width="0dp" 274 android:layout_width="match_parent"
289 android:layout_height="80dp" 275 android:layout_height="wrap_content"
290 android:layout_weight="1" 276 android:layout_marginLeft="20dp"
291 android:gravity="center_vertical"> 277 android:gravity="center_vertical"
292 278 android:orientation="horizontal">
293 <TextView 279
294 android:layout_width="150dp" 280 <LinearLayout
295 android:layout_height="wrap_content" 281 android:layout_width="0dp"
296 android:text="本地售后电话" 282 android:layout_height="80dp"
297 android:textSize="22sp" /> 283 android:layout_weight="1"
298 284 android:gravity="center_vertical">
299 <EditText 285
300 android:id="@+id/et_edit_telphone" 286 <TextView
301 android:layout_width="wrap_content" 287 android:layout_width="wrap_content"
302 android:layout_height="wrap_content" 288 android:layout_height="wrap_content"
PersonalCenter/app/src/main/res/layout/activity_electroniccard_validation.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:background="#ffffffff" 5 android:background="@mipmap/main_bg"
6 android:orientation="vertical"> 6 android:orientation="vertical">
7
7 <RelativeLayout 8 <RelativeLayout
8 android:id="@+id/title" 9 android:id="@+id/title"
9 android:layout_width="match_parent" 10 android:layout_width="match_parent"
10 android:layout_height="wrap_content" 11 android:layout_height="wrap_content"
11 android:background="@color/login_text_blue" 12 android:background="@color/login_text_blue"
12 android:minHeight="50dp" > 13 android:minHeight="50dp">
13 14
14 <ImageView 15 <ImageView
15 android:id="@+id/cancel" 16 android:id="@+id/cancel"
16 android:layout_width="wrap_content" 17 android:layout_width="wrap_content"
17 android:layout_height="wrap_content" 18 android:layout_height="wrap_content"
18 android:layout_centerVertical="true" 19 android:layout_centerVertical="true"
19 android:paddingLeft="20dp" 20 android:paddingLeft="20dp"
20 android:paddingRight="20dp" 21 android:paddingRight="20dp"
21 android:src="@mipmap/title_back" /> 22 android:src="@mipmap/title_back" />
22 23
23 <TextView 24 <TextView
24 android:id="@+id/menu_title" 25 android:id="@+id/menu_title"
25 android:layout_width="wrap_content" 26 android:layout_width="wrap_content"
26 android:layout_height="wrap_content" 27 android:layout_height="wrap_content"
27 android:layout_centerInParent="true" 28 android:layout_centerInParent="true"
28 android:text="@string/string_electroniccard_info_title" 29 android:text="@string/string_electroniccard_info_title"
29 android:textColor="@android:color/white" 30 android:textColor="@android:color/white"
30 android:textSize="22sp" /> 31 android:textSize="22sp" />
31 </RelativeLayout> 32 </RelativeLayout>
32 <RelativeLayout 33
33 android:layout_width="match_parent" 34 <LinearLayout
34 android:layout_height="match_parent" 35 android:layout_width="550dp"
35 android:layout_below="@id/title" 36 android:layout_height="wrap_content"
36 android:background="#ffffffff" 37 android:layout_centerInParent="true"
38 android:background="@drawable/white_cycle_bg"
37 android:orientation="vertical" 39 android:orientation="vertical"
38 android:paddingLeft="250dp" 40 android:paddingLeft="30dp"
39 android:paddingRight="250dp" > 41 android:paddingRight="30dp">
40 42
41 <EditText 43 <ImageView
42 android:id="@+id/et_phonenumber" 44 android:id="@+id/iv_logo"
43 style="@style/login_register_edit_style" 45 android:layout_width="wrap_content"
44 android:layout_marginTop="150dp" 46 android:layout_height="wrap_content"
45 android:hint="手机号" 47 android:layout_gravity="center_horizontal"
46 android:inputType="phone" /> 48 android:layout_marginTop="15dp"
49 android:src="@mipmap/logo" />
47 50
48 <TextView
49 android:id="@+id/phonenumber_error_hint"
50 style="@style/registererrhint_style"
51 android:layout_below="@id/et_phonenumber" />
52 51
53 <LinearLayout 52
54 android:id="@+id/rl_authcode" 53 <LinearLayout
55 android:layout_width="match_parent" 54 android:id="@+id/activation_code_layout"
56 android:layout_height="wrap_content" 55 android:layout_width="match_parent"
57 android:layout_below="@id/et_phonenumber" 56 android:layout_height="wrap_content"
58 android:layout_marginTop="30dp" 57 android:gravity="center_horizontal"
59 android:orientation="horizontal"> 58 android:background="@drawable/input_bg"
60 59 android:layout_marginTop="20dp"
61 <EditText 60 android:paddingRight="10dp"
62 android:id="@+id/et_authcode" 61 android:visibility="gone"
63 style="@style/login_register_edit_rect_style" 62 android:orientation="horizontal">
64 android:layout_marginRight="-4px" 63
65 android:layout_weight="1" 64 <EditText
66 android:hint="验证码" 65 android:id="@+id/activation_code"
67 android:numeric="integer" /> 66 style="@style/login_register_edit_style"
67 android:hint="请输入注册激活码"
68 android:maxLength="11"
69 android:inputType="phone" />
70 <ImageButton
71 android:id="@+id/activation_code_delete_btn"
72 android:layout_width="50dp"
73 android:layout_height="match_parent"
74 android:src="@mipmap/delete_btn"
75 android:visibility="invisible"
76 android:background="@null"/>
77 </LinearLayout>
78
79 <LinearLayout
80 android:id="@+id/et_phonenumber_layout"
81 android:layout_width="match_parent"
82 android:layout_height="wrap_content"
83 android:gravity="center_horizontal"
84 android:background="@drawable/input_bg"
85 android:layout_marginTop="30dp"
86 android:paddingRight="10dp"
87 android:orientation="horizontal">
88
89 <EditText
90 android:id="@+id/et_phonenumber"
91 style="@style/login_register_edit_style"
92 android:hint="手机号"
93 android:maxLength="11"
94 android:inputType="phone" />
95 <ImageButton
96 android:id="@+id/phone_delete_btn"
97 android:layout_width="50dp"
98 android:layout_height="match_parent"
99 android:src="@mipmap/delete_btn"
100 android:visibility="invisible"
101 android:background="@null"/>
102 </LinearLayout>
103
104
105 <LinearLayout
106 android:id="@+id/rl_authcode"
107 android:layout_width="match_parent"
108 android:layout_height="wrap_content"
109 android:layout_below="@id/et_phonenumber_layout"
110 android:layout_marginTop="30dp"
111 android:paddingRight="7dp"
112 android:visibility="gone"
113 android:background="@drawable/input_bg"
114 android:orientation="horizontal">
115
116 <EditText
117 android:id="@+id/et_authcode"
118 style="@style/login_register_edit_rect_style"
119 android:layout_marginRight="-4px"
120 android:layout_weight="1"
121 android:hint="验证码"
122 android:maxLength="6"
123 android:numeric="integer" />
124
125 <ImageButton
126 android:id="@+id/code_delete_btn"
127 android:layout_width="50dp"
128 android:layout_height="match_parent"
129 android:src="@mipmap/delete_btn"
130 android:visibility="invisible"
131 android:background="@null"/>
132 <Button
133 android:id="@+id/btn_authcode"
134 android:layout_width="match_parent"
135 android:layout_height="wrap_content"
136 style="?android:attr/borderlessButtonStyle"
137 android:layout_weight="2"
138 android:text="获取验证码"
139 android:maxLines="1"
140 android:background="@drawable/code_bg"
141 android:textSize="18sp"
142 android:padding="8dp"
143 android:textColor="@color/login_text_blue" />
144 </LinearLayout>
145
146 <TextView
147 android:id="@+id/authcode_error_hint"
148 style="@style/registererrhint_style"
149 android:layout_below="@id/rl_authcode" />
150
151 <TextView
152 android:id="@+id/password_error_hint"
153 style="@style/registererrhint_style"
154 android:layout_below="@id/pwd_rl" />
68 155
69 <Button 156 <Button
70 android:id="@+id/btn_authcode" 157 android:id="@+id/btn_card_valiyanzhen"
71 style="@style/login_register_btn_authcode_rect_style" 158 style="@style/button_login_register_style"
72 android:layout_marginLeft="0px" 159 android:layout_below="@id/rl_authcode"
73 android:layout_marginTop="0px" 160 android:layout_marginTop="30dp"
74 android:layout_weight="2" 161 android:layout_marginBottom="40dp"
PersonalCenter/app/src/main/res/layout/activity_forgetpsword.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:background="#ffffffff" 5 android:background="@mipmap/main_bg"
6 android:orientation="vertical"> 6 android:orientation="vertical">
7 7
8 <RelativeLayout 8 <RelativeLayout
9 android:id="@+id/title" 9 android:id="@+id/title"
10 android:layout_width="match_parent" 10 android:layout_width="match_parent"
11 android:layout_height="wrap_content" 11 android:layout_height="wrap_content"
12 android:background="@color/login_text_blue" 12 android:background="@color/login_text_blue"
13 android:minHeight="50dp"> 13 android:minHeight="50dp">
14 14
15 <ImageView 15 <ImageView
16 android:id="@+id/cancel" 16 android:id="@+id/cancel"
17 android:layout_width="wrap_content" 17 android:layout_width="wrap_content"
18 android:layout_height="wrap_content" 18 android:layout_height="wrap_content"
19 android:layout_centerVertical="true" 19 android:layout_centerVertical="true"
20 android:paddingLeft="20dp" 20 android:paddingLeft="20dp"
21 android:paddingRight="20dp" 21 android:paddingRight="20dp"
22 android:src="@mipmap/title_back" /> 22 android:src="@mipmap/title_back" />
23 23
24 <TextView 24 <TextView
25 android:id="@+id/menu_title" 25 android:id="@+id/menu_title"
26 android:layout_width="wrap_content" 26 android:layout_width="wrap_content"
27 android:layout_height="wrap_content" 27 android:layout_height="wrap_content"
28 android:layout_centerInParent="true" 28 android:layout_centerInParent="true"
29 android:text="@string/string_menu_title" 29 android:text="@string/string_menu_title"
30 android:textColor="@android:color/white" 30 android:textColor="@android:color/white"
31 android:textSize="22sp" /> 31 android:textSize="22sp" />
32 </RelativeLayout> 32 </RelativeLayout>
33 33
34 <RelativeLayout 34 <!--<RelativeLayout-->
35 android:layout_width="match_parent" 35 <!--android:layout_width="match_parent"-->
36 android:layout_height="match_parent" 36 <!--android:layout_height="match_parent"-->
37 android:layout_below="@id/title" 37 <!--android:layout_below="@id/title">-->
38 android:background="#ffffffff" 38
39 android:orientation="vertical" 39
40 android:paddingLeft="250dp" 40 <LinearLayout
41 android:paddingRight="250dp"> 41 android:layout_width="550dp"
42 42 android:layout_height="600dp"
43 <EditText 43 android:layout_centerInParent="true"
44 android:id="@+id/et_phonenumber" 44 android:layout_marginTop="20dp"
45 style="@style/login_register_edit_style" 45 android:background="@drawable/white_cycle_bg"
46 android:layout_marginTop="150dp" 46 android:paddingLeft="30dp"
47 android:hint="手机号" 47 android:paddingRight="30dp"
48 android:inputType="phone" /> 48 android:orientation="vertical">
49
50 <ImageView
51 android:id="@+id/iv_logo"
52 android:layout_width="wrap_content"
53 android:layout_height="wrap_content"
54 android:layout_gravity="center_horizontal"
55 android:layout_marginTop="15dp"
56 android:src="@mipmap/logo" />
57
58 <LinearLayout
59 android:id="@+id/et_phonenumber_layout"
60 android:layout_width="match_parent"
61 android:layout_height="wrap_content"
62 android:layout_marginTop="10dp"
63 android:background="@drawable/input_bg"
64 android:gravity="center_horizontal"
65 android:orientation="horizontal"
66 android:paddingRight="10dp">
67
68 <EditText
69 android:id="@+id/et_phonenumber"
70 style="@style/login_register_edit_style"
71 android:hint="手机号"
72 android:imeOptions="actionNext"
73 android:inputType="phone"
74 android:maxLength="11" />
75
76 <ImageButton
77 android:id="@+id/phone_delete_btn"
78 android:layout_width="50dp"
79 android:layout_height="match_parent"
80 android:background="@null"
81 android:src="@mipmap/delete_btn"
82 android:visibility="invisible" />
83 </LinearLayout>
49 84
50 <TextView 85 <TextView
51 android:id="@+id/phonenumber_error_hint" 86 android:id="@+id/phonenumber_error_hint"
52 style="@style/registererrhint_style" 87 style="@style/registererrhint_style"
53 android:layout_below="@id/et_phonenumber" /> 88 android:layout_below="@id/et_phonenumber_layout" />
54 89
55 <LinearLayout 90 <LinearLayout
56 android:id="@+id/rl_authcode" 91 android:id="@+id/rl_authcode"
57 android:layout_width="match_parent" 92 android:layout_width="match_parent"
58 android:layout_height="wrap_content" 93 android:layout_height="wrap_content"
59 android:layout_below="@id/et_phonenumber" 94 android:layout_below="@id/et_phonenumber_layout"
60 android:layout_marginTop="30dp" 95 android:layout_marginTop="10dp"
61 android:orientation="horizontal"> 96 android:background="@drawable/input_bg"
97 android:orientation="horizontal"
98 android:paddingRight="7dp">
62 99
63 <EditText 100 <EditText
64 android:id="@+id/et_authcode" 101 android:id="@+id/et_authcode"
65 style="@style/login_register_edit_rect_style" 102 style="@style/login_register_edit_rect_style"
66 android:layout_marginRight="-4px" 103 android:layout_marginRight="-4px"
67 android:layout_weight="1" 104 android:layout_weight="1"
68 android:hint="验证码" 105 android:hint="验证码"
106 android:maxLength="6"
69 android:numeric="integer" /> 107 android:numeric="integer" />
70 108
109 <ImageButton
110 android:id="@+id/code_delete_btn"
111 android:layout_width="50dp"
112 android:layout_height="match_parent"
113 android:background="@null"
114 android:src="@mipmap/delete_btn"
115 android:visibility="invisible" />
116
71 <Button 117 <Button
72 android:id="@+id/btn_authcode" 118 android:id="@+id/btn_authcode"
73 style="@style/login_register_btn_authcode_rect_style" 119 style="?android:attr/borderlessButtonStyle"
74 android:layout_marginLeft="0px" 120 android:layout_width="match_parent"
75 android:layout_marginTop="0px" 121 android:layout_height="wrap_content"
76 android:layout_weight="2" 122 android:layout_weight="2"
123 android:background="@drawable/code_bg"
124 android:maxLines="1"
125 android:padding="8dp"
77 android:text="获取验证码" 126 android:text="获取验证码"
78 android:textColor="@color/btn_text_color" /> 127 android:textColor="@color/login_text_blue"
128 android:textSize="18sp" />
79 </LinearLayout> 129 </LinearLayout>
80 130
81 <TextView 131 <TextView
82 android:id="@+id/authcode_error_hint" 132 android:id="@+id/authcode_error_hint"
83 style="@style/registererrhint_style" 133 style="@style/registererrhint_style"
84 android:layout_below="@id/rl_authcode" /> 134 android:layout_below="@id/rl_authcode" />
85 135
86 <RelativeLayout 136
137 <LinearLayout
87 android:id="@+id/pwd_rl" 138 android:id="@+id/pwd_rl"
88 android:layout_width="match_parent" 139 android:layout_width="match_parent"
89 android:layout_height="wrap_content" 140 android:layout_height="wrap_content"
90 android:layout_below="@id/rl_authcode" 141 android:layout_below="@id/rl_authcode"
91 android:layout_marginTop="30dp"> 142 android:background="@drawable/input_bg"
143 android:gravity="center_vertical"
144 android:layout_marginTop="10dp">
92 145
93 <EditText 146 <EditText
94 android:id="@+id/et_newpassword" 147 android:id="@+id/et_newpassword"
95 style="@style/login_register_edit_style" 148 style="@style/login_register_edit_style"
96 android:hint="密码为英文和数字组成,最少8位" 149 android:hint="密码为英文和数字组成,最少8位"
97 android:inputType="textPassword" /> 150 android:inputType="textPassword" />
98 151
99 <ImageView 152 <ImageView
100 android:id="@+id/iv_pwd_change" 153 android:id="@+id/iv_pwd_change"
101 android:padding="10dp"
102 android:layout_marginRight="10dp"
103 android:layout_marginLeft="10dp"
104 android:layout_width="40dp" 154 android:layout_width="40dp"
105 android:layout_height="wrap_content" 155 android:layout_height="wrap_content"
106 android:layout_alignParentRight="true" 156 android:layout_alignParentRight="true"
107 android:layout_centerVertical="true" 157 android:layout_centerVertical="true"
108 android:src="@mipmap/pwd_hide"/> 158 android:layout_marginLeft="10dp"
109 </RelativeLayout> 159 android:layout_marginRight="15dp"
160 android:padding="10dp"
161 android:src="@mipmap/pwd_hide" />
162 </LinearLayout>
110 163
111 <TextView 164 <TextView
112 android:id="@+id/newpassword_error_hint" 165 android:id="@+id/newpassword_error_hint"
113 style="@style/registererrhint_style" 166 style="@style/registererrhint_style"
114 android:layout_below="@id/pwd_rl" /> 167 android:layout_below="@id/pwd_rl" />
115 168
116 <EditText 169
117 android:id="@+id/et_again_newpassword" 170
118 style="@style/login_register_edit_style" 171 <LinearLayout
119 android:layout_below="@id/pwd_rl" 172 android:id="@+id/et_again_newpassword_layout"
120 android:layout_marginTop="30dp" 173 android:layout_width="match_parent"
121 android:hint="再次输入新密码" 174 android:layout_height="wrap_content"
122 android:inputType="textPassword" /> 175 android:layout_marginTop="10dp"
176 android:background="@drawable/input_bg"
177 android:gravity="center_vertical"
178 android:orientation="horizontal">
179
180 <EditText
181 android:id="@+id/et_again_newpassword"
182 style="@style/login_register_edit_style"
183 android:layout_below="@id/pwd_rl"
184 android:hint="再次输入新密码"
185 android:inputType="textPassword" />
186
187 <ImageView
188 android:id="@+id/iv_newpwd_change"
189 android:layout_width="40dp"
190 android:layout_height="wrap_content"
191 android:layout_alignParentRight="true"
192 android:layout_centerVertical="true"
193 android:layout_marginLeft="10dp"
194 android:layout_marginRight="15dp"
195 android:padding="10dp"
196 android:src="@mipmap/pwd_hide" />
197 </LinearLayout>
198
199
123 200
124 <TextView 201 <TextView
125 android:id="@+id/again_newpassword_error_hint" 202 android:id="@+id/again_newpassword_error_hint"
126 style="@style/registererrhint_style" 203 style="@style/registererrhint_style"
127 android:layout_below="@id/et_again_newpassword" /> 204 android:layout_below="@id/et_again_newpassword" />
128 205
129 <Button 206 <Button
130 android:id="@+id/btn_ok" 207 android:id="@+id/btn_ok"
131 style="@style/button_login_register_style" 208 style="@style/button_login_register_style"
132 android:layout_below="@id/et_again_newpassword" 209 android:layout_below="@id/et_again_newpassword"
133 android:layout_marginTop="30dp" 210 android:layout_marginTop="20dp"
134 android:text="确 定" /> 211 android:text="确 定" />
PersonalCenter/app/src/main/res/layout/activity_loginandregister.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 xmlns:tools="http://schemas.android.com/tools" 3 xmlns:tools="http://schemas.android.com/tools"
4 android:id="@android:id/tabhost" 4 android:id="@android:id/tabhost"
5 android:layout_width="fill_parent" 5 android:layout_width="fill_parent"
6 android:layout_height="fill_parent" 6 android:layout_height="fill_parent"
7 android:background="@color/white"> 7 android:background="@mipmap/main_bg">
8
9
10 <ImageView
11 android:id="@+id/iv_logo"
12 android:layout_width="wrap_content"
13 android:layout_height="wrap_content"
14 android:layout_centerHorizontal="true"
15 android:layout_marginTop="55dp"
16 android:layout_marginBottom="0dp"
17 android:src="@mipmap/logo" />
18 8
19 <LinearLayout 9 <LinearLayout
20 android:layout_width="wrap_content" 10 android:layout_width="550dp"
21 android:layout_height="wrap_content" 11 android:layout_height="600dp"
22 android:layout_below="@+id/iv_logo" 12 android:orientation="vertical"
23 android:orientation="vertical"> 13 android:layout_centerInParent="true"
24 14 android:background="@drawable/white_cycle_bg">
15 <ImageView
16 android:id="@+id/iv_logo"
17 android:layout_width="wrap_content"
18 android:layout_height="wrap_content"
19 android:layout_marginTop="25dp"
20 android:layout_gravity="center_horizontal"
21 android:src="@mipmap/logo" />
25 <com.hjx.personalcenter.thirdparty.SlidingTabLayout 22 <com.hjx.personalcenter.thirdparty.SlidingTabLayout
26 android:id="@+id/TabLayout_id" 23 android:id="@+id/TabLayout_id"
27 android:layout_width="match_parent" 24 android:layout_width="match_parent"
28 android:layout_height="50dp"> 25 android:layout_height="50dp">
29 </com.hjx.personalcenter.thirdparty.SlidingTabLayout> 26 </com.hjx.personalcenter.thirdparty.SlidingTabLayout>
30 27
31 <android.support.v4.view.ViewPager 28 <android.support.v4.view.ViewPager
32 android:id="@+id/viewpager_login" 29 android:id="@+id/viewpager_login"
PersonalCenter/app/src/main/res/layout/activity_main.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 xmlns:fresco="http://schemas.android.com/apk/res-auto"
6 android:background="@color/white" 5 android:background="@color/white"
7 android:orientation="vertical"> 6 android:orientation="vertical">
8 7
9 <RelativeLayout 8 <RelativeLayout
10 android:id="@+id/title" 9 android:id="@+id/title"
11 android:layout_width="match_parent" 10 android:layout_width="match_parent"
12 android:layout_height="50dp" 11 android:layout_height="50dp"
13 android:background="@color/login_text_blue"> 12 android:background="@color/login_text_blue">
14 13
15 <ImageView 14 <ImageView
16 android:id="@+id/cancel" 15 android:id="@+id/cancel"
17 android:layout_width="wrap_content" 16 android:layout_width="wrap_content"
18 android:layout_height="match_parent" 17 android:layout_height="match_parent"
19 android:paddingLeft="20dp" 18 android:paddingLeft="20dp"
20 android:paddingRight="20dp" 19 android:paddingRight="20dp"
21 android:visibility="gone" 20 android:visibility="gone"
22 android:src="@mipmap/title_back" /> 21 android:src="@mipmap/title_back" />
23 22
24 <TextView 23 <TextView
25 android:id="@+id/menu_title" 24 android:id="@+id/menu_title"
26 android:layout_width="wrap_content" 25 android:layout_width="wrap_content"
27 android:layout_height="match_parent" 26 android:layout_height="match_parent"
28 android:layout_centerInParent="true" 27 android:layout_centerInParent="true"
29 android:gravity="center_vertical" 28 android:gravity="center_vertical"
30 android:text="@string/titel_preson" 29 android:text="@string/titel_preson"
31 android:textColor="@android:color/white" 30 android:textColor="@android:color/white"
32 android:textSize="22sp" /> 31 android:textSize="22sp" />
33 32
34 <ImageView 33 <ImageView
35 android:id="@+id/iv_setting" 34 android:id="@+id/iv_setting"
36 android:layout_width="wrap_content" 35 android:layout_width="wrap_content"
37 android:layout_height="match_parent" 36 android:layout_height="match_parent"
38 android:layout_marginRight="10dp" 37 android:layout_marginRight="10dp"
39 android:layout_toLeftOf="@+id/iv_skin" 38 android:layout_toLeftOf="@+id/iv_switch"
40 android:gravity="center_vertical" 39 android:gravity="center_vertical"
41 android:padding="10dp" 40 android:padding="10dp"
42 android:src="@mipmap/shezhi1" 41 android:src="@mipmap/shezhi1"
43 android:textColor="@android:color/white" 42 android:textColor="@android:color/white"
44 android:textSize="22sp" /> 43 android:textSize="22sp" />
45 44
46 <ImageView 45 <ImageView
47 android:id="@+id/iv_skin" 46 android:id="@+id/iv_switch"
48 android:layout_width="wrap_content" 47 android:layout_width="wrap_content"
49 android:layout_height="match_parent" 48 android:layout_height="match_parent"
50 android:layout_marginRight="10dp" 49 android:layout_marginRight="10dp"
51 android:layout_toLeftOf="@+id/iv_imformatioan" 50 android:layout_toLeftOf="@+id/iv_imformatioan"
52 android:gravity="center_vertical" 51 android:gravity="center_vertical"
53 android:padding="10dp" 52 android:padding="10dp"
54 android:src="@mipmap/pifu" 53 android:src="@mipmap/switch_btn"
55 android:textColor="@android:color/white" 54 android:textColor="@android:color/white"
56 android:visibility="gone"
57 android:textSize="22sp" /> 55 android:textSize="22sp" />
58 56
59 <ImageView 57 <ImageView
60 android:id="@+id/iv_imformatioan" 58 android:id="@+id/iv_imformatioan"
61 android:layout_width="wrap_content" 59 android:layout_width="wrap_content"
62 android:layout_height="match_parent" 60 android:layout_height="match_parent"
63 android:layout_alignParentRight="true" 61 android:layout_alignParentRight="true"
64 android:layout_marginRight="10dp" 62 android:layout_marginRight="10dp"
65 android:gravity="center_vertical" 63 android:gravity="center_vertical"
66 android:padding="10dp" 64 android:padding="10dp"
67 android:src="@mipmap/fankui1" 65 android:src="@mipmap/fankui1"
68 android:textColor="@android:color/white" 66 android:textColor="@android:color/white"
69 android:textSize="22sp" /> 67 android:textSize="22sp" />
70 68
71 69
72 </RelativeLayout> 70 </RelativeLayout>
73 71
74 <LinearLayout 72 <LinearLayout
75 android:layout_width="match_parent" 73 android:layout_width="match_parent"
76 android:layout_height="match_parent"> 74 android:layout_height="match_parent">
77 75
78 <LinearLayout 76 <LinearLayout
79 android:layout_width="0dp" 77 android:layout_width="0dp"
80 android:layout_height="match_parent" 78 android:layout_height="match_parent"
81 android:layout_weight="1.2" 79 android:layout_weight="1.2"
82 android:orientation="vertical" 80 android:orientation="vertical"
83 android:background="@mipmap/head_bg"> 81 android:background="@mipmap/head_bg">
84 <RelativeLayout 82 <RelativeLayout
85 android:layout_width="wrap_content" 83 android:layout_width="wrap_content"
86 android:layout_marginTop="118dp" 84 android:layout_marginTop="118dp"
87 android:layout_height="250sp"> 85 android:layout_height="250sp">
88 86
89 <LinearLayout 87 <LinearLayout
90 android:id="@+id/ssss" 88 android:id="@+id/ssss"
91 android:layout_width="match_parent" 89 android:layout_width="match_parent"
92 android:layout_height="wrap_content" 90 android:layout_height="wrap_content"
93 android:layout_marginTop="28dp" 91 android:layout_marginTop="28dp"
94 android:gravity="center" 92 android:gravity="center"
95 android:orientation="horizontal"> 93 android:orientation="horizontal">
96 <com.hjx.personalcenter.View.RoundImageView60dip 94 <com.hjx.personalcenter.View.RoundImageView60dip
97 android:id="@+id/iv_head" 95 android:id="@+id/iv_head"
98 android:layout_width="70dp" 96 android:layout_width="90dp"
99 android:layout_height="70dp" 97 android:layout_height="90dp"
100 android:scaleType="centerCrop" 98 android:scaleType="centerCrop"
101 android:background="@mipmap/header_default" 99 android:background="@mipmap/header_default" />
102 />
103 100
104 <TextView 101 <TextView
105 android:layout_width="wrap_content" 102 android:layout_width="wrap_content"
106 android:layout_height="wrap_content" 103 android:layout_height="wrap_content"
107 android:layout_marginLeft="18dp" 104 android:layout_marginLeft="18dp"
108 android:layout_marginTop="20dp" 105 android:layout_marginTop="20dp"
109 android:background="@drawable/corcle_blue_bg" 106 android:background="@drawable/corcle_blue_bg"
110 android:paddingLeft="5dp" 107 android:paddingLeft="5dp"
111 android:paddingRight="5dp" 108 android:paddingRight="5dp"
112 android:gravity="center_vertical" 109 android:gravity="center_vertical"
113 android:text="签到" 110 android:text="签到"
114 android:textColor="@color/login_text_blue" 111 android:textColor="@color/login_text_blue"
115 android:visibility="gone" 112 android:visibility="gone"
116 android:textSize="18sp" /> 113 android:textSize="18sp" />
117 114
118 </LinearLayout> 115 </LinearLayout>
119 116
120 <LinearLayout 117 <LinearLayout
121 android:id="@+id/sssssss" 118 android:id="@+id/sssssss"
122 android:layout_width="match_parent" 119 android:layout_width="match_parent"
123 android:layout_height="wrap_content" 120 android:layout_height="wrap_content"
124 android:layout_marginLeft="20dp" 121 android:layout_marginLeft="20dp"
125 android:layout_below="@id/ssss" 122 android:layout_below="@id/ssss"
126 android:layout_marginTop="25dp" 123 android:layout_marginTop="25dp"
127 android:gravity="center" 124 android:gravity="center"
128 android:orientation="horizontal"> 125 android:orientation="horizontal">
129 126
130 <TextView 127 <TextView
131 android:id="@+id/tv_username" 128 android:id="@+id/tv_username"
132 android:layout_width="wrap_content" 129 android:layout_width="wrap_content"
133 android:layout_height="wrap_content" 130 android:layout_height="wrap_content"
134 android:text="" 131 android:text=""
135 android:gravity="center" 132 android:gravity="center"
136 android:textSize="22sp" /> 133 android:textSize="22sp" />
137 <TextView 134 <TextView
138 android:id="@+id/tv_yangji" 135 android:id="@+id/tv_yangji"
139 android:layout_marginLeft="5dp" 136 android:layout_marginLeft="5dp"
140 android:layout_width="wrap_content" 137 android:layout_width="wrap_content"
141 android:layout_height="wrap_content" 138 android:layout_height="wrap_content"
142 android:text="(样机)" 139 android:text="(样机)"
143 android:textSize="20dp" 140 android:textSize="20dp"
144 android:visibility="gone"/> 141 android:visibility="gone"/>
145 142
146 <ImageView 143 <ImageView
147 android:id="@+id/iv_sex" 144 android:id="@+id/iv_sex"
148 android:layout_width="wrap_content" 145 android:layout_width="wrap_content"
149 android:layout_height="wrap_content" 146 android:layout_height="wrap_content"
150 android:layout_gravity="center_vertical" 147 android:layout_gravity="center_vertical"
151 android:layout_marginLeft="5dp" 148 android:layout_marginLeft="5dp"
152 android:src="@mipmap/men" /> 149 android:src="@mipmap/men" />
153 150
154 </LinearLayout> 151 </LinearLayout>
155 152
156 <LinearLayout 153 <LinearLayout
157 android:layout_below="@id/sssssss" 154 android:layout_below="@id/sssssss"
158 android:layout_width="match_parent" 155 android:layout_width="match_parent"
159 android:layout_height="wrap_content" 156 android:layout_height="wrap_content"
160 android:layout_marginLeft="20dp" 157 android:layout_marginLeft="20dp"
161 android:layout_marginTop="10dp" 158 android:layout_marginTop="10dp"
162 android:gravity="center" 159 android:gravity="center"
163 android:orientation="horizontal"> 160 android:orientation="horizontal">
164 161
165 <TextView 162 <TextView
166 android:id="@+id/tv_sign" 163 android:id="@+id/tv_sign"
167 android:layout_height="wrap_content" 164 android:layout_height="wrap_content"
168 android:layout_width="wrap_content" 165 android:layout_width="wrap_content"
169 android:hint="请输入个性签名" 166 android:hint="请输入个性签名"
170 android:maxLines="3" 167 android:maxLines="3"
171 android:padding="10dp" 168 android:padding="10dp"
172 android:gravity="center" 169 android:gravity="center"
173 android:maxLength="40" 170 android:maxLength="40"
174 android:ellipsize="end" 171 android:ellipsize="end"
175 android:textSize="16sp" 172 android:textSize="16sp"
176 android:drawableRight="@mipmap/gerenxinxibianji"/> 173 android:drawableRight="@mipmap/gerenxinxibianji"/>
177 174
178 <ImageView 175 <ImageView
179 android:id="@+id/iv_sign" 176 android:id="@+id/iv_sign"
180 android:layout_width="wrap_content" 177 android:layout_width="wrap_content"
181 android:layout_height="wrap_content" 178 android:layout_height="wrap_content"
182 android:scaleType="center" 179 android:scaleType="center"
183 android:padding="10dp" 180 android:padding="10dp"
184 android:visibility="gone" 181 android:visibility="gone"
185 android:src="@mipmap/gerenxinxibianji" /> 182 android:src="@mipmap/gerenxinxibianji" />
186 183
187 184
188 </LinearLayout> 185 </LinearLayout>
189 </RelativeLayout> 186 </RelativeLayout>
190 <View 187 <View
191 android:layout_width="match_parent" 188 android:layout_width="match_parent"
192 android:layout_height="0.7dp" 189 android:layout_height="0.7dp"
193 android:background="@color/cutoff_line" 190 android:background="@color/cutoff_line"
194 android:visibility="gone"> 191 android:visibility="gone">
195 192
196 </View> 193 </View>
197 194
198 <LinearLayout 195 <LinearLayout
199 android:layout_width="match_parent" 196 android:layout_width="match_parent"
200 android:layout_height="50dp" 197 android:layout_height="50dp"
201 android:orientation="vertical" 198 android:orientation="vertical"
202 android:visibility="invisible"> 199 android:visibility="invisible">
203 200
204 <LinearLayout 201 <LinearLayout
205 android:layout_width="match_parent" 202 android:layout_width="match_parent"
206 android:layout_height="wrap_content" 203 android:layout_height="wrap_content"
207 android:gravity="center_vertical" 204 android:gravity="center_vertical"
208 android:orientation="horizontal"> 205 android:orientation="horizontal">
209 206
210 <ImageView 207 <ImageView
211 android:layout_width="0dp" 208 android:layout_width="0dp"
212 android:layout_height="wrap_content" 209 android:layout_height="wrap_content"
213 android:layout_weight="1" 210 android:layout_weight="1"
214 android:paddingTop="20dp" 211 android:paddingTop="20dp"
215 android:paddingBottom="20dp" 212 android:paddingBottom="20dp"
216 android:src="@mipmap/wodecuoti1" /> 213 android:src="@mipmap/wodecuoti1" />
217 214
218 <TextView 215 <TextView
219 android:id="@+id/linel_mycuoti" 216 android:id="@+id/linel_mycuoti"
220 android:layout_width="0dp" 217 android:layout_width="0dp"
221 android:layout_height="wrap_content" 218 android:layout_height="wrap_content"
222 android:layout_weight="1" 219 android:layout_weight="1"
223 android:paddingTop="20dp" 220 android:paddingTop="20dp"
224 android:paddingBottom="20dp" 221 android:paddingBottom="20dp"
225 android:text="我的错题" 222 android:text="我的错题"
226 android:textSize="20sp" /> 223 android:textSize="20sp" />
227 <View 224 <View
228 android:layout_width="1dp" 225 android:layout_width="1dp"
229 android:layout_height="match_parent" 226 android:layout_height="match_parent"
230 android:background="@color/cutoff_line"> 227 android:background="@color/cutoff_line">
231 228
232 </View> 229 </View>
233 230
234 <ImageView 231 <ImageView
235 android:layout_width="0dp" 232 android:layout_width="0dp"
236 android:layout_height="wrap_content" 233 android:layout_height="wrap_content"
237 android:layout_weight="1" 234 android:layout_weight="1"
238 android:paddingTop="20dp" 235 android:paddingTop="20dp"
239 android:paddingBottom="20dp" 236 android:paddingBottom="20dp"
240 android:src="@mipmap/wodebiji1" /> 237 android:src="@mipmap/wodebiji1" />
241 <TextView 238 <TextView
242 android:id="@+id/linel_mynote" 239 android:id="@+id/linel_mynote"
243 android:layout_width="0dp" 240 android:layout_width="0dp"
244 android:layout_height="wrap_content" 241 android:layout_height="wrap_content"
245 android:layout_weight="1" 242 android:layout_weight="1"
246 android:paddingTop="20dp" 243 android:paddingTop="20dp"
247 android:paddingBottom="20dp" 244 android:paddingBottom="20dp"
248 android:text="我的笔记" 245 android:text="我的笔记"
249 android:textSize="20sp" /> 246 android:textSize="20sp" />
250 247
251 </LinearLayout> 248 </LinearLayout>
252 <View 249 <View
253 android:layout_width="match_parent" 250 android:layout_width="match_parent"
254 android:layout_height="1dp" 251 android:layout_height="1dp"
255 android:background="@color/cutoff_line"> 252 android:background="@color/cutoff_line">
256 253
257 </View> 254 </View>
258 <LinearLayout 255 <LinearLayout
259 android:layout_width="match_parent" 256 android:layout_width="match_parent"
260 android:layout_height="wrap_content" 257 android:layout_height="wrap_content"
261 android:gravity="center_vertical" 258 android:gravity="center_vertical"
262 android:orientation="horizontal"> 259 android:orientation="horizontal">
263 260
264 <ImageView 261 <ImageView
265 android:layout_width="0dp" 262 android:layout_width="0dp"
266 android:layout_height="wrap_content" 263 android:layout_height="wrap_content"
267 android:layout_weight="1" 264 android:layout_weight="1"
268 android:paddingTop="20dp" 265 android:paddingTop="20dp"
269 android:paddingBottom="20dp" 266 android:paddingBottom="20dp"
270 android:src="@mipmap/wodeshoucang" /> 267 android:src="@mipmap/wodeshoucang" />
271 268
272 <TextView 269 <TextView
273 android:id="@+id/linel_mycollege" 270 android:id="@+id/linel_mycollege"
274 android:layout_width="0dp" 271 android:layout_width="0dp"
275 android:layout_height="wrap_content" 272 android:layout_height="wrap_content"
276 android:layout_weight="1" 273 android:layout_weight="1"
277 android:paddingTop="20dp" 274 android:paddingTop="20dp"
278 android:paddingBottom="20dp" 275 android:paddingBottom="20dp"
279 android:text="我的收藏" 276 android:text="我的收藏"
280 android:textSize="20sp" /> 277 android:textSize="20sp" />
281 <View 278 <View
282 android:layout_width="1dp" 279 android:layout_width="1dp"
283 android:layout_height="match_parent" 280 android:layout_height="match_parent"
284 android:background="@color/cutoff_line"> 281 android:background="@color/cutoff_line">
285 282
286 </View> 283 </View>
287 284
288 <ImageView 285 <ImageView
289 android:layout_width="0dp" 286 android:layout_width="0dp"
290 android:layout_height="wrap_content" 287 android:layout_height="wrap_content"
291 android:layout_weight="1" 288 android:layout_weight="1"
292 android:paddingTop="20dp" 289 android:paddingTop="20dp"
293 android:paddingBottom="20dp" 290 android:paddingBottom="20dp"
294 android:src="@mipmap/wodebanji1" /> 291 android:src="@mipmap/wodebanji1" />
295 <TextView 292 <TextView
296 android:id="@+id/linel_myclass" 293 android:id="@+id/linel_myclass"
297 android:layout_width="0dp" 294 android:layout_width="0dp"
298 android:layout_height="wrap_content" 295 android:layout_height="wrap_content"
299 android:layout_weight="1" 296 android:layout_weight="1"
300 android:text="我的生词" 297 android:text="我的生词"
301 android:paddingTop="20dp" 298 android:paddingTop="20dp"
302 android:paddingBottom="20dp" 299 android:paddingBottom="20dp"
303 android:textSize="20sp" /> 300 android:textSize="20sp" />
304 301
305 </LinearLayout> 302 </LinearLayout>
306 303
307 <View 304 <View
308 android:layout_width="match_parent" 305 android:layout_width="match_parent"
309 android:layout_height="0.7dp" 306 android:layout_height="0.7dp"
310 android:background="@color/cutoff_line"> 307 android:background="@color/cutoff_line">
311 308
312 </View> 309 </View>
313 310
314 </LinearLayout> 311 </LinearLayout>
315 <LinearLayout 312 <LinearLayout
316 android:layout_width="wrap_content" 313 android:layout_width="wrap_content"
317 android:layout_height="wrap_content" 314 android:layout_height="wrap_content"
318 android:paddingTop="10dp" 315 android:paddingTop="10dp"
319 android:paddingLeft="10dp" 316 android:paddingLeft="10dp"
320 android:paddingRight="10dp" 317 android:paddingRight="10dp"
321 android:layout_gravity="center" 318 android:layout_gravity="center"
322 android:layout_marginTop="150dp"> 319 android:layout_marginTop="150dp">
323 <TextView 320 <TextView
324 android:id="@+id/iv_look_card" 321 android:id="@+id/iv_look_card"
325 android:layout_width="wrap_content" 322 android:layout_width="wrap_content"
326 android:layout_height="wrap_content" 323 android:layout_height="40dp"
324 android:gravity="center"
327 android:textColor="@color/bgstudy_baoka" 325 android:textColor="@color/bgstudy_baoka"
328 android:text="好记星电子产品保修卡" /> 326 android:text="好记星电子产品保修卡" />
329 <ImageView 327 <ImageView
330 android:layout_width="wrap_content" 328 android:layout_width="wrap_content"
331 android:layout_height="wrap_content" 329 android:layout_height="wrap_content"
332 android:layout_gravity="center_vertical" 330 android:layout_gravity="center_vertical"
333 android:src="@mipmap/ahah" /> 331 android:src="@mipmap/ahah" />
334 </LinearLayout> 332 </LinearLayout>
335 333
336 <!-- 334 <!--
337 <LinearLayout 335 <LinearLayout
338 android:layout_marginTop="10dp" 336 android:layout_marginTop="10dp"
339 android:layout_width="match_parent" 337 android:layout_width="match_parent"
340 android:layout_height="100dp" 338 android:layout_height="100dp"
341 android:gravity="bottom" 339 android:gravity="bottom"
342 android:background="@mipmap/xiaoguanggao"> 340 android:background="@mipmap/xiaoguanggao">
343 341
344 </LinearLayout>--> 342 </LinearLayout>-->
345 343
346 344
347 </LinearLayout> 345 </LinearLayout>
348 346
349 347
350 <View 348 <View
351 android:layout_width="0.7dp" 349 android:layout_width="0.7dp"
352 android:layout_height="match_parent" 350 android:layout_height="match_parent"
353 android:background="@color/cutoff_line"> 351 android:background="@color/cutoff_line">
354 352
355 </View> 353 </View>
356 354
357 <LinearLayout 355 <LinearLayout
358 android:layout_width="0dp" 356 android:layout_width="0dp"
359 android:layout_height="match_parent" 357 android:layout_height="match_parent"
360 android:layout_weight="2.8" 358 android:layout_weight="2.8"
361 android:orientation="vertical"> 359 android:orientation="vertical">
362 360
363 <LinearLayout 361 <LinearLayout
364 android:layout_width="match_parent" 362 android:layout_width="match_parent"
365 android:layout_height="wrap_content" 363 android:layout_height="wrap_content"
366 android:layout_margin="10dp" 364 android:layout_margin="10dp"
367 android:gravity="center_vertical" 365 android:gravity="center_vertical"
368 android:orientation="horizontal"> 366 android:orientation="horizontal">
369 367
370 <View 368 <View
371 android:layout_width="5dp" 369 android:layout_width="5dp"
372 android:layout_height="20dp" 370 android:layout_height="20dp"
373 android:background="@color/login_text_blue"> 371 android:background="@color/login_text_blue">
374 372
375 </View> 373 </View>
376 374
377 <TextView 375 <TextView
378 android:layout_width="0dp" 376 android:layout_width="0dp"
379 android:layout_height="wrap_content" 377 android:layout_height="wrap_content"
380 android:layout_marginLeft="5dp" 378 android:layout_marginLeft="5dp"
381 android:layout_weight="5" 379 android:layout_weight="5"
382 android:text="个人信息" 380 android:text="个人信息"
383 android:textSize="22sp" /> 381 android:textSize="22sp" />
384 382
385 <TextView 383 <TextView
386 android:layout_width="0dp" 384 android:layout_width="0dp"
387 android:layout_height="wrap_content" 385 android:layout_height="wrap_content"
388 android:layout_marginLeft="10dp" 386 android:layout_marginLeft="10dp"
389 android:layout_weight="0.1" 387 android:layout_weight="0.1"
390 android:text="" 388 android:text=""
391 android:textSize="18sp" /> 389 android:textSize="18sp" />
392 390
393 <ImageView 391 <ImageView
394 android:id="@+id/tv_edit_presoninfo" 392 android:id="@+id/tv_edit_presoninfo"
395 android:padding="10dp" 393 android:padding="10dp"
396 android:layout_width="0dp" 394 android:layout_width="0dp"
397 android:layout_height="wrap_content" 395 android:layout_height="wrap_content"
398 android:layout_weight="0.4" 396 android:layout_weight="0.4"
399 android:src="@mipmap/gerenxinxibianji" /> 397 android:src="@mipmap/gerenxinxibianji" />
400 398
401 399
402 </LinearLayout> 400 </LinearLayout>
403 401
404 <LinearLayout 402 <LinearLayout
405 android:layout_width="match_parent" 403 android:layout_width="match_parent"
406 android:layout_height="wrap_content" 404 android:layout_height="wrap_content"
407 android:layout_marginLeft="50dp" 405 android:layout_marginLeft="50dp"
408 android:orientation="vertical"> 406 android:orientation="vertical">
409 407
410 <LinearLayout 408 <LinearLayout
411 android:layout_width="match_parent" 409 android:layout_width="match_parent"
412 android:layout_height="wrap_content" 410 android:layout_height="wrap_content"
413 android:gravity="center_vertical" 411 android:gravity="center_vertical"
414 android:orientation="horizontal"> 412 android:orientation="horizontal">
415 413
416 <TextView 414 <TextView
417 android:layout_width="0dp" 415 android:layout_width="0dp"
418 android:layout_height="wrap_content" 416 android:layout_height="wrap_content"
419 android:textColor="@color/login_edittext_hint" 417 android:textColor="@color/login_edittext_hint"
420 android:layout_weight="1" 418 android:layout_weight="1"
421 android:text="昵称" 419 android:text="昵称"
422 android:textSize="20sp" /> 420 android:textSize="20sp" />
423 421
424 <TextView 422 <TextView
425 android:id="@+id/tv_username1" 423 android:id="@+id/tv_username1"
426 android:layout_width="0dp" 424 android:layout_width="0dp"
427 android:layout_height="wrap_content" 425 android:layout_height="wrap_content"
428 android:layout_weight="2" 426 android:layout_weight="2"
429 android:hint="未填写" 427 android:hint="未填写"
430 android:textSize="20sp" /> 428 android:textSize="20sp" />
431 429
432 <TextView 430 <TextView
433 android:layout_width="1dp" 431 android:layout_width="1dp"
434 android:layout_height="wrap_content" 432 android:layout_height="wrap_content"
435 android:layout_weight="1" 433 android:layout_weight="1"
436 android:textColor="@color/login_edittext_hint" 434 android:textColor="@color/login_edittext_hint"
437 android:text="星座" 435 android:text="星座"
438 android:textSize="20sp" /> 436 android:textSize="20sp" />
439 437
440 <TextView 438 <TextView
441 android:id="@+id/tv_mygad" 439 android:id="@+id/tv_mygad"
442 android:layout_width="0dp" 440 android:layout_width="0dp"
443 android:layout_height="wrap_content" 441 android:layout_height="wrap_content"
444 android:layout_weight="2" 442 android:layout_weight="2"
445 android:hint="未填写" 443 android:hint="未填写"
446 android:textSize="20sp" /> 444 android:textSize="20sp" />
447 </LinearLayout> 445 </LinearLayout>
448 446
449 <LinearLayout 447 <LinearLayout
450 android:layout_width="match_parent" 448 android:layout_width="match_parent"
451 android:layout_height="wrap_content" 449 android:layout_height="wrap_content"
452 android:layout_marginTop="15dp" 450 android:layout_marginTop="15dp"
453 android:gravity="center_vertical" 451 android:gravity="center_vertical"
454 android:orientation="horizontal"> 452 android:orientation="horizontal">
455 453
456 <TextView 454 <TextView
457 android:layout_width="0dp" 455 android:layout_width="0dp"
458 android:layout_height="wrap_content" 456 android:layout_height="wrap_content"
459 android:textColor="@color/login_edittext_hint" 457 android:textColor="@color/login_edittext_hint"
460 android:layout_weight="1" 458 android:layout_weight="1"
461 android:text="性别" 459 android:text="性别"
462 android:textSize="20sp" /> 460 android:textSize="20sp" />
463 461
464 <TextView 462 <TextView
465 android:id="@+id/tv_sex" 463 android:id="@+id/tv_sex"
466 android:layout_width="0dp" 464 android:layout_width="0dp"
467 android:layout_height="wrap_content" 465 android:layout_height="wrap_content"
468 android:layout_weight="2" 466 android:layout_weight="2"
469 android:hint="未填写" 467 android:hint="未填写"
470 android:textSize="20sp" /> 468 android:textSize="20sp" />
471 469
472 <TextView 470 <TextView
473 android:layout_width="1dp" 471 android:layout_width="1dp"
474 android:layout_height="wrap_content" 472 android:layout_height="wrap_content"
475 android:textColor="@color/login_edittext_hint" 473 android:textColor="@color/login_edittext_hint"
476 android:layout_weight="1" 474 android:layout_weight="1"
477 android:text="地区" 475 android:text="地区"
478 android:textSize="20sp" /> 476 android:textSize="20sp" />
479 477
480 <TextView 478 <TextView
481 android:id="@+id/tv_useinfo_adress" 479 android:id="@+id/tv_useinfo_adress"
482 android:layout_width="0dp" 480 android:layout_width="0dp"
483 android:layout_height="wrap_content" 481 android:layout_height="wrap_content"
484 android:layout_weight="2" 482 android:layout_weight="2"
485 android:hint="未填写" 483 android:hint="未填写"
486 android:maxLines="2" 484 android:maxLines="2"
487 android:ellipsize="end" 485 android:ellipsize="end"
488 android:textSize="20sp" /> 486 android:textSize="20sp" />
489 </LinearLayout> 487 </LinearLayout>
490 488
491 <LinearLayout 489 <LinearLayout
492 android:layout_width="match_parent" 490 android:layout_width="match_parent"
493 android:layout_height="wrap_content" 491 android:layout_height="wrap_content"
494 android:layout_marginTop="15dp" 492 android:layout_marginTop="15dp"
495 android:gravity="center_vertical" 493 android:gravity="center_vertical"
496 android:orientation="horizontal"> 494 android:orientation="horizontal">
497 495
498 <TextView 496 <TextView
499 android:layout_width="0dp" 497 android:layout_width="0dp"
500 android:layout_height="wrap_content" 498 android:layout_height="wrap_content"
501 android:layout_weight="1" 499 android:layout_weight="1"
502 android:text="生日" 500 android:text="生日"
503 android:textColor="@color/login_edittext_hint" 501 android:textColor="@color/login_edittext_hint"
504 502
505 android:textSize="20sp" /> 503 android:textSize="20sp" />
506 504
507 <TextView 505 <TextView
508 android:id="@+id/tv_useinfo_birthday" 506 android:id="@+id/tv_useinfo_birthday"
509 android:layout_width="0dp" 507 android:layout_width="0dp"
510 android:layout_height="wrap_content" 508 android:layout_height="wrap_content"
511 android:layout_weight="2" 509 android:layout_weight="2"
512 android:hint="未填写" 510 android:hint="未填写"
513 android:textSize="20sp" /> 511 android:textSize="20sp" />
514 512
515 <TextView 513 <TextView
516 android:layout_width="1dp" 514 android:layout_width="1dp"
517 android:layout_height="wrap_content" 515 android:layout_height="wrap_content"
518 android:layout_weight="1" 516 android:layout_weight="1"
519 android:textColor="@color/login_edittext_hint" 517 android:textColor="@color/login_edittext_hint"
520 518
521 android:text="学校" 519 android:text="学校"
522 android:textSize="20sp" /> 520 android:textSize="20sp" />
523 521
524 <TextView 522 <TextView
525 android:id="@+id/tv_useinfo_school" 523 android:id="@+id/tv_useinfo_school"
526 android:layout_width="0dp" 524 android:layout_width="0dp"
527 android:layout_height="wrap_content" 525 android:layout_height="wrap_content"
528 android:layout_weight="2" 526 android:layout_weight="2"
527 android:maxLines="1"
528 android:ellipsize="end"
529 android:hint="未填写" 529 android:hint="未填写"
530 android:textSize="20sp" /> 530 android:textSize="20sp" />
531 </LinearLayout> 531 </LinearLayout>
532 532
533 <LinearLayout 533 <LinearLayout
534 android:layout_width="match_parent" 534 android:layout_width="match_parent"
535 android:layout_height="wrap_content" 535 android:layout_height="wrap_content"
536 android:layout_marginTop="15dp" 536 android:layout_marginTop="15dp"
537 android:gravity="center_vertical" 537 android:gravity="center_vertical"
538 android:orientation="horizontal"> 538 android:orientation="horizontal">
539 539
540 <TextView 540 <TextView
541 android:layout_width="0dp" 541 android:layout_width="0dp"
542 android:layout_height="wrap_content" 542 android:layout_height="wrap_content"
543 android:layout_weight="1" 543 android:layout_weight="1"
544 android:textColor="@color/login_edittext_hint" 544 android:textColor="@color/login_edittext_hint"
545 android:text=" Q Q" 545 android:text=" Q Q"
546 android:textSize="20sp" /> 546 android:textSize="20sp" />
547 547
548 <TextView 548 <TextView
549 android:id="@+id/tv_useinfo_qq" 549 android:id="@+id/tv_useinfo_qq"
550 android:layout_width="0dp" 550 android:layout_width="0dp"
551 android:layout_height="wrap_content" 551 android:layout_height="wrap_content"
552 android:layout_weight="2" 552 android:layout_weight="2"
553 android:hint="未填写" 553 android:hint="未填写"
554 android:textSize="20sp" /> 554 android:textSize="20sp" />
555 555
556 <TextView 556 <TextView
557 android:layout_width="1dp" 557 android:layout_width="1dp"
558 android:layout_height="wrap_content" 558 android:layout_height="wrap_content"
559 android:layout_weight="1" 559 android:layout_weight="1"
560 android:text="年级" 560 android:text="年级"
561 android:textColor="@color/login_edittext_hint" 561 android:textColor="@color/login_edittext_hint"
562 562
563 android:textSize="20sp" /> 563 android:textSize="20sp" />
564 564
565 <TextView 565 <TextView
566 android:id="@+id/tv_useinfo_gender" 566 android:id="@+id/tv_useinfo_gender"
567 android:layout_width="0dp" 567 android:layout_width="0dp"
568 android:layout_height="wrap_content" 568 android:layout_height="wrap_content"
569 android:layout_weight="2" 569 android:layout_weight="2"
570 android:hint="未填写" 570 android:hint="未填写"
571 android:textSize="20sp" /> 571 android:textSize="20sp" />
572 </LinearLayout> 572 </LinearLayout>
573 573
574 574
575 </LinearLayout> 575 </LinearLayout>
576 <View 576 <View
577 android:layout_width="match_parent" 577 android:layout_width="match_parent"
578 android:layout_height="0.7dp" 578 android:layout_height="0.7dp"
579 android:layout_marginTop="40dp" 579 android:layout_marginTop="40dp"
580 android:background="@color/cutoff_line"> 580 android:background="@color/cutoff_line">
581 581
582 </View> 582 </View>
583 <LinearLayout 583 <LinearLayout
584 android:layout_width="match_parent" 584 android:layout_width="match_parent"
585 android:layout_height="wrap_content" 585 android:layout_height="wrap_content"
586 android:layout_margin="10dp" 586 android:layout_margin="10dp"
587 android:gravity="center_vertical" 587 android:gravity="center_vertical"
588 android:orientation="horizontal"> 588 android:orientation="horizontal">
589 589
590 <View 590 <View
591 android:layout_width="5dp" 591 android:layout_width="5dp"
592 android:layout_height="20dp" 592 android:layout_height="20dp"
593 android:background="@color/login_text_blue"> 593 android:background="@color/login_text_blue">
594 594
595 </View> 595 </View>
596 596
597 <TextView 597 <TextView
598 android:layout_width="wrap_content" 598 android:layout_width="wrap_content"
599 android:layout_height="wrap_content" 599 android:layout_height="wrap_content"
600 android:layout_marginLeft="5dp" 600 android:layout_marginLeft="5dp"
601 android:text="版本信息" 601 android:text="版本信息"
602 android:textSize="22sp" /> 602 android:textSize="22sp" />
603 603
604 </LinearLayout> 604 </LinearLayout>
605 605
606 <LinearLayout 606 <LinearLayout
607 android:layout_width="wrap_content" 607 android:layout_width="wrap_content"
608 android:layout_height="wrap_content" 608 android:layout_height="wrap_content"
609 android:orientation="vertical" 609 android:orientation="vertical"
610 android:gravity="center"> 610 android:gravity="center">
611 611
612 612
613 <GridView 613 <GridView
614 android:id="@+id/id_recyclerview_pubish" 614 android:id="@+id/id_recyclerview_pubish"
615 android:layout_margin="3dp" 615 android:layout_margin="3dp"
616 android:layout_width="match_parent" 616 android:layout_width="match_parent"
617 android:layout_height="wrap_content" 617 android:layout_height="wrap_content"
618 android:gravity="center_vertical" 618 android:gravity="center_vertical"
619 android:verticalSpacing="20dp" 619 android:verticalSpacing="20dp"
620 android:numColumns="5"> 620 android:numColumns="5">
621 621
622 </GridView> 622 </GridView>
623 623
624 624
625 </LinearLayout> 625 </LinearLayout>
626 626
627 627
628 </LinearLayout> 628 </LinearLayout>
629 <LinearLayout 629 <LinearLayout
630 android:layout_width="0dp" 630 android:layout_width="0dp"
631 android:layout_height="match_parent" 631 android:layout_height="match_parent"
632 android:layout_weight="1" 632 android:layout_weight="1"
633 android:background="@color/bgstudy_laout" 633 android:background="@color/bgstudy_laout"
634 android:orientation="vertical"> 634 android:orientation="vertical">
635 <LinearLayout 635 <LinearLayout
636 android:layout_width="match_parent" 636 android:layout_width="match_parent"
637 android:layout_height="wrap_content" 637 android:layout_height="wrap_content"
638 android:layout_margin="20dp" 638 android:layout_margin="20dp"
639 android:gravity="center_vertical" 639 android:gravity="center_vertical"
640 android:orientation="horizontal"> 640 android:orientation="horizontal">
641 641
642 <View 642 <View
643 android:layout_width="5dp" 643 android:layout_width="5dp"
644 android:layout_height="20dp" 644 android:layout_height="20dp"
645 android:background="@color/login_text_blue"> 645 android:background="@color/login_text_blue">
646 646
647 </View> 647 </View>
648 648
649 <TextView 649 <TextView
650 android:layout_width="wrap_content" 650 android:layout_width="wrap_content"
651 android:layout_height="wrap_content" 651 android:layout_height="wrap_content"
652 android:layout_marginLeft="5dp" 652 android:layout_marginLeft="5dp"
653 android:text="最近学习" 653 android:text="最近学习"
654 android:textSize="22sp" /> 654 android:textSize="22sp" />
655 655
656 </LinearLayout> 656 </LinearLayout>
657 657
658 <LinearLayout 658 <LinearLayout
659 android:layout_width="match_parent" 659 android:layout_width="match_parent"
660 android:layout_height="match_parent" 660 android:layout_height="match_parent"
661 android:gravity="center" 661 android:gravity="center"
662 android:orientation="vertical" 662 android:orientation="vertical">
663 >
664 <LinearLayout 663 <LinearLayout
665 android:id="@+id/view_novedeo" 664 android:id="@+id/view_novedeo"
666 android:layout_width="match_parent" 665 android:layout_width="match_parent"
667 android:layout_height="match_parent" 666 android:layout_height="match_parent"
668 android:gravity="center" 667 android:gravity="center"
669 android:orientation="vertical"> 668 android:orientation="vertical">
670 <ImageView 669 <ImageView
671 android:layout_width="wrap_content" 670 android:layout_width="wrap_content"
672 android:layout_height="wrap_content" 671 android:layout_height="wrap_content"
673 android:src="@mipmap/nostudy"/> 672 android:src="@mipmap/nostudy"/>
674 <TextView 673 <TextView
675 android:layout_width="wrap_content" 674 android:layout_width="wrap_content"
676 android:layout_height="wrap_content" 675 android:layout_height="wrap_content"
677 android:layout_marginTop="20dp" 676 android:layout_marginTop="20dp"
678 android:text="小主人最近还没有学习哦" 677 android:text="小主人最近还没有学习哦"
679 android:textSize="14sp" /> 678 android:textSize="14sp" />
680 <TextView 679 <TextView
681 android:layout_width="wrap_content" 680 android:layout_width="wrap_content"
682 android:layout_height="wrap_content" 681 android:layout_height="wrap_content"
683 android:text="快去学习吧" 682 android:text="快去学习吧"
684 android:textSize="14sp" /> 683 android:textSize="14sp" />
685 </LinearLayout> 684 </LinearLayout>
686 <android.support.v7.widget.RecyclerView 685 <android.support.v7.widget.RecyclerView
687 android:id="@+id/id_recyclerview_horizontal" 686 android:id="@+id/id_recyclerview_horizontal"
688 android:layout_width="wrap_content" 687 android:layout_width="wrap_content"
689 android:layout_height="wrap_content" 688 android:layout_height="wrap_content"
690 android:layout_marginLeft="20dp" 689 android:layout_marginLeft="20dp"
691 android:layout_gravity="top" 690 android:layout_gravity="top"
692 android:scrollbars="none" /> 691 android:scrollbars="none" />
693 </LinearLayout> 692 </LinearLayout>
694 693
695 </LinearLayout> 694 </LinearLayout>
696 695
697 696
698 </LinearLayout> 697 </LinearLayout>
699 698
PersonalCenter/app/src/main/res/layout/activity_ok_cardinfo.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:orientation="vertical"> 5 android:orientation="vertical">
6 6
7 <RelativeLayout 7 <RelativeLayout
8 android:id="@+id/title" 8 android:id="@+id/title"
9 android:layout_width="match_parent" 9 android:layout_width="match_parent"
10 android:layout_height="wrap_content" 10 android:layout_height="wrap_content"
11 android:background="@color/login_text_blue" 11 android:background="@color/login_text_blue"
12 android:minHeight="50dp"> 12 android:minHeight="50dp">
13 13
14 <ImageView 14 <ImageView
15 android:id="@+id/cancel" 15 android:id="@+id/cancel"
16 android:layout_width="wrap_content" 16 android:layout_width="wrap_content"
17 android:layout_height="wrap_content" 17 android:layout_height="wrap_content"
18 android:layout_centerVertical="true" 18 android:layout_centerVertical="true"
19 android:paddingLeft="20dp" 19 android:paddingLeft="20dp"
20 android:paddingRight="20dp" 20 android:paddingRight="20dp"
21 android:src="@mipmap/title_back" /> 21 android:src="@mipmap/title_back" />
22 22
23 <TextView 23 <TextView
24 android:id="@+id/menu_title" 24 android:id="@+id/menu_title"
25 android:layout_width="wrap_content" 25 android:layout_width="wrap_content"
26 android:layout_height="wrap_content" 26 android:layout_height="wrap_content"
27 android:layout_centerInParent="true" 27 android:layout_centerInParent="true"
28 android:text="@string/string_electroniccard_info_ok" 28 android:text="@string/string_electroniccard_info_ok"
29 android:textColor="@android:color/white" 29 android:textColor="@android:color/white"
30 android:textSize="22sp" /> 30 android:textSize="22sp" />
31 </RelativeLayout> 31 </RelativeLayout>
32 32
33 <LinearLayout 33 <LinearLayout
34 android:layout_width="match_parent" 34 android:layout_width="match_parent"
35 android:layout_height="wrap_content" 35 android:layout_height="wrap_content"
36 android:layout_marginTop="50dp" 36 android:layout_marginTop="50dp"
37 android:layout_marginLeft="20dp" 37 android:layout_marginLeft="20dp"
38 android:layout_marginRight="20dp" 38 android:layout_marginRight="20dp"
39 android:layout_marginBottom="30dp" 39 android:layout_marginBottom="30dp"
40 android:background="@mipmap/cardbackgrangd" 40 android:background="@mipmap/cardbackgrangd"
41 android:gravity="center" 41 android:gravity="center"
42 android:orientation="vertical"> 42 android:orientation="vertical">
43 43
44 <LinearLayout 44 <LinearLayout
45 android:layout_width="match_parent" 45 android:layout_width="match_parent"
46 android:layout_height="wrap_content" 46 android:layout_height="wrap_content"
47 android:layout_marginTop="50dp" 47 android:layout_marginTop="50dp"
48 android:gravity="center_vertical" 48 android:gravity="center_vertical"
49 android:orientation="horizontal"> 49 android:orientation="horizontal">
50 50
51 <LinearLayout 51 <LinearLayout
52 android:layout_width="0dp" 52 android:layout_width="0dp"
53 android:layout_weight="1" 53 android:layout_weight="1"
54 android:layout_height="wrap_content" 54 android:layout_height="wrap_content"
55 android:layout_marginLeft="200dp" 55 android:layout_marginLeft="200dp"
56 android:gravity="center_vertical"> 56 android:gravity="center_vertical">
57 57
58 <ImageView 58 <ImageView
59 android:layout_width="wrap_content" 59 android:layout_width="wrap_content"
60 android:layout_height="wrap_content" 60 android:layout_height="wrap_content"
61 android:src="@mipmap/logo_info" /> 61 android:src="@mipmap/logo_info" />
62 62
63 <TextView 63 <TextView
64 android:layout_width="wrap_content" 64 android:layout_width="wrap_content"
65 android:layout_height="wrap_content" 65 android:layout_height="wrap_content"
66 android:layout_marginLeft="50dp" 66 android:layout_marginLeft="50dp"
67 android:background="@null" 67 android:background="@null"
68 android:text="电子保卡" 68 android:text="电子保卡"
69 android:textColor="@color/electronic_card" 69 android:textColor="@color/electronic_card"
70 android:textSize="22sp" /> 70 android:textSize="22sp" />
71 71
72 </LinearLayout> 72 </LinearLayout>
73 73
74 <LinearLayout 74 <LinearLayout
75 android:id="@+id/salesperson_phone_layout"
75 android:layout_width="0dp" 76 android:layout_width="0dp"
76 android:layout_weight="1" 77 android:layout_weight="1"
77 android:layout_height="80dp" 78 android:layout_height="60dp"
78 android:layout_marginLeft="80dp" 79 android:layout_marginLeft="80dp"
79 android:gravity="center_vertical"> 80 android:gravity="center_vertical">
80 81
81 <TextView 82 <TextView
82 android:layout_width="wrap_content" 83 android:layout_width="wrap_content"
83 android:layout_height="wrap_content" 84 android:layout_height="wrap_content"
84 android:text="客户姓名" 85 android:text="导购员手机号"
85 android:textSize="22sp" /> 86 android:textSize="22sp" />
86 87
87 <TextView 88 <TextView
88 android:id="@+id/iv_card_username" 89 android:id="@+id/tv_salesperson_phone"
89 android:layout_width="wrap_content" 90 android:layout_width="wrap_content"
90 android:layout_height="wrap_content" 91 android:layout_height="wrap_content"
91 android:layout_marginLeft="80dp" 92 android:layout_marginLeft="40dp"
93 android:background="@null"
92 android:text="" 94 android:text=""
93 android:textSize="22sp" /> 95 android:textSize="22sp" />
94 96
95 </LinearLayout> 97 </LinearLayout>
96 98
97 </LinearLayout> 99 </LinearLayout>
98 100
99 <LinearLayout 101 <LinearLayout
100 android:layout_width="match_parent" 102 android:layout_width="match_parent"
101 android:layout_height="wrap_content" 103 android:layout_height="wrap_content"
102 android:gravity="center_vertical" 104 android:gravity="center_vertical"
103 android:orientation="horizontal"> 105 android:orientation="horizontal">
104 106
105 <LinearLayout 107 <LinearLayout
106 android:layout_width="0dp" 108 android:layout_width="0dp"
107 android:layout_weight="1" 109 android:layout_weight="1"
108 android:layout_height="60dp" 110 android:layout_height="60dp"
109 android:layout_marginLeft="200dp" 111 android:layout_marginLeft="200dp"
110 android:gravity="center_vertical"> 112 android:gravity="center_vertical">
111 113
112 <TextView 114 <TextView
113 android:layout_width="wrap_content" 115 android:layout_width="wrap_content"
114 android:layout_height="wrap_content" 116 android:layout_height="wrap_content"
115 android:text="产品型号" 117 android:text="产品型号"
116 android:textSize="22sp" /> 118 android:textSize="22sp" />
117 119
118 <TextView 120 <TextView
119 android:id="@+id/tv_card_deviceModel" 121 android:id="@+id/tv_card_deviceModel"
120 android:layout_width="wrap_content" 122 android:layout_width="wrap_content"
121 android:layout_height="wrap_content" 123 android:layout_height="wrap_content"
122 android:layout_marginLeft="50dp" 124 android:layout_marginLeft="50dp"
123 android:text="" 125 android:text=""
124 android:textSize="22sp" /> 126 android:textSize="22sp" />
125 127
126 128
127 </LinearLayout> 129 </LinearLayout>
128 130
131
129 <LinearLayout 132 <LinearLayout
130 android:layout_width="0dp" 133 android:layout_width="0dp"
131 android:layout_weight="1" 134 android:layout_weight="1"
132 android:layout_height="60dp" 135 android:layout_height="60dp"
133 android:layout_marginLeft="80dp" 136 android:layout_marginLeft="80dp"
134 android:gravity="center_vertical"> 137 android:gravity="center_vertical">
135 138
136 <TextView 139 <TextView
137 android:layout_width="wrap_content" 140 android:layout_width="wrap_content"
138 android:layout_height="wrap_content" 141 android:layout_height="wrap_content"
139 android:text="客户地址" 142 android:text="客户姓名"
140 android:textSize="22sp" /> 143 android:textSize="22sp" />
141 144
142 <TextView 145 <TextView
143 android:id="@+id/tv_card_adress" 146 android:id="@+id/iv_card_username"
144 android:layout_width="wrap_content" 147 android:layout_width="wrap_content"
145 android:layout_height="wrap_content" 148 android:layout_height="wrap_content"
146 android:layout_marginLeft="80dp" 149 android:layout_marginLeft="83dp"
147 android:background="@null"
148 android:text="" 150 android:text=""
149 android:textSize="22sp" /> 151 android:textSize="22sp" />
150 152
151 </LinearLayout> 153 </LinearLayout>
152 154
155
153 </LinearLayout> 156 </LinearLayout>
154 157
155 <LinearLayout 158 <LinearLayout
156 android:layout_width="match_parent" 159 android:layout_width="match_parent"
157 android:layout_height="wrap_content" 160 android:layout_height="wrap_content"
158 android:gravity="center_vertical" 161 android:gravity="center_vertical"
159 android:orientation="horizontal"> 162 android:orientation="horizontal">
160 163
161 <LinearLayout 164 <LinearLayout
162 android:layout_width="0dp" 165 android:layout_width="0dp"
163 android:layout_weight="1" 166 android:layout_weight="1"
164 android:layout_height="60dp" 167 android:layout_height="60dp"
165 android:layout_marginLeft="200dp" 168 android:layout_marginLeft="200dp"
166 android:gravity="center_vertical"> 169 android:gravity="center_vertical">
167 170
168 <TextView 171 <TextView
169 android:layout_width="wrap_content" 172 android:layout_width="wrap_content"
170 android:layout_height="wrap_content" 173 android:layout_height="wrap_content"
171 android:text="MAC地址" 174 android:text="MAC地址"
172 android:textSize="22sp" /> 175 android:textSize="22sp" />
173 176
174 <TextView 177 <TextView
175 android:id="@+id/tv_card_mac" 178 android:id="@+id/tv_card_mac"
176 android:layout_width="wrap_content" 179 android:layout_width="wrap_content"
177 android:layout_height="wrap_content" 180 android:layout_height="wrap_content"
178 android:layout_marginLeft="50dp" 181 android:layout_marginLeft="50dp"
179 android:background="@null" 182 android:background="@null"
180 android:text="" 183 android:text=""
181 android:textSize="22sp" /> 184 android:textSize="22sp" />
182 185
183 </LinearLayout> 186 </LinearLayout>
184 187
185 <LinearLayout 188 <LinearLayout
186 android:layout_width="0dp" 189 android:layout_width="0dp"
187 android:layout_weight="1" 190 android:layout_weight="1"
188 android:layout_height="60dp" 191 android:layout_height="60dp"
189 android:layout_marginLeft="80dp" 192 android:layout_marginLeft="80dp"
190 android:gravity="center_vertical"> 193 android:gravity="center_vertical">
191 194
192 <TextView 195 <TextView
193 android:layout_width="wrap_content" 196 android:layout_width="wrap_content"
194 android:layout_height="wrap_content" 197 android:layout_height="wrap_content"
195 android:text="购买时间" 198 android:text="客户地址"
196 android:textSize="22sp" /> 199 android:textSize="22sp" />
197 200
198 <TextView 201 <TextView
199 android:id="@+id/tv_card_time" 202 android:id="@+id/tv_card_adress"
200 android:layout_width="wrap_content" 203 android:layout_width="wrap_content"
201 android:layout_height="wrap_content" 204 android:layout_height="wrap_content"
202 android:layout_marginLeft="80dp" 205 android:layout_marginLeft="83dp"
203 android:background="@null" 206 android:background="@null"
204 android:text="" 207 android:text=""
205 android:textSize="22sp" /> 208 android:textSize="22sp" />
209
206 </LinearLayout> 210 </LinearLayout>
207 211
212
213
208 </LinearLayout> 214 </LinearLayout>
209 215
210 <LinearLayout 216 <LinearLayout
211 android:layout_width="match_parent" 217 android:layout_width="match_parent"
212 android:layout_height="wrap_content" 218 android:layout_height="wrap_content"
213 android:gravity="center_vertical" 219 android:gravity="center_vertical"
214 android:orientation="horizontal"> 220 android:orientation="horizontal">
215 221
216 <LinearLayout 222 <LinearLayout
217 android:layout_width="0dp" 223 android:layout_width="0dp"
218 android:layout_weight="1" 224 android:layout_weight="1"
219 android:layout_height="60dp" 225 android:layout_height="60dp"
220 android:layout_marginLeft="200dp" 226 android:layout_marginLeft="200dp"
221 android:gravity="center_vertical"> 227 android:gravity="center_vertical">
222 228
223 <TextView 229 <TextView
224 android:layout_width="wrap_content" 230 android:layout_width="wrap_content"
225 android:layout_height="wrap_content" 231 android:layout_height="wrap_content"
226 android:text="机身编码" 232 android:text="机身编码"
227 android:textSize="22sp" /> 233 android:textSize="22sp" />
228 234
229 <TextView 235 <TextView
230 android:id="@+id/tv_card_deviceNumber" 236 android:id="@+id/tv_card_deviceNumber"
231 android:layout_width="wrap_content" 237 android:layout_width="wrap_content"
232 android:layout_height="wrap_content" 238 android:layout_height="wrap_content"
233 android:layout_marginLeft="50dp" 239 android:layout_marginLeft="50dp"
234 android:hint="" 240 android:hint=""
235 android:textSize="22sp" /> 241 android:textSize="22sp" />
236 242
237 </LinearLayout> 243 </LinearLayout>
238 244
239 <LinearLayout 245 <LinearLayout
240 android:layout_width="0dp" 246 android:layout_width="0dp"
241 android:layout_weight="1" 247 android:layout_weight="1"
242 android:layout_height="60dp" 248 android:layout_height="60dp"
243 android:layout_marginLeft="80dp" 249 android:layout_marginLeft="80dp"
244 android:gravity="center_vertical"> 250 android:gravity="center_vertical">
245 251
246 <TextView 252 <TextView
247 android:layout_width="wrap_content" 253 android:layout_width="wrap_content"
248 android:layout_height="wrap_content" 254 android:layout_height="wrap_content"
249 android:text="购买地址" 255 android:text="购买地址"
250 android:textSize="22sp" /> 256 android:textSize="22sp" />
251 257
252 <TextView 258 <TextView
253 android:id="@+id/tv_card_shopAdress" 259 android:id="@+id/tv_card_shopAdress"
254 android:layout_width="wrap_content" 260 android:layout_width="wrap_content"
255 android:layout_height="wrap_content" 261 android:layout_height="wrap_content"
256 android:layout_marginLeft="80dp" 262 android:layout_marginLeft="83dp"
257 android:text="" 263 android:text=""
258 android:textSize="22sp" /> 264 android:textSize="22sp" />
259 </LinearLayout> 265 </LinearLayout>
260 266
261 </LinearLayout> 267 </LinearLayout>
262 268
263 <LinearLayout 269 <LinearLayout
264 android:layout_width="match_parent" 270 android:layout_width="match_parent"
265 android:layout_height="wrap_content" 271 android:layout_height="wrap_content"
266 android:gravity="center_vertical" 272 android:gravity="center_vertical"
267 android:layout_marginBottom="30dp" 273 android:layout_marginBottom="30dp"
268 android:orientation="horizontal"> 274 android:orientation="horizontal">
269 275
270 <LinearLayout 276 <LinearLayout
271 android:layout_width="0dp" 277 android:layout_width="0dp"
272 android:layout_weight="1" 278 android:layout_weight="1"
273 android:layout_height="60dp" 279 android:layout_height="60dp"
274 android:layout_marginLeft="200dp" 280 android:layout_marginLeft="200dp"
275 android:gravity="center_vertical"> 281 android:gravity="center_vertical">
276 282
277 <TextView 283 <TextView
278 android:layout_width="wrap_content" 284 android:layout_width="wrap_content"
279 android:layout_height="wrap_content" 285 android:layout_height="wrap_content"
280 android:text="手机号码" 286 android:text="手机号码"
281 android:textSize="22sp" /> 287 android:textSize="22sp" />
282 288
283 <TextView 289 <TextView
284 android:id="@+id/tv_card_phone" 290 android:id="@+id/tv_card_phone"
285 android:layout_width="wrap_content" 291 android:layout_width="wrap_content"
286 android:layout_height="wrap_content" 292 android:layout_height="wrap_content"
287 android:layout_marginLeft="50dp" 293 android:layout_marginLeft="50dp"
288 android:text="" 294 android:text=""
289 android:textSize="22sp" /> 295 android:textSize="22sp" />
290 296
291 297
292 </LinearLayout> 298 </LinearLayout>
293 299
294 <LinearLayout 300 <LinearLayout
295 android:layout_width="0dp" 301 android:layout_width="0dp"
296 android:layout_weight="1" 302 android:layout_weight="1"
297 android:layout_height="60dp" 303 android:layout_height="60dp"
298 android:layout_marginLeft="80dp" 304 android:layout_marginLeft="80dp"
299 android:gravity="center_vertical"> 305 android:gravity="center_vertical">
300 306
301 <TextView 307 <TextView
302 android:layout_width="wrap_content" 308 android:layout_width="wrap_content"
303 android:layout_height="wrap_content" 309 android:layout_height="wrap_content"
304 android:text="本地售后电话" 310 android:text="本地售后电话"
305 android:textSize="22sp" /> 311 android:textSize="22sp" />
306 312
307 <TextView 313 <TextView
308 android:id="@+id/tv_card_tleNember" 314 android:id="@+id/tv_card_tleNember"
309 android:layout_width="wrap_content" 315 android:layout_width="wrap_content"
310 android:layout_height="wrap_content" 316 android:layout_height="wrap_content"
311 android:layout_marginLeft="40dp" 317 android:layout_marginLeft="40dp"
312 android:background="@null" 318 android:background="@null"
313 android:text="" 319 android:text=""
314 android:textSize="22sp" /> 320 android:textSize="22sp" />
315 321
316 </LinearLayout> 322 </LinearLayout>
317 323
318 </LinearLayout> 324 </LinearLayout>
319 </LinearLayout> 325 </LinearLayout>
320 326
321 <LinearLayout 327 <LinearLayout
322 android:layout_width="match_parent" 328 android:layout_width="match_parent"
323 android:layout_height="wrap_content" 329 android:layout_height="wrap_content"
324 android:layout_marginTop="5dp" 330 android:layout_marginTop="5dp"
325 android:gravity="center" 331 android:gravity="center"
326 android:orientation="vertical"> 332 android:orientation="vertical">
327 333
328 <TextView 334 <TextView
329 android:layout_width="wrap_content" 335 android:layout_width="wrap_content"
330 android:layout_height="wrap_content" 336 android:layout_height="wrap_content"
331 android:layout_marginTop="5dp" 337 android:layout_marginTop="5dp"
332 android:text="@string/electronic_card3" 338 android:text="@string/electronic_card3"
333 android:textColor="@color/electronic_text" 339 android:textColor="@color/electronic_text"
334 android:textSize="18sp" /> 340 android:textSize="18sp" />
335 341
336 <TextView 342 <TextView
337 android:layout_width="wrap_content" 343 android:layout_width="wrap_content"
338 android:layout_height="wrap_content" 344 android:layout_height="wrap_content"
339 android:layout_marginTop="5dp" 345 android:layout_marginTop="5dp"
340 android:text="@string/electronic_card4" 346 android:text="@string/electronic_card4"
341 android:textColor="@color/electronic_text" 347 android:textColor="@color/electronic_text"
342 android:textSize="18sp" /> 348 android:textSize="18sp" />
343 349
344 350
345 </LinearLayout> 351 </LinearLayout>
346 352
347 <LinearLayout 353 <LinearLayout
348 android:layout_width="match_parent" 354 android:layout_width="match_parent"
349 android:layout_height="wrap_content" 355 android:layout_height="wrap_content"
350 android:layout_marginTop="30dp" 356 android:layout_marginTop="30dp"
351 android:gravity="center"> 357 android:gravity="center">
352 358
353 <Button 359 <Button
354 android:id="@+id/btn_bangding" 360 android:id="@+id/btn_bangding"
355 android:layout_width="300dp" 361 android:layout_width="300dp"
356 android:layout_height="wrap_content" 362 android:layout_height="wrap_content"
357 android:background="@drawable/selector_blue_btn_bg" 363 android:background="@drawable/selector_blue_btn_bg"
358 android:text="@string/bangding" 364 android:text="@string/bangding"
359 android:textColor="@color/white" 365 android:textColor="@color/white"
360 android:textSize="23sp" 366 android:textSize="23sp"
361 android:visibility="gone"/> 367 android:visibility="gone"/>
362 368
363 <Button 369 <Button
364 android:id="@+id/btn_finish" 370 android:id="@+id/btn_finish"
365 android:layout_width="300dp" 371 android:layout_width="300dp"
366 android:layout_height="wrap_content" 372 android:layout_height="wrap_content"
367 android:background="@drawable/selector_blue_btn_bg" 373 android:background="@drawable/selector_blue_btn_bg"
368 android:text="@string/finish" 374 android:text="@string/finish"
369 android:textColor="@color/white" 375 android:textColor="@color/white"
370 android:textSize="23sp" /> 376 android:textSize="23sp" />
371 377
372 378
373 </LinearLayout> 379 </LinearLayout>
374 380
375 381
PersonalCenter/app/src/main/res/layout/activity_registerinfo.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent"> 4 android:layout_height="match_parent"
5 android:background="@mipmap/main_bg">
6
5 <RelativeLayout 7 <RelativeLayout
6 android:id="@+id/title" 8 android:id="@+id/title"
7 android:layout_width="match_parent" 9 android:layout_width="match_parent"
8 android:layout_height="wrap_content" 10 android:layout_height="wrap_content"
9 android:background="@color/login_text_blue" 11 android:background="@color/login_text_blue"
10 android:minHeight="50dp" > 12 android:minHeight="50dp">
11 13
12 <ImageView 14 <ImageView
13 android:id="@+id/cancel" 15 android:id="@+id/cancel"
14 android:layout_width="wrap_content" 16 android:layout_width="wrap_content"
15 android:layout_height="wrap_content" 17 android:layout_height="wrap_content"
16 android:layout_centerVertical="true" 18 android:layout_centerVertical="true"
17 android:paddingLeft="20dp" 19 android:paddingLeft="20dp"
18 android:paddingRight="20dp" 20 android:paddingRight="20dp"
19 android:visibility="gone" 21 android:src="@mipmap/title_back"
20 android:src="@mipmap/title_back" /> 22 android:visibility="gone" />
21 23
22 <TextView 24 <TextView
23 android:id="@+id/menu_title" 25 android:id="@+id/menu_title"
24 android:layout_width="wrap_content" 26 android:layout_width="wrap_content"
25 android:layout_height="wrap_content" 27 android:layout_height="wrap_content"
26 android:layout_centerInParent="true" 28 android:layout_centerInParent="true"
27 android:text="@string/string_regist_info" 29 android:text="@string/string_regist_info"
28 android:textColor="@android:color/white" 30 android:textColor="@android:color/white"
29 android:textSize="22sp" /> 31 android:textSize="22sp" />
30 </RelativeLayout> 32 </RelativeLayout>
33
31 <LinearLayout 34 <LinearLayout
32 android:layout_width="match_parent" 35 android:layout_width="550dp"
33 android:layout_height="match_parent" 36 android:layout_height="wrap_content"
34 android:layout_below="@id/title" 37 android:layout_centerInParent="true"
35 android:background="#ffffffff" 38 android:background="@drawable/white_cycle_bg"
36 android:orientation="vertical" 39 android:orientation="vertical"
37 android:paddingLeft="250dp" 40 android:paddingLeft="30dp"
38 android:paddingRight="250dp"> 41 android:paddingRight="30dp"
39 <EditText 42 android:paddingTop="30dp">
40 android:id="@+id/et_username" 43
41 style="@style/login_register_edit_style" 44 <LinearLayout
42 android:layout_marginTop="100dp" 45 android:id="@+id/et_username_layout"
43 android:textColor="@color/login_text_black" 46 android:layout_width="match_parent"
44 android:hint="@string/string_regist_username" /> 47 android:layout_height="wrap_content"
45 <TextView 48 android:background="@drawable/input_bg"
46 android:id="@+id/et_region" 49 android:gravity="center_horizontal"
47 style="@style/login_register_edit_style" 50 android:orientation="horizontal"
48 android:layout_marginTop="30dp" 51 android:layout_marginBottom="20dp"
49 android:textColor="@color/login_text_black" 52 android:paddingRight="10dp">
50 android:hint="@string/string_regist_region" /> 53
54 <EditText
55 android:id="@+id/et_username"
56 style="@style/login_register_edit_style"
57 android:hint="@string/string_regist_username"
58 android:textColor="@color/login_text_black" />
59 <ImageButton
60 android:id="@+id/username_delete_btn"
61 android:layout_width="50dp"
62 android:layout_height="match_parent"
63 android:src="@mipmap/delete_btn"
64 android:visibility="invisible"
65 android:background="@null"/>
66 </LinearLayout>
67 <LinearLayout
68 android:id="@+id/et_nickname_layout"
69 android:layout_width="match_parent"
70 android:layout_height="wrap_content"
71 android:background="@drawable/input_bg"
72 android:gravity="center_horizontal"
73 android:orientation="horizontal"
74 android:paddingRight="10dp">
75
76 <EditText
77 android:id="@+id/et_nickname"
78 style="@style/login_register_edit_style"
79 android:hint="@string/string_regist_nickname"
80 android:textColor="@color/login_text_black" />
81 <ImageButton
82 android:id="@+id/nickname_delete_btn"
83 android:layout_width="50dp"
84 android:layout_height="match_parent"
85 android:src="@mipmap/delete_btn"
86 android:visibility="invisible"
87 android:background="@null"/>
88 </LinearLayout>
89
90
91 <LinearLayout
92 android:id="@+id/et_grade_layout"
93 android:layout_width="match_parent"
94 android:layout_height="wrap_content"
95 android:layout_marginTop="20dp"
96 android:background="@drawable/input_bg"
97 android:gravity="center_horizontal"
98 android:orientation="horizontal"
99 android:paddingRight="10dp">
100
101 <TextView
102 android:id="@+id/et_grade"
103 style="@style/login_register_edit_style"
104 android:hint="@string/string_regist_grade"
105 android:textColor="@color/login_text_black" />
106
107 </LinearLayout>
108
109 <LinearLayout
110 android:id="@+id/et_region_layout"
111 android:layout_width="match_parent"
112 android:layout_height="wrap_content"
113 android:layout_marginTop="20dp"
114 android:background="@drawable/input_bg"
115 android:gravity="center_horizontal"
116 android:orientation="horizontal"
117 android:paddingRight="10dp">
118
119 <TextView
120 android:id="@+id/et_region"
121 style="@style/login_register_edit_style"
122 android:hint="@string/string_regist_region"
123 android:textColor="@color/login_text_black" />
124
125 </LinearLayout>
126
127 <LinearLayout
128 android:id="@+id/et_address_layout"
129 android:layout_width="match_parent"
130 android:layout_height="wrap_content"
131 android:layout_marginTop="20dp"
132 android:background="@drawable/input_bg"
133 android:gravity="center_horizontal"
134 android:orientation="horizontal"
135 android:paddingRight="10dp">
136
137 <EditText
138 android:id="@+id/et_address"
139 style="@style/login_register_edit_style"
140 android:hint="@string/string_regist_address"
141 android:textColor="@color/login_text_black" />
142 <ImageButton
143 android:id="@+id/address_delete_btn"
144 android:layout_width="50dp"
145 android:layout_height="match_parent"
146 android:src="@mipmap/delete_btn"
147 android:visibility="invisible"
148 android:background="@null"/>
149 </LinearLayout>
150
151 <LinearLayout
152 android:id="@+id/et_school_layout"
153 android:layout_width="match_parent"
154 android:layout_height="wrap_content"
155 android:layout_marginTop="20dp"
156 android:background="@drawable/input_bg"
157 android:gravity="center_horizontal"
158 android:orientation="horizontal"
159 android:paddingRight="10dp">
160
161 <TextView
162 android:id="@+id/et_school"
163 style="@style/login_register_edit_style"
164 android:hint="@string/string_regist_school"
165 android:textColor="@color/login_text_black" />
166
167 </LinearLayout>
51 168
52 <TextView
53 android:id="@+id/et_grade"
54 style="@style/login_register_edit_style"
55 android:layout_marginTop="30dp"
56 android:textColor="@color/login_text_black"
57 android:hint="@string/string_regist_grade" />
58 169
59 <TextView
60 android:id="@+id/et_school"
61 style="@style/login_register_edit_style"
62 android:layout_marginTop="30dp"
63 android:textColor="@color/login_text_black"
64 android:hint="@string/string_regist_school" />
PersonalCenter/app/src/main/res/layout/activity_start_page.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:orientation="vertical" 3 android:orientation="vertical"
4 android:layout_width="match_parent" 4 android:layout_width="match_parent"
5 android:layout_height="match_parent" 5 android:layout_height="match_parent"
6 android:background="@mipmap/startpage"> 6 android:background="@mipmap/startpage">
7 <RelativeLayout 7 <ImageButton
8 android:layout_width="wrap_content"
9 android:layout_height="wrap_content"
10 android:layout_alignParentBottom="true"
11 android:paddingLeft="250dp"
12 android:paddingRight="250dp">
13 <Button
14 android:id="@+id/btn_start" 8 android:id="@+id/btn_start"
15 style="@style/button_login_register_style" 9 android:layout_width="wrap_content"
16 android:layout_marginBottom="50dp" 10 android:layout_height="wrap_content"
17 android:text="@string/string_start_page" /> 11 android:layout_centerHorizontal="true"
18 </RelativeLayout> 12 android:layout_alignParentBottom="true"
19 13 android:background="@mipmap/start_btn_bg"
14 android:layout_marginBottom="50dp" />
20 15
PersonalCenter/app/src/main/res/layout/dialog_layout.xml
File was created 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:background="@null"
6 android:gravity="center"
7 android:orientation="vertical" >
8
9 <LinearLayout
10 android:layout_width="300dp"
11 android:layout_height="wrap_content"
12 android:background="@drawable/white_cycle_bg"
13 android:orientation="vertical" >
14 <TextView
15 android:id="@+id/dialog_title"
16 android:layout_width="match_parent"
17 android:layout_height="wrap_content"
18 android:gravity="center"
19 android:paddingTop="19dip"
20 android:text="快捷切换中小学桌面"
21 android:textColor="@color/login_text_black"
22 android:textSize="20sp" />
23
24 <View
25 android:layout_width="match_parent"
26 android:layout_height="0.5dp"
27 android:layout_marginLeft="20dp"
28 android:layout_marginRight="20dp"
29 android:layout_marginTop="20dp"
30 android:background="@color/line_bg"/>
31
32 <LinearLayout
33 android:layout_width="match_parent"
34 android:layout_height="wrap_content"
35 android:orientation="horizontal" >
36
37 <Button
38 android:id="@+id/middle_btn"
39 style="?android:attr/borderlessButtonStyle"
40 android:layout_width="match_parent"
41 android:layout_height="wrap_content"
42 android:layout_weight="1"
43 android:background="@drawable/white_cycle_bg"
44 android:gravity="center"
45 android:paddingBottom="10dp"
46 android:paddingTop="10dp"
47 android:text="中学桌面"
48 android:textColor="@color/login_text_black"
49 android:textSize="18sp" />
50
51 <View
52 android:layout_width="0.5dp"
53 android:layout_height="match_parent"
54 android:layout_marginTop="5dp"
55 android:layout_marginBottom="5dp"
56 android:background="@color/line_bg"
57 android:orientation="horizontal" />
58
59 <Button
60 android:id="@+id/primary_btn"
61 style="?android:attr/borderlessButtonStyle"
62 android:layout_width="match_parent"
63 android:layout_height="wrap_content"
64 android:layout_weight="1"
65 android:background="@drawable/white_cycle_bg"
66 android:gravity="center"
67 android:paddingBottom="10dp"
68 android:paddingTop="10dp"
69 android:text="小学桌面"
70 android:textColor="@color/login_text_black"
71 android:textSize="18sp" />
72 </LinearLayout>
73 </LinearLayout>
74
75 </LinearLayout>
PersonalCenter/app/src/main/res/layout/fragment_changge_presonal_info.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:id="@+id/card_view" 3 android:id="@+id/card_view"
4 android:layout_width="match_parent" 4 android:layout_width="match_parent"
5 android:layout_height="match_parent" 5 android:layout_height="match_parent"
6 android:background="@mipmap/main_bg"
6 android:orientation="vertical"> 7 android:orientation="vertical">
8
7 <RelativeLayout 9 <RelativeLayout
8 android:id="@+id/title" 10 android:id="@+id/title"
9 android:layout_width="match_parent" 11 android:layout_width="match_parent"
10 android:layout_height="50dp" 12 android:layout_height="50dp"
11 android:background="@color/login_text_blue"> 13 android:background="@color/login_text_blue">
12 14
13 <ImageView 15 <ImageView
14 android:id="@+id/cancel" 16 android:id="@+id/cancel"
15 android:layout_width="wrap_content" 17 android:layout_width="wrap_content"
16 android:layout_height="match_parent" 18 android:layout_height="match_parent"
17 android:paddingLeft="20dp" 19 android:paddingLeft="20dp"
18 android:paddingRight="20dp" 20 android:paddingRight="20dp"
19 android:src="@mipmap/title_back" /> 21 android:src="@mipmap/title_back" />
20 22
21 <TextView 23 <TextView
22 android:id="@+id/menu_title" 24 android:id="@+id/menu_title"
23 android:layout_width="wrap_content" 25 android:layout_width="wrap_content"
24 android:layout_height="match_parent" 26 android:layout_height="match_parent"
25 android:layout_centerInParent="true" 27 android:layout_centerInParent="true"
26 android:gravity="center_vertical" 28 android:gravity="center_vertical"
27 android:text="@string/changge_preson" 29 android:text="@string/changge_preson"
28 android:textColor="@android:color/white" 30 android:textColor="@android:color/white"
29 android:textSize="22sp" /> 31 android:textSize="22sp" />
32
30 <TextView 33 <TextView
31 android:id="@+id/presonal_sub" 34 android:id="@+id/presonal_sub"
32 android:layout_width="wrap_content" 35 android:layout_width="wrap_content"
33 android:layout_height="match_parent" 36 android:layout_height="match_parent"
37 android:layout_alignParentRight="true"
38 android:gravity="center_vertical"
34 android:paddingLeft="20dp" 39 android:paddingLeft="20dp"
35 android:paddingRight="20dp" 40 android:paddingRight="20dp"
36 android:gravity="center_vertical"
37 android:layout_alignParentRight="true"
38 android:text="保存" 41 android:text="保存"
39 android:textColor="@android:color/white" 42 android:textColor="@android:color/white"
40 android:textSize="22sp" /> 43 android:textSize="22sp" />
41 44
42 45
43 </RelativeLayout> 46 </RelativeLayout>
44 47
45
46 <LinearLayout 48 <LinearLayout
47 android:layout_width="match_parent" 49 android:layout_width="match_parent"
48 android:layout_height="wrap_content" 50 android:layout_height="wrap_content"
49 android:layout_marginTop="50dp" 51 android:layout_marginLeft="100dp"
50 android:orientation="horizontal"> 52 android:layout_marginRight="100dp"
51 <LinearLayout 53 android:layout_marginTop="60dp"
52 android:layout_width="0dp" 54 android:padding="50dp"
53 android:layout_weight="1" 55 android:background="@drawable/white_cycle_bg"
54 android:gravity="right" 56 android:orientation="vertical">
55 android:layout_marginRight="50dp"
56 android:orientation="vertical"
57 android:layout_height="match_parent">
58 <TextView
59 android:id="@+id/tv_presonal"
60 android:layout_width="wrap_content"
61 android:layout_height="wrap_content"
62 android:textSize="22sp"
63 android:textColor="@color/login_edittext_pressed"
64 android:text="个人信息"/>
65 <View
66 android:layout_width="90dp"
67 android:layout_height="3dp"
68 android:layout_marginTop="5dp"
69 android:background="@color/login_edittext_pressed"
70 />
71
72 57
73 </LinearLayout>
74 <LinearLayout 58 <LinearLayout
75 android:id="@+id/tv_version" 59 android:layout_width="match_parent"
76 android:layout_width="0dp" 60 android:layout_height="wrap_content"
77 android:layout_weight="1" 61 android:orientation="horizontal">
78 android:gravity="left" 62
79 android:layout_marginLeft="50dp" 63 <LinearLayout
80 android:layout_height="match_parent"> 64 android:layout_width="0dp"
81 <TextView 65 android:layout_height="match_parent"
82 android:textSize="22sp" 66 android:layout_marginRight="50dp"
83 android:layout_width="wrap_content" 67 android:layout_weight="1"
84 android:layout_height="wrap_content" 68 android:gravity="right"
85 android:text="版本信息"/> 69 android:orientation="vertical">
70
71 <TextView
72 android:id="@+id/tv_presonal"
73 android:layout_width="wrap_content"
74 android:layout_height="wrap_content"
75 android:text="个人信息"
76 android:textColor="@color/login_edittext_pressed"
77 android:textSize="22sp" />
78
79 <View
80 android:layout_width="90dp"
81 android:layout_height="3dp"
82 android:layout_marginTop="5dp"
83 android:background="@color/login_edittext_pressed" />
84
85
86 </LinearLayout>
87
88 <LinearLayout
89 android:id="@+id/tv_version"
90 android:layout_width="0dp"
91 android:layout_height="match_parent"
92 android:layout_marginLeft="50dp"
93 android:layout_weight="1"
94 android:gravity="left">
86 95
87 </LinearLayout> 96 <TextView
97 android:layout_width="wrap_content"
98 android:layout_height="wrap_content"
99 android:text="版本信息"
100 android:textSize="22sp" />
88 101
89 </LinearLayout> 102 </LinearLayout>
90 103
104 </LinearLayout>
91 105
92 <LinearLayout
93 android:layout_width="wrap_content"
94 android:layout_height="wrap_content"
95 android:layout_marginTop="80dp"
96 android:orientation="horizontal">
97 106
98 <View 107 <LinearLayout
99 android:layout_width="450dp" 108 android:layout_width="wrap_content"
100 android:layout_height="0.7dp" 109 android:layout_height="wrap_content"
101 android:layout_marginLeft="150dp" 110 android:layout_marginTop="50dp"
102 android:background="@color/cutoff_line"> 111 android:orientation="horizontal">
103 112
104 </View> 113 <View
114 android:layout_width="0dp"
115 android:layout_height="0.7dp"
116 android:layout_weight="1"
117 android:background="@color/cutoff_line">
105 118
106 <View 119 </View>
107 android:layout_width="450dp"
108 android:layout_height="0.7dp"
109 android:layout_marginLeft="80dp"
110 android:background="@color/cutoff_line">
111 120
112 </View> 121 <View
122 android:layout_width="0dp"
123 android:layout_height="0.7dp"
124 android:layout_marginLeft="50dp"
125 android:layout_weight="1"
126 android:background="@color/cutoff_line">
113 127
128 </View>
114 129
115 </LinearLayout>
116 130
117 <LinearLayout 131 </LinearLayout>
118 android:layout_width="match_parent"
119 android:layout_height="wrap_content"
120 android:layout_marginLeft="200dp"
121 android:gravity="center_vertical"
122 android:orientation="horizontal">
123 132
124 <LinearLayout 133 <LinearLayout
125 android:layout_width="0dp" 134 android:layout_width="match_parent"
126 android:layout_height="80dp" 135 android:layout_height="wrap_content"
127 android:layout_weight="1" 136 android:layout_marginLeft="30dp"
128 android:gravity="center_vertical" 137 android:gravity="center_vertical"
129 android:focusable="true" 138 android:orientation="horizontal">
130 android:focusableInTouchMode="true"> 139
131 140 <LinearLayout
132 <TextView 141 android:layout_width="0dp"
133 android:layout_width="wrap_content" 142 android:layout_height="80dp"
134 android:layout_height="wrap_content" 143 android:layout_weight="1"
135 android:text="昵称" 144 android:focusable="true"
136 android:textColor="@color/electronic_text" 145 android:focusableInTouchMode="true"
137 android:textSize="22sp" /> 146 android:gravity="center_vertical">
138 147
139 <EditText 148 <TextView
140 android:id="@+id/tv_username1" 149 android:layout_width="wrap_content"
141 android:layout_width="wrap_content" 150 android:layout_height="wrap_content"
142 android:layout_height="wrap_content" 151 android:text="昵称"
143 android:layout_marginLeft="50dp" 152 android:textColor="@color/electronic_text"
144 android:textColor="@color/login_text_black" 153 android:textSize="22sp" />
145 android:background="@null" 154
146 android:hint="请输入12个以内的中文或英文字符" 155 <EditText
147 android:textSize="22sp" /> 156 android:id="@+id/tv_username1"
157 android:layout_width="wrap_content"
158 android:layout_height="wrap_content"
159 android:layout_marginLeft="50dp"
160 android:background="@null"
161 android:hint="请输入12个以内的中文或英文字符"
162 android:textColor="@color/login_text_black"
163 android:textSize="22sp" />
164
165 </LinearLayout>
166
167 <LinearLayout
168 android:layout_width="0dp"
169 android:layout_height="80dp"
170 android:layout_weight="1"
171 android:layout_marginLeft="40dp"
172 android:gravity="center_vertical">
173
174 <TextView
175 android:layout_width="wrap_content"
176 android:layout_height="wrap_content"
177 android:text="地区"
178 android:textColor="@color/electronic_text"
179 android:textSize="22sp" />
180
181 <TextView
182 android:id="@+id/tv_useinfo_adress"
183 android:layout_width="0dp"
184 android:layout_height="wrap_content"
185 android:layout_marginLeft="50dp"
186 android:layout_weight="1"
187 android:hint="请选择"
188 android:textColor="@color/login_text_black"
189 android:textSize="22sp" />
190
191 <ImageView
192 android:id="@+id/my_adress"
193 android:layout_width="wrap_content"
194 android:layout_height="wrap_content"
195 android:layout_marginRight="20dp"
196 android:padding="20dp"
197 android:src="@mipmap/xiajiantou">
198
199 </ImageView>
200 </LinearLayout>
148 201
149 </LinearLayout> 202 </LinearLayout>
150 203
151 <LinearLayout 204 <LinearLayout
152 android:layout_width="0dp" 205 android:layout_width="wrap_content"
153 android:layout_height="80dp" 206 android:layout_height="wrap_content"
154 android:layout_weight="1" 207 android:orientation="horizontal">
155 android:gravity="center_vertical">
156
157 <TextView
158 android:layout_width="wrap_content"
159 android:layout_height="wrap_content"
160 android:text="地区"
161 android:textColor="@color/electronic_text"
162 android:textSize="22sp" />
163
164 <TextView
165 android:id="@+id/tv_useinfo_adress"
166 android:layout_width="wrap_content"
167 android:layout_height="wrap_content"
168 android:layout_marginLeft="50dp"
169 android:textColor="@color/login_text_black"
170 android:hint="请选择"
171 android:textSize="22sp" />
172
173 <ImageView
174 android:id="@+id/my_adress"
175 android:padding="20dp"
176 android:layout_width="wrap_content"
177 android:layout_height="wrap_content"
178 android:layout_marginLeft="150dp"
179 android:src="@mipmap/xiajiantou">
180
181 </ImageView>
182 </LinearLayout>
183
184 </LinearLayout>
185
186 <LinearLayout
187 android:layout_width="wrap_content"
188 android:layout_height="wrap_content"
189 android:orientation="horizontal">
190
191 <View
192 android:layout_width="450dp"
193 android:layout_height="0.7dp"
194 android:layout_marginLeft="150dp"
195 android:background="@color/cutoff_line">
196
197 </View>
198
199 <View
200 android:layout_width="450dp"
201 android:layout_height="0.7dp"
202 android:layout_marginLeft="80dp"
203 android:background="@color/cutoff_line">
204
205 </View>
206
207 208
208 </LinearLayout> 209 <View
210 android:layout_width="0dp"
211 android:layout_height="0.7dp"
212 android:layout_weight="1"
213 android:background="@color/cutoff_line">
209 214
210 <LinearLayout 215 </View>
211 android:layout_width="match_parent"
212 android:layout_height="wrap_content"
213 android:layout_marginLeft="200dp"
214 android:gravity="center_vertical"
215 android:orientation="horizontal">
216 216
217 <LinearLayout 217 <View
218 android:layout_width="0dp" 218 android:layout_width="0dp"
219 android:layout_height="80dp" 219 android:layout_height="0.7dp"
220 android:layout_weight="1"
221 android:gravity="center_vertical">
222
223 <TextView
224 android:layout_width="wrap_content"
225 android:layout_height="wrap_content"
226 android:text="性别"
227 android:textColor="@color/electronic_text"
228 android:textSize="22sp" />
229
230 <TextView
231 android:id="@+id/tv_sex"
232 android:layout_width="wrap_content"
233 android:layout_height="wrap_content"
234 android:layout_marginLeft="50dp" 220 android:layout_marginLeft="50dp"
235 android:textColor="@color/login_text_black" 221 android:layout_weight="1"
236 android:hint="请选择" 222 android:background="@color/cutoff_line">
237 android:textSize="22sp" />
238 223
239 <ImageView 224 </View>
240 android:id="@+id/my_sex"
241 android:padding="20dp"
242 android:layout_width="wrap_content"
243 android:layout_height="wrap_content"
244 android:layout_marginLeft="150dp"
245 android:src="@mipmap/xiajiantou">
246
247 </ImageView>
248 225
249 226
250 </LinearLayout> 227 </LinearLayout>
251 228
252 <LinearLayout 229 <LinearLayout
253 android:layout_width="0dp" 230 android:layout_width="match_parent"
254 android:layout_height="80dp" 231 android:layout_height="wrap_content"
255 android:layout_weight="1" 232 android:layout_marginLeft="30dp"
256 android:gravity="center_vertical"> 233 android:gravity="center_vertical"
257 234 android:orientation="horizontal">
258 <TextView 235
259 android:layout_width="wrap_content" 236 <LinearLayout
260 android:layout_height="wrap_content" 237 android:layout_width="0dp"
261 android:text=" " 238 android:layout_height="80dp"
262 android:textColor="@color/white" 239 android:layout_weight="1"
263 android:textSize="22sp" /> 240 android:gravity="center_vertical">
264 241
265 <EditText 242 <TextView
266 android:id="@+id/tv_useinfo_adress1" 243 android:layout_width="wrap_content"
267 android:layout_width="wrap_content" 244 android:layout_height="wrap_content"
268 android:layout_height="wrap_content" 245 android:text="性别"
269 android:layout_marginLeft="50dp" 246 android:textColor="@color/electronic_text"
270 android:textColor="@color/login_text_black" 247 android:textSize="22sp" />
271 android:background="@null" 248
272 android:hint="请输入详细地址" 249 <TextView
273 android:textSize="22sp" /> 250 android:id="@+id/tv_sex"
251 android:layout_width="0dp"
252 android:layout_height="wrap_content"
253 android:layout_weight="1"
254 android:layout_marginLeft="50dp"
255 android:hint="请选择"
256 android:textColor="@color/login_text_black"
257 android:textSize="22sp" />
258
259 <ImageView
260 android:id="@+id/my_sex"
261 android:layout_width="wrap_content"
262 android:layout_height="wrap_content"
263 android:padding="20dp"
264 android:layout_marginRight="50dp"
265 android:src="@mipmap/xiajiantou">
266
267 </ImageView>
268
269
270 </LinearLayout>
271
272 <LinearLayout
273 android:layout_width="0dp"
274 android:layout_height="80dp"
275 android:layout_weight="1"
276 android:gravity="center_vertical">
277
278 <TextView
279 android:layout_width="wrap_content"
280 android:layout_height="wrap_content"
281 android:text=" "
282 android:textColor="@color/white"
283 android:textSize="22sp" />
284
285 <EditText
286 android:id="@+id/tv_useinfo_adress1"
287 android:layout_width="wrap_content"
288 android:layout_height="wrap_content"
289 android:layout_marginLeft="70dp"
290 android:background="@null"
291 android:hint="请输入详细地址"
292 android:textColor="@color/login_text_black"
293 android:textSize="22sp" />
294
295 </LinearLayout>
274 296
275 </LinearLayout> 297 </LinearLayout>
276 298
277 </LinearLayout> 299 <LinearLayout
278 300 android:layout_width="wrap_content"
279 <LinearLayout 301 android:layout_height="wrap_content"
280 android:layout_width="wrap_content"
281 android:layout_height="wrap_content"
282
283 android:orientation="horizontal">
284 302
285 <View 303 android:orientation="horizontal">
286 android:layout_width="450dp"
287 android:layout_height="0.7dp"
288 android:layout_marginLeft="150dp"
289 android:background="@color/cutoff_line">
290 304
291 </View> 305 <View
306 android:layout_width="0dp"
307 android:layout_height="0.7dp"
308 android:layout_weight="1"
309 android:background="@color/cutoff_line">
292 310
293 <View 311 </View>
294 android:layout_width="450dp"
295 android:layout_height="0.7dp"
296 android:layout_marginLeft="80dp"
297 android:background="@color/cutoff_line">
298 312
299 </View> 313 <View
314 android:layout_width="0dp"
315 android:layout_height="0.7dp"
316 android:layout_marginLeft="50dp"
317 android:layout_weight="1"
318 android:background="@color/cutoff_line">
300 319
320 </View>
301 321
302 </LinearLayout>
303 322
304 <LinearLayout
305 android:layout_width="match_parent"
306 android:layout_height="wrap_content"
307 android:layout_marginLeft="200dp"
308 android:gravity="center_vertical"
309 android:orientation="horizontal">
310
311
312 <LinearLayout
313 android:layout_width="0dp"
314 android:layout_height="80dp"
315 android:layout_weight="1"
316 android:gravity="center_vertical">
317
318 <TextView
319 android:layout_width="wrap_content"
320 android:layout_height="wrap_content"
321 android:text="生日"
322 android:textColor="@color/electronic_text"
323 android:textSize="22sp" />
324
325 <TextView
326 android:id="@+id/tv_useinfo_birthday"
327 android:layout_width="wrap_content"
328 android:layout_height="wrap_content"
329 android:layout_marginLeft="50dp"
330 android:hint="请选择"
331 android:textColor="@color/login_text_black"
332 android:textSize="22sp" />
333
334 <ImageView
335 android:id="@+id/my_bthday"
336 android:padding="20dp"
337 android:layout_width="wrap_content"
338 android:layout_height="wrap_content"
339 android:layout_marginLeft="150dp"
340 android:textColor="@color/login_text_black"
341 android:src="@mipmap/xiajiantou"/>
342 </LinearLayout>
343 <LinearLayout
344 android:layout_width="0dp"
345 android:layout_height="80dp"
346 android:layout_weight="1"
347 android:gravity="center_vertical">
348
349 <TextView
350 android:layout_width="wrap_content"
351 android:layout_height="wrap_content"
352 android:text="年级"
353 android:textColor="@color/electronic_text"
354 android:textSize="22sp" />
355
356 <TextView
357 android:id="@+id/tv_useinfo_gender"
358 android:layout_width="wrap_content"
359 android:layout_height="wrap_content"
360 android:layout_marginLeft="50dp"
361 android:hint="请选择"
362 android:textColor="@color/login_text_black"
363 android:textSize="22sp" />
364
365 <ImageView
366 android:id="@+id/my_grade"
367 android:padding="20dp"
368 android:layout_width="wrap_content"
369 android:layout_height="wrap_content"
370 android:layout_marginLeft="150dp"
371 android:src="@mipmap/xiajiantou"/>
372 </LinearLayout> 323 </LinearLayout>
373 324
374 </LinearLayout> 325 <LinearLayout
326 android:layout_width="match_parent"
327 android:layout_height="wrap_content"
328 android:layout_marginLeft="30dp"
329 android:gravity="center_vertical"
330 android:orientation="horizontal">
331
332
PersonalCenter/app/src/main/res/layout/fragment_loginandregister_login.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:background="#ffffffff" 5 android:background="#00ffffff"
6 android:orientation="vertical" 6 android:orientation="vertical"
7 android:paddingLeft="300dp" 7 android:paddingLeft="30dp"
8 android:paddingRight="300dp" > 8 android:paddingRight="30dp">
9 9
10 10
11 <EditText 11 <LinearLayout
12 android:id="@+id/et_phonenumber" 12 android:id="@+id/et_phonenumber_layout"
13 style="@style/login_register_edit_style" 13 android:layout_width="match_parent"
14 android:layout_height="wrap_content"
14 android:layout_marginTop="20dp" 15 android:layout_marginTop="20dp"
15 android:textColor="@color/login_text_black" 16 android:background="@drawable/input_bg"
16 android:inputType="phone" 17 android:gravity="center_horizontal"
17 android:hint="手机号" /> 18 android:orientation="horizontal"
18 19 android:paddingRight="10dp">
19 <EditText 20
20 android:id="@+id/et_password" 21 <EditText
21 style="@style/login_register_edit_style" 22 android:id="@+id/et_phonenumber"
22 android:layout_below="@id/et_phonenumber" 23 style="@style/login_register_edit_style"
23 android:layout_marginTop="30dp" 24 android:hint="手机号"
24 android:textColor="@color/login_text_black" 25 android:maxLength="11"
25 android:hint="密码" 26 android:imeOptions="actionNext"
26 android:inputType="textPassword" /> 27 android:inputType="phone" />
28
29 <ImageButton
30 android:id="@+id/phone_delete_btn"
31 android:layout_width="50dp"
32 android:layout_height="match_parent"
33 android:background="@null"
34 android:src="@mipmap/delete_btn"
35 android:visibility="invisible" />
36 </LinearLayout>
37
38 <LinearLayout
39 android:id="@+id/et_password_layout"
40 android:layout_width="match_parent"
41 android:layout_height="wrap_content"
42 android:layout_below="@id/et_phonenumber_layout"
43 android:layout_marginTop="50dp"
44 android:background="@drawable/input_bg"
45 android:gravity="center_horizontal"
46 android:orientation="horizontal"
47 android:paddingRight="10dp">
48
49 <EditText
50 android:id="@+id/et_password"
51 style="@style/login_register_edit_style"
52 android:hint="密码"
53 android:maxLength="20"
54 android:inputType="textPassword"
55 android:textColor="@color/login_text_black" />
56
57 <ImageButton
58 android:id="@+id/password_delete_btn"
59 android:layout_width="50dp"
60 android:layout_height="match_parent"
61 android:background="@null"
62 android:src="@mipmap/delete_btn"
63 android:visibility="invisible" />
64 </LinearLayout>
27 65
28 <Button 66 <Button
29 android:id="@+id/btn_login" 67 android:id="@+id/btn_login"
30 style="@style/button_login_register_style" 68 style="@style/button_login_register_style"
31 android:layout_below="@id/et_password" 69 android:layout_below="@id/et_password_layout"
32 android:layout_marginTop="30dp" 70 android:layout_marginTop="90dp"
33 android:text="登 录" /> 71 android:text="登 录" />
34 72
35 <TextView 73 <TextView
36 android:id="@+id/tv_forget_pwd" 74 android:id="@+id/tv_forget_pwd"
37 style="@style/text_forget_pwd_style" 75 style="@style/text_forget_pwd_style"
38 android:layout_alignParentRight="true" 76 android:layout_alignParentRight="true"
39 android:layout_below="@id/btn_login" 77 android:layout_below="@id/btn_login"
40 android:layout_marginTop="15dp" 78 android:layout_marginTop="15dp"
41 android:text="@string/forget_pwd" 79 android:text="@string/forget_pwd"
42 android:textColor="@color/btn_text_color" /> 80 android:textColor="@color/btn_text_color" />
43 81
44 </RelativeLayout> 82 </RelativeLayout>
PersonalCenter/app/src/main/res/layout/fragment_loginandregister_register.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent" 3 android:layout_width="match_parent"
4 android:layout_height="match_parent" 4 android:layout_height="match_parent"
5 android:background="#ffffffff" 5 android:background="#00ffffff"
6 android:orientation="vertical" 6 android:orientation="vertical"
7 android:paddingLeft="300dp" 7 android:paddingLeft="30dp"
8 android:paddingRight="300dp"> 8 android:paddingRight="30dp">
9 9
10 <EditText 10 <LinearLayout
11 android:id="@+id/et_phonenumber" 11 android:id="@+id/et_phonenumber_layout"
12 style="@style/login_register_edit_style" 12 android:layout_width="match_parent"
13 android:layout_height="wrap_content"
14 android:gravity="center_horizontal"
15 android:background="@drawable/input_bg"
13 android:layout_marginTop="20dp" 16 android:layout_marginTop="20dp"
14 android:hint="手机号" 17 android:paddingRight="10dp"
15 android:inputType="phone" /> 18 android:orientation="horizontal">
16 19
17 <TextView 20 <EditText
18 android:id="@+id/phonenumber_error_hint" 21 android:id="@+id/et_phonenumber"
19 style="@style/registererrhint_style" 22 style="@style/login_register_edit_style"
20 android:layout_below="@id/et_phonenumber" /> 23 android:hint="手机号"
24 android:maxLength="11"
25 android:inputType="phone" />
26 <ImageButton
27 android:id="@+id/phone_delete_btn"
28 android:layout_width="50dp"
29 android:layout_height="match_parent"
30 android:src="@mipmap/delete_btn"
31 android:visibility="invisible"
32 android:background="@null"/>
33 </LinearLayout>
21 34
22 <LinearLayout 35 <LinearLayout
23 android:id="@+id/rl_authcode" 36 android:id="@+id/rl_authcode"
24 android:layout_width="match_parent" 37 android:layout_width="match_parent"
25 android:layout_height="wrap_content" 38 android:layout_height="wrap_content"
26 android:layout_below="@id/et_phonenumber" 39 android:layout_below="@id/et_phonenumber_layout"
27 android:layout_marginTop="30dp" 40 android:layout_marginTop="30dp"
41 android:paddingRight="7dp"
42 android:background="@drawable/input_bg"
28 android:orientation="horizontal"> 43 android:orientation="horizontal">
29 44
30 <EditText 45 <EditText
31 android:id="@+id/et_authcode" 46 android:id="@+id/et_authcode"
32 style="@style/login_register_edit_rect_style" 47 style="@style/login_register_edit_rect_style"
33 android:layout_marginRight="-4px" 48 android:layout_marginRight="-4px"
34 android:layout_weight="1" 49 android:layout_weight="1"
35 android:hint="验证码" 50 android:hint="验证码"
51 android:maxLength="6"
36 android:numeric="integer" /> 52 android:numeric="integer" />
37 53
54 <ImageButton
55 android:id="@+id/code_delete_btn"
56 android:layout_width="50dp"
57 android:layout_height="match_parent"
58 android:src="@mipmap/delete_btn"
59 android:visibility="invisible"
60 android:background="@null"/>
38 <Button 61 <Button
39 android:id="@+id/btn_authcode" 62 android:id="@+id/btn_authcode"
40 style="@style/login_register_btn_authcode_rect_style" 63 android:layout_width="match_parent"
64 android:layout_height="wrap_content"
65 style="?android:attr/borderlessButtonStyle"
41 android:layout_weight="2" 66 android:layout_weight="2"
42 android:text="获取验证码" 67 android:text="获取验证码"
43 android:textColor="@color/btn_text_color" /> 68 android:maxLines="1"
69 android:background="@drawable/code_bg"
70 android:textSize="18sp"
71 android:padding="8dp"
72 android:textColor="@color/login_text_blue" />
44 </LinearLayout> 73 </LinearLayout>
45 74
46 <TextView 75 <TextView
47 android:id="@+id/authcode_error_hint" 76 android:id="@+id/authcode_error_hint"
48 style="@style/registererrhint_style" 77 style="@style/registererrhint_style"
49 android:layout_below="@id/rl_authcode" /> 78 android:layout_below="@id/rl_authcode" />
50 79
51 <RelativeLayout 80 <LinearLayout
52 android:id="@+id/pwd_rl" 81 android:id="@+id/pwd_rl"
53 android:layout_width="match_parent" 82 android:layout_width="match_parent"
54 android:layout_height="wrap_content" 83 android:layout_height="wrap_content"
55 android:layout_below="@id/rl_authcode" 84 android:layout_below="@id/rl_authcode"
85 android:background="@drawable/input_bg"
86 android:gravity="center_vertical"
56 android:layout_marginTop="30dp"> 87 android:layout_marginTop="30dp">
57 88
58 <EditText 89 <EditText
59 android:id="@+id/et_password" 90 android:id="@+id/et_password"
60 style="@style/login_register_edit_style" 91 style="@style/login_register_edit_style"
61 android:hint="密码为英文和数字组成,最少8位" 92 android:hint="密码为英文和数字组成,最少8位"
62 android:inputType="textPassword" /> 93 android:inputType="textPassword" />
63 94
64 <ImageView 95 <ImageView
65 android:id="@+id/iv_pwd_change" 96 android:id="@+id/iv_pwd_change"
66 android:padding="10dp"
67 android:layout_marginRight="10dp"
68 android:layout_marginLeft="10dp"
69 android:layout_width="40dp" 97 android:layout_width="40dp"
70 android:layout_height="wrap_content" 98 android:layout_height="wrap_content"
71 android:layout_alignParentRight="true" 99 android:layout_alignParentRight="true"
72 android:layout_centerVertical="true" 100 android:layout_centerVertical="true"
101 android:layout_marginLeft="10dp"
102 android:layout_marginRight="15dp"
103 android:padding="10dp"
73 android:src="@mipmap/pwd_hide" /> 104 android:src="@mipmap/pwd_hide" />
74 </RelativeLayout> 105 </LinearLayout>
75 106
76 <TextView 107 <TextView
77 android:id="@+id/password_error_hint" 108 android:id="@+id/password_error_hint"
78 style="@style/registererrhint_style" 109 style="@style/registererrhint_style"
79 android:layout_below="@id/pwd_rl" /> 110 android:layout_below="@id/pwd_rl" />
80 111
81 <Button 112 <Button
82 android:id="@+id/btn_register" 113 android:id="@+id/btn_register"
83 style="@style/button_login_register_style" 114 style="@style/button_login_register_style"
84 android:layout_below="@id/pwd_rl" 115 android:layout_below="@id/pwd_rl"
85 android:layout_marginTop="30dp" 116 android:layout_marginTop="30dp"
PersonalCenter/app/src/main/res/layout/sales_dialog_layout.xml
File was created 1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:background="@null"
6 android:gravity="center"
7 android:orientation="vertical" >
8
9 <LinearLayout
10 android:layout_width="400dp"
11 android:layout_height="wrap_content"
12 android:background="@drawable/white_cycle_bg"
13 android:orientation="vertical" >
14 <TextView
15 android:layout_width="match_parent"
16 android:layout_height="wrap_content"
17 android:gravity="center"
18 android:paddingTop="19dip"
19 android:lineSpacingExtra="5dp"
20 android:text="温馨提示"
21 android:textColor="@color/login_text_black"
22 android:textSize="22sp" />
23
24 <TextView
25 android:id="@+id/dialog_title"
26 android:layout_width="match_parent"
27 android:layout_height="wrap_content"
28 android:gravity="center"
29 android:paddingTop="19dip"
30 android:lineSpacingExtra="5dp"
31 android:text="该导购员还未在系统中注册,您确定继续\n注册电子保卡?"
32 android:textColor="@color/login_text_black"
33 android:textSize="19sp" />
34
35 <View
36 android:layout_width="match_parent"
37 android:layout_height="0.5dp"
38 android:layout_marginLeft="20dp"
39 android:layout_marginRight="20dp"
40 android:layout_marginTop="20dp"
41 android:background="@color/line_bg"/>
42
43 <LinearLayout
44 android:layout_width="match_parent"
45 android:layout_height="wrap_content"
46 android:orientation="horizontal" >
47
48 <Button
49 android:id="@+id/cancel_btn"
50 style="?android:attr/borderlessButtonStyle"
51 android:layout_width="match_parent"
52 android:layout_height="wrap_content"
53 android:layout_weight="1"
54 android:background="@drawable/white_cycle_bg"
55 android:gravity="center"
56 android:paddingBottom="10dp"
57 android:paddingTop="10dp"
58 android:text="取消"
59 android:textColor="@color/login_text_black"
60 android:textSize="18sp" />
61
62 <View
63 android:layout_width="0.5dp"
64 android:layout_height="match_parent"
65 android:layout_marginTop="5dp"
66 android:layout_marginBottom="5dp"
67 android:background="@color/line_bg"
68 android:orientation="horizontal" />
69
70 <Button
71 android:id="@+id/go_btn"
72 style="?android:attr/borderlessButtonStyle"
73 android:layout_width="match_parent"
74 android:layout_height="wrap_content"
75 android:layout_weight="1"
76 android:background="@drawable/white_cycle_bg"
77 android:gravity="center"
78 android:paddingBottom="10dp"
79 android:paddingTop="10dp"
80 android:text="继续"
81 android:textColor="@color/login_text_black"
82 android:textSize="18sp" />
83 </LinearLayout>
84 </LinearLayout>
85
86 </LinearLayout>
PersonalCenter/app/src/main/res/mipmap-hdpi/delete_btn.png

1.13 KB

PersonalCenter/app/src/main/res/mipmap-hdpi/public_qa_code.png

14.1 KB

PersonalCenter/app/src/main/res/mipmap-hdpi/start_btn_bg.png

7.02 KB

PersonalCenter/app/src/main/res/mipmap-xhdpi/main_bg.png

1.7 MB

PersonalCenter/app/src/main/res/mipmap-xhdpi/startpage.jpg

137 KB

PersonalCenter/app/src/main/res/mipmap-xhdpi/startpage.png

718 KB

PersonalCenter/app/src/main/res/mipmap-xhdpi/switch_btn.png

1.7 KB

PersonalCenter/app/src/main/res/values/colors.xml
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <resources> 2 <resources>
3 <color name="colorPrimary">#3F51B5</color> 3 <color name="colorPrimary">#3F51B5</color>
4 <color name="colorPrimaryDark">#303F9F</color> 4 <color name="colorPrimaryDark">#303F9F</color>
5 <color name="colorAccent">#FF4081</color> 5 <color name="colorAccent">#FF4081</color>
6 <color name="white">#ffffffff</color> 6 <color name="white">#ffffffff</color>
7 <color name="login_edittext_hint">#afafaf</color> 7 <color name="login_edittext_hint">#afafaf</color>
8 <color name="login_text_blue">#1cb8ff</color> 8 <color name="login_text_blue">#1cb8ff</color>
9 <color name="login_text_black">#313131</color> 9 <color name="login_text_black">#313131</color>
10 <color name="login_edittext_normal">#d4d4d4</color> 10 <color name="login_edittext_normal">#d4d4d4</color>
11 <color name="error_hint">#ED1c24</color> 11 <color name="error_hint">#ED1c24</color>
12 <color name="login_edittext_pressed">#1cb8ff</color> 12 <color name="login_edittext_pressed">#1cb8ff</color>
13 <color name="cutoff_line">#CCCCCC</color> 13 <color name="cutoff_line">#CCCCCC</color>
14 <color name="input_bg">#f4f1ec</color>
14 <color name="electronic_card">#ff480f</color> 15 <color name="electronic_card">#ff480f</color>
15 <color name="electronic_text">#afafaf</color> 16 <color name="electronic_text">#afafaf</color>
16 <color name="backgerangde_laout">#eeeeee</color> 17 <color name="backgerangde_laout">#eeeeee</color>
17 <color name="bgstudy_laout">#F0F0F0</color> 18 <color name="bgstudy_laout">#F0F0F0</color>
18 <color name="bgstudy_baoka">#0088c6</color> 19 <color name="bgstudy_baoka">#0088c6</color>
19 20 <color name="main_bg">#441cb8ff</color>
21 <color name="line_bg">#d5d5d5</color>
20 22
21 23
22 </resources> 24 </resources>
23 25
PersonalCenter/app/src/main/res/values/strings.xml
1 <resources> 1 <resources>
2 <string name="app_name">个人中心</string> 2 <string name="app_name">个人中心</string>
3 3
4 4
5 5
6 //登录注册 6 //登录注册
7 <string name="cancel">取 消</string> 7 <string name="cancel">取 消</string>
8 <string name="ok">确 定</string> 8 <string name="ok">确 定</string>
9 <string name="forget_pwd">忘记密码</string> 9 <string name="forget_pwd">忘记密码</string>
10 <string name="string_menu_title">忘记密码</string> 10 <string name="string_menu_title">忘记密码</string>
11 <string name="string_regist_info">填写注册信息</string> 11 <string name="string_regist_info">填写注册信息</string>
12 <string name="string_textbook_info">选择教材版本</string> 12 <string name="string_textbook_info">选择教材版本</string>
13 <string name="string_regist_username">用户名</string> 13 <string name="string_regist_username">姓名</string>
14 <string name="string_regist_nickname">昵称</string>
14 <string name="string_regist_region">地区</string> 15 <string name="string_regist_region">地区</string>
16 <string name="string_regist_address">家庭地址</string>
15 <string name="string_regist_grade">年级</string> 17 <string name="string_regist_grade">年级</string>
16 <string name="string_regist_school">学校</string> 18 <string name="string_regist_school">学校</string>
17 <string name="string_regist_next">下一步</string> 19 <string name="string_regist_next">下一步</string>
18 <string name="string_start_page">开始学习体验</string> 20 <string name="string_start_page">开始学习体验</string>
19 <string name="bangding">绑定家长控制</string> 21 <string name="bangding">绑定家长控制</string>
20 <string name="finish">完成</string> 22 <string name="finish">完成</string>
21 <string name="account_management">账户管理</string> 23 <string name="account_management">账户管理</string>
22 <string name="changge_preson">修改个人信息</string> 24 <string name="changge_preson">修改个人信息</string>
25 <string name="static_str">15811111111</string>
23 26
24 //电子保卡 27 //电子保卡
25 <string name="string_electroniccard_info_title">填写保卡信息</string> 28 <string name="string_electroniccard_info_title">填写保卡信息</string>
26 <string name="string_electroniccard_info_fill">填写电子保卡</string> 29 <string name="string_electroniccard_info_fill">填写电子保卡</string>
27 <string name="change_electroniccard_info_fill">修改保卡信息</string> 30 <string name="change_electroniccard_info_fill">修改保卡信息</string>
28 <string name="string_electroniccard_info_change">修改保卡信息</string> 31 <string name="string_electroniccard_info_change">修改保卡信息</string>
29 <string name="string_electroniccard_info_ok">确认保卡信息</string> 32 <string name="string_electroniccard_info_ok">确认保卡信息</string>
30 <string name="string_electroniccard_info_look">好记星-电子保卡</string> 33 <string name="string_electroniccard_info_look">好记星-电子保卡</string>
31 <string name="string_electroniccard_change_bangding">更换绑定</string> 34 <string name="string_electroniccard_change_bangding">更换绑定</string>
32 <string name="electronic_card">温馨提示:若您想修改的相关信息请拨打客服电话</string> 35 <string name="electronic_card">温馨提示:若您想修改相关信息请拨打客服电话</string>
33 <string name="electronic_card1">请先填写《好记星-电子保卡》信息</string> 36 <string name="electronic_card1">请先填写《好记星-电子保卡》信息</string>
34 <string name="electronic_card2">该信息是本产品的三包证明,为维护您的合法权益,请认真填写</string> 37 <string name="electronic_card2">该信息是本产品的三包证明,为维护您的合法权益,请认真填写</string>
35 <string name="electronic_card3">您已填写完《好记星-电子保卡》信息</string> 38 <string name="electronic_card3">您已填写完《好记星-电子保卡》信息</string>
36 <string name="electronic_card4">您也可以设置家长管理,用手机及时了解和管理孩子的学习情况</string> 39 <string name="electronic_card4">您也可以设置家长管理,用手机及时了解和管理孩子的学习情况</string>
37 40
38 //意见反馈 41 //意见反馈
39 <string name="feedback">写下您对我们产品的意见吧,我们将努力完善,最多输入500字。</string> 42 <string name="feedback">写下您对我们产品的意见吧,我们将努力完善,最多输入500字。</string>
40 <string name="qq">QQ或手机号码</string> 43 <string name="qq">QQ或手机号码</string>
41 <string name="hint">留下您的联系方式,方便与您沟通。</string> 44 <string name="hint">留下您的联系方式,方便与您沟通。</string>
42 45
43 46
44 //个人中心 47 //个人中心
45 <string name="titel_preson">个人中心</string> 48 <string name="titel_preson">个人中心</string>
46 49
47 50
48 51
49 </resources> 52 </resources>
50 53
PersonalCenter/app/src/main/res/values/styles.xml
1 <resources> 1 <resources>
2 2
3 <!-- Base application theme. --> 3 <!-- Base application theme. -->
4 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 4 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
5 <!-- Customize your theme here. --> 5 <!-- Customize your theme here. -->
6 <item name="colorPrimary">@color/colorPrimary</item> 6 <item name="colorPrimary">@color/colorPrimary</item>
7 <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 7 <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
8 <item name="android:windowFullscreen">true</item> 8 <item name="android:windowFullscreen">true</item>
9 </style> 9 </style>
10 10
11 <style name="login_register_edit_style"> 11 <style name="login_register_edit_style">
12 <item name="android:textSize">19sp</item> 12 <item name="android:textSize">19sp</item>
13 <item name="android:singleLine">true</item> 13 <item name="android:singleLine">true</item>
14 <item name="android:background">@drawable/selector_edittext_bg</item> 14 <item name="android:background">@null</item>
15 <item name="android:layout_width">match_parent</item> 15 <item name="android:layout_width">0dp</item>
16 <item name="android:layout_weight">1</item>
16 <item name="android:layout_height">wrap_content</item> 17 <item name="android:layout_height">wrap_content</item>
17 <item name="android:textColorHint">@color/login_edittext_hint</item> 18 <item name="android:textColorHint">@color/login_edittext_hint</item>
18 <item name="android:padding">10dp</item> 19 <item name="android:paddingRight">30dp</item>
20 <item name="android:paddingTop">15dp</item>
21 <item name="android:paddingLeft">30dp</item>
22 <item name="android:paddingBottom">15dp</item>
19 </style> 23 </style>
20 24
21 <style name="login_register_edit_rect_style"> 25 <style name="login_register_edit_rect_style">
22 <item name="android:textSize">19sp</item> 26 <item name="android:textSize">19sp</item>
23 <item name="android:singleLine">true</item> 27 <item name="android:singleLine">true</item>
24 <item name="android:background">@drawable/selector_edittext_rect_bg</item> 28 <item name="android:background">@null</item>
25 <item name="android:layout_width">match_parent</item> 29 <item name="android:layout_width">match_parent</item>
26 <item name="android:layout_height">wrap_content</item> 30 <item name="android:layout_height">wrap_content</item>
27 <item name="android:textColorHint">@color/login_edittext_hint</item> 31 <item name="android:textColorHint">@color/login_edittext_hint</item>
28 <item name="android:paddingRight">10dp</item> 32 <item name="android:paddingRight">10dp</item>
29 <item name="android:paddingTop">10dp</item> 33 <item name="android:paddingTop">15dp</item>
30 <item name="android:paddingLeft">10dp</item> 34 <item name="android:paddingLeft">30dp</item>
31 <item name="android:paddingBottom">12dp</item> 35 <item name="android:paddingBottom">15dp</item>
32 </style> 36 </style>
33 37
34 <style name="login_register_btn_authcode_rect_style"> 38 <style name="login_register_btn_authcode_rect_style">
35 <item name="android:textSize">19sp</item> 39 <item name="android:textSize">19sp</item>
36 <item name="android:singleLine">true</item> 40 <item name="android:singleLine">true</item>
37 <item name="android:background">@drawable/btn_rect_normal</item> 41 <item name="android:background">@drawable/code_bg</item>
38 <item name="android:layout_width">match_parent</item> 42 <item name="android:layout_width">match_parent</item>
39 <item name="android:layout_height">wrap_content</item> 43 <item name="android:layout_height">wrap_content</item>
40 <item name="android:textColorHint">@color/login_edittext_hint</item> 44 <item name="android:textColorHint">@color/login_edittext_hint</item>
41 <item name="android:padding">10dp</item> 45 <item name="android:padding">10dp</item>
42 </style> 46 </style>
43 <style name="text_login_register_style" > 47 <style name="text_login_register_style" >
44 <item name="android:layout_width">wrap_content</item> 48 <item name="android:layout_width">wrap_content</item>
45 <item name="android:layout_height">wrap_content</item> 49 <item name="android:layout_height">wrap_content</item>
46 <item name="android:textSize">22sp</item> 50 <item name="android:textSize">22sp</item>
47 <item name="android:gravity">center</item> 51 <item name="android:gravity">center</item>
48 <item name="android:padding">10dp</item> 52 <item name="android:padding">10dp</item>
49 53
50 </style> 54 </style>
51 <style name="button_login_register_style" parent="@style/Widget.AppCompat.Button.Borderless"> 55 <style name="button_login_register_style" parent="@style/Widget.AppCompat.Button.Borderless">
52 <item name="android:layout_width">match_parent</item> 56 <item name="android:layout_width">match_parent</item>
53 <item name="android:layout_height">wrap_content</item> 57 <item name="android:layout_height">wrap_content</item>
54 <item name="android:background">@drawable/selector_blue_btn_bg</item> 58 <item name="android:background">@drawable/selector_blue_btn_bg</item>
55 <item name="android:textSize">23sp</item> 59 <item name="android:textSize">25sp</item>
56 <item name="android:gravity">center</item> 60 <item name="android:gravity">center</item>
57 <item name="android:padding">10dp</item> 61 <item name="android:padding">12dp</item>
58 <item name="android:textColor">@android:color/white</item> 62 <item name="android:textColor">@android:color/white</item>
59 </style> 63 </style>
60 <style name="text_forget_pwd_style" > 64 <style name="text_forget_pwd_style" >
61 <item name="android:layout_width">wrap_content</item> 65 <item name="android:layout_width">wrap_content</item>
62 <item name="android:layout_height">wrap_content</item> 66 <item name="android:layout_height">wrap_content</item>
63 <item name="android:textSize">18sp</item> 67 <item name="android:textSize">18sp</item>
64 <item name="android:gravity">center</item> 68 <item name="android:gravity">center</item>
65 <item name="android:padding">8dp</item> 69 <item name="android:padding">8dp</item>
66 </style> 70 </style>
67 <style name="registererrhint_style"> 71 <style name="registererrhint_style">
68 <item name="android:textSize">14dip</item> 72 <item name="android:textSize">14dip</item>
69 <item name="android:layout_width">match_parent</item> 73 <item name="android:layout_width">match_parent</item>
70 <item name="android:layout_height">wrap_content</item> 74 <item name="android:layout_height">wrap_content</item>
71 <item name="android:textColor">@color/error_hint</item> 75 <item name="android:textColor">@color/error_hint</item>
72 <item name="android:layout_marginTop">5dip</item> 76 <item name="android:layout_marginTop">5dip</item>
73 </style> 77 </style>
74 <style name="iv_pwd_change_style"> 78 <style name="iv_pwd_change_style">
75 <item name="android:layout_width">wrap_content</item> 79 <item name="android:layout_width">wrap_content</item>
76 <item name="android:layout_height">wrap_content</item> 80 <item name="android:layout_height">wrap_content</item>
77 <item name="android:background">@mipmap/pwd_hide</item> 81 <item name="android:background">@mipmap/pwd_hide</item>
78 <item name="android:layout_alignParentRight">true</item> 82 <item name="android:layout_alignParentRight">true</item>
79 <item name="android:layout_centerVertical">true</item> 83 <item name="android:layout_centerVertical">true</item>
80 <item name="android:layout_marginRight">15dp</item> 84 <item name="android:layout_marginRight">15dp</item>
81 </style> 85 </style>
82 <style name="dialogWindowAnim" parent="android:Animation" mce_bogus="1"> 86 <style name="dialogWindowAnim" parent="android:Animation" mce_bogus="1">
83 <item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item> 87 <item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item>
84 <item name="android:windowExitAnimation">@anim/dialog_exit_anim</item> 88 <item name="android:windowExitAnimation">@anim/dialog_exit_anim</item>
85 </style> 89 </style>
86 90
91 <style name="CustomDialog" parent="@android:style/Theme.Dialog">
92 <item name="android:windowFrame">@null</item>
93 <item name="android:windowIsFloating">true</item>
94 <item name="android:windowContentOverlay">@null</item>
95 <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
96 <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
97 </style>
98 <style name="CustomHintDialog" parent="@style/CustomDialog">
99 <item name="android:windowBackground">@android:color/transparent</item>
100 <item name="android:windowNoTitle">true</item>
101 </style>
87 102
88 103
89 104
90 </resources> 105 </resources>
91 106
PersonalCenter/app/src/main/res/xml/rc_file_path.xml
File was created 1 <?xml version="1.0" encoding="utf-8"?>
2 <paths>
3 <external-path name="rc_external_path" path=""/>
4 </paths>