Commit c2f64dd6c945aebe8d7ee6b81d4dbefe190f0226
1 parent
4912f2ed51
Exists in
master
完善电子保卡
Showing
19 changed files
with
511 additions
and
72 deletions
Show diff stats
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 | 4 | ||
| 5 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 5 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
| 6 | <application | 6 | <application |
| 7 | android:allowBackup="true" | 7 | android:allowBackup="true" |
| 8 | android:icon="@mipmap/ic_launcher" | 8 | android:icon="@mipmap/ic_launcher" |
| 9 | android:label="@string/app_name" | 9 | android:label="@string/app_name" |
| 10 | android:supportsRtl="true" | 10 | android:supportsRtl="true" |
| 11 | android:theme="@style/Theme.AppCompat.Light.NoActionBar"> | 11 | android:theme="@style/Theme.AppCompat.Light.NoActionBar"> |
| 12 | <activity | 12 | <activity |
| 13 | android:name=".activity.MainActivity" | 13 | android:name=".activity.MainActivity" |
| 14 | android:launchMode="singleTask" | 14 | android:launchMode="singleTask" |
| 15 | android:screenOrientation="landscape"> | 15 | android:screenOrientation="landscape"> |
| 16 | <intent-filter> | 16 | <intent-filter> |
| 17 | <action android:name="android.intent.action.MAIN" /> | 17 | <action android:name="android.intent.action.MAIN" /> |
| 18 | 18 | ||
| 19 | <category android:name="android.intent.category.LAUNCHER" /> | 19 | <category android:name="android.intent.category.LAUNCHER" /> |
| 20 | </intent-filter> | 20 | </intent-filter> |
| 21 | </activity> | 21 | </activity> |
| 22 | <activity | 22 | <activity |
| 23 | android:name=".activity.LoginAndRegisterActivity" | 23 | android:name=".activity.LoginAndRegisterActivity" |
| 24 | android:launchMode="singleTask" | 24 | android:launchMode="singleTask" |
| 25 | android:screenOrientation="landscape"> | 25 | android:screenOrientation="landscape"> |
| 26 | 26 | ||
| 27 | </activity> | 27 | </activity> |
| 28 | <activity | 28 | <activity |
| 29 | android:name=".activity.ForgotPasswordActivity" | 29 | android:name=".activity.ForgotPasswordActivity" |
| 30 | android:launchMode="singleTask" | 30 | android:launchMode="singleTask" |
| 31 | android:screenOrientation="landscape"> | 31 | android:screenOrientation="landscape"> |
| 32 | 32 | ||
| 33 | </activity> | 33 | </activity> |
| 34 | <activity | 34 | <activity |
| 35 | android:name=".activity.ChangePasswordActivity" | 35 | android:name=".activity.ChangePasswordActivity" |
| 36 | android:launchMode="singleTask" | 36 | android:launchMode="singleTask" |
| 37 | android:screenOrientation="landscape"> | 37 | android:screenOrientation="landscape"> |
| 38 | 38 | ||
| 39 | </activity> | 39 | </activity> |
| 40 | <activity | 40 | <activity |
| 41 | android:name=".activity.RegisterInfoActivity" | 41 | android:name=".activity.RegisterInfoActivity" |
| 42 | android:launchMode="singleTask" | 42 | android:launchMode="singleTask" |
| 43 | android:screenOrientation="landscape"> | 43 | android:screenOrientation="landscape"> |
| 44 | 44 | ||
| 45 | </activity> | 45 | </activity> |
| 46 | <activity | 46 | <activity |
| 47 | android:name=".activity.ElectronicCardValidationActivity" | 47 | android:name=".activity.ElectronicCardValidationActivity" |
| 48 | android:launchMode="singleTask" | 48 | android:launchMode="singleTask" |
| 49 | android:screenOrientation="landscape"> | 49 | android:screenOrientation="landscape"> |
| 50 | 50 | ||
| 51 | </activity> | 51 | </activity> |
| 52 | <activity | 52 | <activity |
| 53 | android:name=".activity.ChangeBangDingActivity" | 53 | android:name=".activity.ChangeBangDingActivity" |
| 54 | android:launchMode="singleTask" | 54 | android:launchMode="singleTask" |
| 55 | android:screenOrientation="landscape"> | 55 | android:screenOrientation="landscape"> |
| 56 | 56 | ||
| 57 | </activity> | 57 | </activity> |
| 58 | <activity | 58 | <activity |
| 59 | android:name=".activity.ChangeElectronicCardInfoActivity" | 59 | android:name=".activity.ChangeElectronicCardAdressInfoActivity" |
| 60 | android:launchMode="singleTask" | 60 | android:launchMode="singleTask" |
| 61 | android:screenOrientation="landscape"> | 61 | android:screenOrientation="landscape"> |
| 62 | 62 | ||
| 63 | </activity> | 63 | </activity> |
| 64 | <activity | 64 | <activity |
| 65 | android:name=".activity.ChangeEletronicCardPhoneActivity" | 65 | android:name=".activity.ChangeEletronicCardPhoneActivity" |
| 66 | android:launchMode="singleTask" | 66 | android:launchMode="singleTask" |
| 67 | android:screenOrientation="landscape"> | 67 | android:screenOrientation="landscape"> |
| 68 | 68 | ||
| 69 | </activity> | 69 | </activity> |
| 70 | <activity | 70 | <activity |
| 71 | android:name=".activity.ChoiseTextBookActivity" | 71 | android:name=".activity.ChoiseTextBookActivity" |
| 72 | android:launchMode="singleTask" | 72 | android:launchMode="singleTask" |
| 73 | android:screenOrientation="landscape"> | 73 | android:screenOrientation="landscape"> |
| 74 | 74 | ||
| 75 | </activity> | 75 | </activity> |
| 76 | <activity | 76 | <activity |
| 77 | android:name=".activity.TheStartPageActivity" | 77 | android:name=".activity.TheStartPageActivity" |
| 78 | android:launchMode="singleTask" | 78 | android:launchMode="singleTask" |
| 79 | android:screenOrientation="landscape"> | 79 | android:screenOrientation="landscape"> |
| 80 | 80 | ||
| 81 | </activity> | 81 | </activity> |
| 82 | <activity | 82 | <activity |
| 83 | android:name=".activity.ElectronicCardEditInfoActivity" | 83 | android:name=".activity.ElectronicCardEditInfoActivity" |
| 84 | android:launchMode="singleTask" | 84 | android:launchMode="singleTask" |
| 85 | android:screenOrientation="landscape"> | 85 | android:screenOrientation="landscape"> |
| 86 | 86 | ||
| 87 | </activity> | 87 | </activity> |
| 88 | <activity | 88 | <activity |
| 89 | android:name=".activity.ElectronicCardInfoOKActivity" | 89 | android:name=".activity.ElectronicCardInfoOKActivity" |
| 90 | android:launchMode="singleTask" | 90 | android:launchMode="singleTask" |
| 91 | android:screenOrientation="landscape"> | 91 | android:screenOrientation="landscape"> |
| 92 | 92 | ||
| 93 | </activity> | 93 | </activity> |
| 94 | <activity | 94 | <activity |
| 95 | android:name=".activity.ElectronicCardLookInfoActivity" | 95 | android:name=".activity.ElectronicCardLookInfoActivity" |
| 96 | android:launchMode="singleTask" | 96 | android:launchMode="singleTask" |
| 97 | android:screenOrientation="landscape"> | 97 | android:screenOrientation="landscape"> |
| 98 | 98 | ||
| 99 | </activity> | 99 | </activity> |
| 100 | <activity | 100 | <activity |
| 101 | android:name=".activity.FeedBackActivity" | 101 | android:name=".activity.FeedBackActivity" |
| 102 | android:launchMode="singleTask" | 102 | android:launchMode="singleTask" |
| 103 | android:screenOrientation="landscape"> | 103 | android:screenOrientation="landscape"> |
| 104 | 104 | ||
| 105 | </activity> | 105 | </activity> |
| 106 | <activity | 106 | <activity |
| 107 | android:name=".activity.AccountManagementActivity" | 107 | android:name=".activity.AccountManagementActivity" |
| 108 | android:launchMode="singleTask" | 108 | android:launchMode="singleTask" |
| 109 | android:screenOrientation="landscape"> | 109 | android:screenOrientation="landscape"> |
| 110 | 110 | ||
| 111 | </activity> | 111 | </activity> |
| 112 | <activity | 112 | <activity |
| 113 | android:name=".activity.ChangePresonalInfoActivity" | 113 | android:name=".activity.ChangePresonalInfoActivity" |
| 114 | android:launchMode="singleTask" | 114 | android:launchMode="singleTask" |
| 115 | android:screenOrientation="landscape"> | 115 | android:screenOrientation="landscape"> |
| 116 | 116 | ||
| 117 | </activity> | 117 | </activity> |
| 118 | </application> | 118 | </application> |
| 119 | <!--权限--> | 119 | <!--权限--> |
| 120 | <uses-permission android:name="android.permission.CAMERA" /> | 120 | <uses-permission android:name="android.permission.CAMERA" /> |
| 121 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | 121 | <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> |
| 122 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 122 | <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> |
| 123 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | 123 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
| 124 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | 124 | <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
| 125 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 125 | <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> |
| 126 | <uses-permission android:name="android.permission.CALL_PHONE" /> | 126 | <uses-permission android:name="android.permission.CALL_PHONE" /> |
| 127 | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | 127 | <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> |
| 128 | <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> | 128 | <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> |
| 129 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | 129 | <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> |
| 130 | <uses-permission android:name="android.permission.INTERNET" /> | 130 | <uses-permission android:name="android.permission.INTERNET" /> |
| 131 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 131 | <uses-permission android:name="android.permission.READ_PHONE_STATE" /> |
| 132 | <uses-permission android:name="android.permission.READ_LOGS" /> | 132 | <uses-permission android:name="android.permission.READ_LOGS" /> |
| 133 | 133 | ||
| 134 | </manifest> | 134 | </manifest> |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardAdressInfoActivity.java
| File was created | 1 | package com.hjx.personalcenter.activity; | |
| 2 | |||
| 3 | import android.app.Activity; | ||
| 4 | import android.os.Bundle; | ||
| 5 | |||
| 6 | import com.hjx.personalcenter.R; | ||
| 7 | |||
| 8 | /** | ||
| 9 | * Created by h on 2017/8/9. | ||
| 10 | */ | ||
| 11 | |||
| 12 | public class ChangeElectronicCardAdressInfoActivity extends Activity{ | ||
| 13 | @Override | ||
| 14 | protected void onCreate(Bundle savedInstanceState) { | ||
| 15 | super.onCreate(savedInstanceState); | ||
| 16 | setContentView(R.layout.activity_change_card_validation); | ||
| 17 | } | ||
| 18 | } | ||
| 19 |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/ChangeElectronicCardInfoActivity.java
| 1 | package com.hjx.personalcenter.activity; | File was deleted | |
| 2 | |||
| 3 | import android.app.Activity; | ||
| 4 | import android.os.Bundle; | ||
| 5 | |||
| 6 | import com.hjx.personalcenter.R; | ||
| 7 | |||
| 8 | /** | ||
| 9 | * Created by h on 2017/8/9. | ||
| 10 | */ | ||
| 11 | |||
| 12 | public class ChangeElectronicCardInfoActivity extends Activity{ | ||
| 13 | @Override | ||
| 14 | protected void onCreate(Bundle savedInstanceState) { | ||
| 15 | super.onCreate(savedInstanceState); | ||
| 16 | setContentView(R.layout.activity_change_card_validation); | ||
| 17 | } | ||
| 18 | } | ||
| 19 | 1 | package com.hjx.personalcenter.activity; |
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.Activity; | 3 | import android.app.Activity; |
| 4 | import android.content.Intent; | 4 | import android.content.Intent; |
| 5 | import android.graphics.Color; | 5 | import android.graphics.Color; |
| 6 | import android.os.Bundle; | 6 | import android.os.Bundle; |
| 7 | import android.text.TextUtils; | ||
| 7 | import android.view.View; | 8 | import android.view.View; |
| 8 | import android.widget.Button; | 9 | import android.widget.Button; |
| 9 | import android.widget.EditText; | 10 | import android.widget.EditText; |
| 10 | import android.widget.ImageView; | 11 | import android.widget.ImageView; |
| 11 | import android.widget.LinearLayout; | 12 | import android.widget.LinearLayout; |
| 12 | import android.widget.TextView; | 13 | import android.widget.TextView; |
| 13 | 14 | ||
| 14 | import com.bigkoo.pickerview.TimePickerView; | 15 | import com.bigkoo.pickerview.TimePickerView; |
| 15 | import com.hjx.personalcenter.R; | 16 | import com.hjx.personalcenter.R; |
| 17 | import com.hjx.personalcenter.db.SaveParam; | ||
| 18 | import com.hjx.personalcenter.util.AlertUtils; | ||
| 16 | 19 | ||
| 17 | import java.text.SimpleDateFormat; | 20 | import java.text.SimpleDateFormat; |
| 18 | import java.util.Date; | 21 | import java.util.Date; |
| 19 | 22 | ||
| 20 | /**填写保卡信息 熊巍 | 23 | /**填写保卡信息 熊巍 |
| 21 | * Created by h on 2017/8/11. | 24 | * Created by h on 2017/8/11. |
| 22 | */ | 25 | */ |
| 23 | 26 | ||
| 24 | public class ElectronicCardEditInfoActivity extends Activity implements View.OnClickListener { | 27 | public class ElectronicCardEditInfoActivity extends Activity implements View.OnClickListener { |
| 25 | private LinearLayout lineL_buy_time; | 28 | private LinearLayout lineL_buy_time; |
| 26 | private TextView tv_buy_time,adress_shop,adress_custem; | 29 | private TextView tv_buy_time,adress_shop,adress_custem; |
| 27 | private EditText username,store,detalAdress,telphone; | 30 | private EditText username,store,detalAdress,telphone; |
| 28 | private TimePickerView pvTime; | 31 | private TimePickerView pvTime; |
| 29 | private Button btn_change_info; | 32 | private Button btn_change_info; |
| 30 | private ImageView iv_card_back; | 33 | private ImageView iv_card_back; |
| 31 | 34 | ||
| 32 | @Override | 35 | @Override |
| 33 | protected void onCreate(Bundle savedInstanceState) { | 36 | protected void onCreate(Bundle savedInstanceState) { |
| 34 | super.onCreate(savedInstanceState); | 37 | super.onCreate(savedInstanceState); |
| 35 | setContentView(R.layout.activity_electroniccard_info); | 38 | setContentView(R.layout.activity_electroniccard_info); |
| 36 | initView(); | 39 | initView(); |
| 37 | initData(); | 40 | initData(); |
| 38 | initLister(); | 41 | initLister(); |
| 39 | initTimePicker(); | 42 | initTimePicker(); |
| 40 | } | 43 | } |
| 41 | 44 | ||
| 42 | private void initView() { | 45 | private void initView() { |
| 43 | lineL_buy_time = (LinearLayout) findViewById(R.id.lineL_buy_time); | 46 | lineL_buy_time = (LinearLayout) findViewById(R.id.lineL_buy_time); |
| 44 | tv_buy_time = (TextView) findViewById(R.id.tv_buy_time); | 47 | tv_buy_time = (TextView) findViewById(R.id.tv_buy_time); |
| 45 | adress_shop = (TextView) findViewById(R.id.tv_edit_adress_shop); | 48 | adress_shop = (TextView) findViewById(R.id.tv_edit_adress_shop); |
| 46 | adress_custem = (TextView) findViewById(R.id.tv_edit_adress_custem); | 49 | adress_custem = (TextView) findViewById(R.id.tv_edit_adress_custem); |
| 47 | username = (EditText) findViewById(R.id.et_edit_username); | 50 | username = (EditText) findViewById(R.id.et_edit_username); |
| 48 | store = (EditText) findViewById(R.id.et_edit_store); | 51 | store = (EditText) findViewById(R.id.et_edit_store); |
| 49 | detalAdress = (EditText) findViewById(R.id.et_edit_adress_detail); | 52 | detalAdress = (EditText) findViewById(R.id.et_edit_adress_detail); |
| 50 | telphone = (EditText) findViewById(R.id.et_edit_telphone); | 53 | telphone = (EditText) findViewById(R.id.et_edit_telphone); |
| 51 | btn_change_info = (Button) findViewById(R.id.btn_change_info); | 54 | btn_change_info = (Button) findViewById(R.id.btn_change_info); |
| 52 | } | 55 | } |
| 53 | 56 | ||
| 54 | private void initData() { | 57 | private void initData() { |
| 55 | 58 | ||
| 56 | } | 59 | } |
| 57 | 60 | ||
| 58 | private void initLister() { | 61 | private void initLister() { |
| 59 | lineL_buy_time.setOnClickListener(this); | 62 | lineL_buy_time.setOnClickListener(this); |
| 60 | adress_shop.setOnClickListener(this); | 63 | adress_shop.setOnClickListener(this); |
| 61 | adress_custem.setOnClickListener(this); | 64 | adress_custem.setOnClickListener(this); |
| 62 | btn_change_info.setOnClickListener(this); | 65 | btn_change_info.setOnClickListener(this); |
| 63 | 66 | ||
| 64 | } | 67 | } |
| 65 | //自定义时间选择器 | 68 | //自定义时间选择器 |
| 66 | private void initTimePicker() { | 69 | private void initTimePicker() { |
| 67 | //控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释) | 70 | //控制时间范围(如果不设置范围,则使用默认时间1900-2100年,此段代码可注释) |
| 68 | //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11 | 71 | //因为系统Calendar的月份是从0-11的,所以如果是调用Calendar的set方法来设置时间,月份的范围也要是从0-11 |
| 69 | // Calendar selectedDate = Calendar.getInstance(); | 72 | // Calendar selectedDate = Calendar.getInstance(); |
| 70 | // Calendar startDate = Calendar.getInstance(); | 73 | // Calendar startDate = Calendar.getInstance(); |
| 71 | // startDate.set(1900, 1, 1); | 74 | // startDate.set(1900, 1, 1); |
| 72 | // Calendar endDate = Calendar.getInstance(); | 75 | // Calendar endDate = Calendar.getInstance(); |
| 73 | // endDate.set(2100, 1, 1); | 76 | // endDate.set(2100, 1, 1); |
| 74 | //时间选择器 | 77 | //时间选择器 |
| 75 | pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() { | 78 | pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() { |
| 76 | @Override | 79 | @Override |
| 77 | public void onTimeSelect(Date date, View v) {//选中事件回调 | 80 | public void onTimeSelect(Date date, View v) {//选中事件回调 |
| 78 | // 这里回调过来的v,就是show()方法里面所添加的 View 参数,如果show的时候没有添加参数,v则为null | 81 | // 这里回调过来的v,就是show()方法里面所添加的 View 参数,如果show的时候没有添加参数,v则为null |
| 79 | /*btn_Time.setText(getTime(date));*/ | 82 | /*btn_Time.setText(getTime(date));*/ |
| 80 | TextView btn = (TextView) v; | 83 | TextView btn = (TextView) v; |
| 81 | btn.setText(getTime(date)); | 84 | btn.setText(getTime(date)); |
| 82 | } | 85 | } |
| 83 | }) | 86 | }) |
| 84 | //年月日时分秒 的显示与否,不设置则默认全部显示 | 87 | //年月日时分秒 的显示与否,不设置则默认全部显示 |
| 85 | .setType(new boolean[]{true, true, true, false, false, false}) | 88 | .setType(new boolean[]{true, true, true, false, false, false}) |
| 86 | .setLabel("", "", "", "", "", "") | 89 | .setLabel("", "", "", "", "", "") |
| 87 | .isCenterLabel(false) | 90 | .isCenterLabel(false) |
| 88 | .setDividerColor(Color.DKGRAY) | 91 | .setDividerColor(Color.DKGRAY) |
| 89 | .setContentSize(21) | 92 | .setContentSize(21) |
| 90 | // .setDate(selectedDate) | 93 | // .setDate(selectedDate) |
| 91 | // .setRangDate(startDate, endDate) | 94 | // .setRangDate(startDate, endDate) |
| 92 | .setBackgroundId(0x80000000) //设置外部遮罩颜色 | 95 | .setBackgroundId(0x80000000) //设置外部遮罩颜色 |
| 93 | .setDecorView(null) | 96 | .setDecorView(null) |
| 94 | .setTitleText("购买日期") | 97 | .setTitleText("购买日期") |
| 95 | .setTitleSize(22) | 98 | .setTitleSize(22) |
| 96 | .setCancelColor(Color.GRAY) | 99 | .setCancelColor(Color.GRAY) |
| 97 | .setSubCalSize(22) | 100 | .setSubCalSize(22) |
| 98 | .setDividerColor(Color.GRAY) | 101 | .setDividerColor(Color.GRAY) |
| 99 | .setSubmitColor(Color.GRAY) | 102 | .setSubmitColor(Color.GRAY) |
| 100 | .build(); | 103 | .build(); |
| 101 | } | 104 | } |
| 102 | private String getTime(Date date) {//可根据需要自行截取数据显示 | 105 | private String getTime(Date date) {//可根据需要自行截取数据显示 |
| 103 | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); | 106 | SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
| 104 | return format.format(date); | 107 | return format.format(date); |
| 105 | } | 108 | } |
| 106 | 109 | ||
| 107 | @Override | 110 | @Override |
| 108 | public void onClick(View v) { | 111 | public void onClick(View v) { |
| 109 | switch (v.getId()){ | 112 | switch (v.getId()){ |
| 110 | case R.id.lineL_buy_time: | 113 | case R.id.lineL_buy_time: |
| 111 | pvTime.show(tv_buy_time);//弹出时间选择器,传递参数过去,回调的时候则可以绑定此view | 114 | pvTime.show(tv_buy_time);//弹出时间选择器,传递参数过去,回调的时候则可以绑定此view |
| 112 | break; | 115 | break; |
| 113 | case R.id.btn_change_info: | 116 | case R.id.btn_change_info: |
| 114 | Intent intent = new Intent(); | 117 | String info1 =username.getText().toString().trim(); |
| 115 | intent.setClass(ElectronicCardEditInfoActivity.this,ElectronicCardInfoOKActivity.class); | 118 | String info2 =adress_custem.getText().toString().trim(); |
| 116 | startActivity(intent); | 119 | String info3 =detalAdress.getText().toString().trim(); |
| 117 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | 120 | String info4 =tv_buy_time.getText().toString().trim(); |
| 121 | String info5 =adress_shop.getText().toString().trim(); | ||
| 122 | String info6 =store.getText().toString().trim(); | ||
| 123 | String info7 =telphone.getText().toString().trim(); | ||
| 124 | |||
| 125 | if (TextUtils.isEmpty(info1) || TextUtils.isEmpty(info2)||TextUtils.isEmpty(info3) | ||
| 126 | ||TextUtils.isEmpty(info4)||TextUtils.isEmpty(info5)||TextUtils.isEmpty(info6) | ||
| 127 | ||TextUtils.isEmpty(info7)) { | ||
| 128 | AlertUtils.showToast(ElectronicCardEditInfoActivity.this, "所有内容不能为空。"); | ||
| 129 | return; | ||
| 130 | }else { | ||
| 131 | savedata(); | ||
| 132 | Intent intent = new Intent(); | ||
| 133 | intent.setClass(ElectronicCardEditInfoActivity.this,ElectronicCardInfoOKActivity.class); | ||
| 134 | startActivity(intent); | ||
| 135 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | ||
| 136 | } | ||
| 137 | |||
| 118 | break; | 138 | break; |
| 119 | case R.id.tv_edit_adress_shop: | 139 | case R.id.tv_edit_adress_shop: |
| 120 | 140 | ||
| 141 | adress_shop.setText("湖南省益阳市上河区"); | ||
| 121 | break; | 142 | break; |
| 122 | case R.id.tv_edit_adress_custem: | 143 | case R.id.tv_edit_adress_custem: |
| 144 | adress_custem.setText("湖南省益阳市上河区"); | ||
| 123 | break; | 145 | break; |
| 124 | 146 | ||
| 125 | } | 147 | } |
| 126 | 148 | ||
| 127 | 149 | ||
| 128 | } | 150 | } |
| 151 | //保存数据 | ||
| 152 | private void savedata() { | ||
| 153 | SaveParam.getInstance().saveCustomizeParam(this,SaveParam.CUNSTEMNAME, username.getText().toString().trim()); | ||
| 154 | SaveParam.getInstance().saveCustomizeParam(this,SaveParam.ADRESSCUNSTEM, adress_custem.getText().toString().trim()+detalAdress.getText().toString().trim()); | ||
| 155 | SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPTIME, tv_buy_time.getText().toString().trim()); | ||
| 156 | SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPADRESS, adress_shop.getText().toString().trim()+store.getText().toString().trim()); | ||
| 157 | SaveParam.getInstance().saveCustomizeParam(this,SaveParam.SHOPTLEPHONE, telphone.getText().toString().trim()); | ||
| 158 | |||
| 159 | } | ||
| 129 | } | 160 | } |
| 130 | 161 |
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.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.content.Intent; | ||
| 5 | import android.os.Bundle; | 4 | import android.os.Bundle; |
| 6 | import android.view.View; | 5 | import android.view.View; |
| 7 | import android.widget.Button; | 6 | import android.widget.Button; |
| 8 | import android.widget.ImageView; | 7 | import android.widget.ImageView; |
| 9 | import android.widget.TextView; | 8 | import android.widget.TextView; |
| 10 | 9 | ||
| 11 | import com.hjx.personalcenter.R; | 10 | import com.hjx.personalcenter.R; |
| 11 | import com.hjx.personalcenter.db.SaveParam; | ||
| 12 | import com.hjx.personalcenter.http.HttpManager; | ||
| 12 | import com.hjx.personalcenter.util.GetDevicesUtil; | 13 | import com.hjx.personalcenter.util.GetDevicesUtil; |
| 13 | 14 | ||
| 14 | /**确认保卡信息 | 15 | /**确认保卡信息 |
| 15 | * Created by h on 2017/8/11. | 16 | * Created by h on 2017/8/11. |
| 16 | */ | 17 | */ |
| 17 | 18 | ||
| 18 | public class ElectronicCardInfoOKActivity extends Activity implements View.OnClickListener { | 19 | public class ElectronicCardInfoOKActivity extends Activity implements View.OnClickListener { |
| 19 | private Button btn_finish; | 20 | private Button btn_finish; |
| 20 | private ImageView iv_last_step; | 21 | private ImageView iv_last_step; |
| 21 | private TextView usename,deviceModel,customer_address,mac_adress,shoptime,deviceNumber,shopadress,phone,tlePhone; | 22 | private TextView usename,deviceModel,customer_address,mac_adress,shoptime,deviceNumber,shopadress,phone,tlePhone; |
| 22 | @Override | 23 | @Override |
| 23 | protected void onCreate(Bundle savedInstanceState) { | 24 | protected void onCreate(Bundle savedInstanceState) { |
| 24 | super.onCreate(savedInstanceState); | 25 | super.onCreate(savedInstanceState); |
| 25 | setContentView(R.layout.activity_ok_cardinfo); | 26 | setContentView(R.layout.activity_ok_cardinfo); |
| 26 | initView(); | 27 | initView(); |
| 27 | initData(); | 28 | initData(); |
| 28 | initLister(); | 29 | initLister(); |
| 29 | } | 30 | } |
| 30 | private void initView() { | 31 | private void initView() { |
| 31 | btn_finish = (Button) findViewById(R.id.btn_finish); | 32 | btn_finish = (Button) findViewById(R.id.btn_finish); |
| 33 | iv_last_step = (ImageView) findViewById(R.id.cancel); | ||
| 32 | usename = (TextView) findViewById(R.id.iv_card_username); | 34 | usename = (TextView) findViewById(R.id.iv_card_username); |
| 33 | deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel); | 35 | deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel); |
| 34 | customer_address = (TextView) findViewById(R.id.tv_card_adress); | 36 | customer_address = (TextView) findViewById(R.id.tv_card_adress); |
| 35 | mac_adress = (TextView) findViewById(R.id.tv_card_mac); | 37 | mac_adress = (TextView) findViewById(R.id.tv_card_mac); |
| 36 | shoptime = (TextView) findViewById(R.id.tv_card_time); | 38 | shoptime = (TextView) findViewById(R.id.tv_card_time); |
| 37 | deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber); | 39 | deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber); |
| 38 | shopadress = (TextView) findViewById(R.id.tv_card_shopAdress); | 40 | shopadress = (TextView) findViewById(R.id.tv_card_shopAdress); |
| 39 | phone = (TextView) findViewById(R.id.tv_card_phone); | 41 | phone = (TextView) findViewById(R.id.tv_card_phone); |
| 40 | tlePhone = (TextView) findViewById(R.id.tv_card_tleNember); | 42 | tlePhone = (TextView) findViewById(R.id.tv_card_tleNember); |
| 41 | } | 43 | } |
| 42 | 44 | ||
| 43 | private void initData() { | 45 | private void initData() { |
| 44 | //获取设备信息 | 46 | //获取设备信息 |
| 45 | deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel()); | 47 | deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel()); |
| 46 | deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber()); | 48 | deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber()); |
| 47 | mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac()); | 49 | mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac()); |
| 48 | //获取保卡信息 | 50 | //获取保卡信息 |
| 51 | usename.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CUNSTEMNAME)); | ||
| 52 | customer_address.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.ADRESSCUNSTEM)); | ||
| 53 | shoptime.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTIME)); | ||
| 54 | shopadress.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPADRESS)); | ||
| 55 | tlePhone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTLEPHONE)); | ||
| 56 | phone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CARDPHONE)); | ||
| 57 | |||
| 49 | 58 | ||
| 50 | } | 59 | } |
| 51 | 60 | ||
| 52 | private void initLister() { | 61 | private void initLister() { |
| 62 | iv_last_step.setOnClickListener(this); | ||
| 53 | btn_finish.setOnClickListener(this); | 63 | btn_finish.setOnClickListener(this); |
| 54 | } | 64 | } |
| 55 | 65 | ||
| 56 | @Override | 66 | @Override |
| 57 | public void onClick(View v) { | 67 | public void onClick(View v) { |
| 58 | switch (v.getId()){ | 68 | switch (v.getId()){ |
| 59 | case R.id.btn_finish: | 69 | case R.id.btn_finish: |
| 60 | Intent intent = new Intent(); | 70 | HttpManager.getInstance().subcardinfo(this,636,usename.getText().toString().trim(), |
| 61 | intent.setClass(ElectronicCardInfoOKActivity.this,TheStartPageActivity.class); | 71 | customer_address.getText().toString().trim(),shopadress.getText().toString().trim(), |
| 62 | startActivity(intent); | 72 | shoptime.getText().toString().trim(),tlePhone.getText().toString().trim(), |
| 63 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | 73 | deviceModel.getText().toString().trim(),deviceNumber.getText().toString().trim(), |
| 74 | mac_adress.getText().toString().trim(),phone.getText().toString().trim()); | ||
| 75 | break; | ||
| 76 | case R.id.cancel: | ||
| 77 | finish(); | ||
| 64 | break; | 78 | break; |
| 65 | } | 79 | } |
| 66 | } | 80 | } |
| 81 | |||
| 82 | |||
| 67 | } | 83 | } |
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.app.Activity; | 3 | import android.content.Intent; |
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; |
| 5 | import android.support.v7.app.AppCompatActivity; | ||
| 6 | import android.view.View; | ||
| 7 | import android.widget.ImageView; | ||
| 8 | import android.widget.TextView; | ||
| 5 | 9 | ||
| 6 | import com.hjx.personalcenter.R; | 10 | import com.hjx.personalcenter.R; |
| 11 | import com.hjx.personalcenter.db.Content; | ||
| 12 | import com.hjx.personalcenter.db.SaveParam; | ||
| 13 | import com.hjx.personalcenter.util.GetDevicesUtil; | ||
| 7 | 14 | ||
| 8 | /** | 15 | /** |
| 9 | * Created by h on 2017/8/11. | 16 | * Created by h on 2017/8/11. |
| 10 | */ | 17 | */ |
| 11 | 18 | ||
| 12 | public class ElectronicCardLookInfoActivity extends Activity{ | 19 | public class ElectronicCardLookInfoActivity extends AppCompatActivity implements View.OnClickListener{ |
| 20 | private ImageView iv_last_step; | ||
| 21 | private TextView usename,deviceModel,customer_address,mac_adress,shoptime,deviceNumber, | ||
| 22 | shopadress,phone,tlePhone,tv_card_adress_change,tv_card_phone_change; | ||
| 23 | |||
| 13 | @Override | 24 | @Override |
| 14 | protected void onCreate(Bundle savedInstanceState) { | 25 | protected void onCreate(Bundle savedInstanceState) { |
| 15 | super.onCreate(savedInstanceState); | 26 | super.onCreate(savedInstanceState); |
| 16 | setContentView(R.layout.activity_electronic_look_cardinfo); | 27 | setContentView(R.layout.activity_electronic_look_cardinfo); |
| 28 | initView(); | ||
| 29 | initData(); | ||
| 30 | initLister(); | ||
| 31 | } | ||
| 32 | private void initView() { | ||
| 33 | usename = (TextView) findViewById(R.id.iv_card_username); | ||
| 34 | iv_last_step = (ImageView) findViewById(R.id.cancel); | ||
| 35 | deviceModel = (TextView) findViewById(R.id.tv_card_deviceModel); | ||
| 36 | customer_address = (TextView) findViewById(R.id.tv_card_adress); | ||
| 37 | mac_adress = (TextView) findViewById(R.id.tv_card_mac); | ||
| 38 | shoptime = (TextView) findViewById(R.id.tv_card_time); | ||
| 39 | deviceNumber = (TextView) findViewById(R.id.tv_card_deviceNumber); | ||
| 40 | shopadress = (TextView) findViewById(R.id.tv_card_shopAdress); | ||
| 41 | phone = (TextView) findViewById(R.id.tv_card_phone); | ||
| 42 | tlePhone = (TextView) findViewById(R.id.tv_card_tleNember); | ||
| 43 | tv_card_adress_change = (TextView) findViewById(R.id.tv_card_adress_change); | ||
| 44 | tv_card_phone_change = (TextView) findViewById(R.id.tv_card_phone_change); | ||
| 45 | } | ||
| 46 | private void initData() { | ||
| 47 | //获取设备信息 | ||
| 48 | deviceModel.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceModel()); | ||
| 49 | deviceNumber.setText(GetDevicesUtil.getDevicesInfo(this).getDeviceNumber()); | ||
| 50 | mac_adress.setText(GetDevicesUtil.getDevicesInfo(this).getMac()); | ||
| 51 | //获取保卡信息 | ||
| 52 | usename.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CUNSTEMNAME)); | ||
| 53 | customer_address.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.ADRESSCUNSTEM)); | ||
| 54 | shoptime.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTIME)); | ||
| 55 | shopadress.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPADRESS)); | ||
| 56 | tlePhone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.SHOPTLEPHONE)); | ||
| 57 | phone.setText(SaveParam.getInstance().getCustomizeParam(this,SaveParam.CARDPHONE)); | ||
| 58 | |||
| 59 | |||
| 60 | } | ||
| 61 | private void initLister() { | ||
| 62 | tv_card_adress_change.setOnClickListener(this); | ||
| 63 | tv_card_phone_change.setOnClickListener(this); | ||
| 64 | iv_last_step.setOnClickListener(this); | ||
| 17 | } | 65 | } |
| 66 | @Override | ||
| 67 | public void onClick(View v) { | ||
| 68 | switch (v.getId()){ | ||
| 69 | case R.id.tv_card_adress_change: | ||
| 70 | Intent intent = new Intent(); | ||
| 71 | intent.setClass(this,ChangeElectronicCardAdressInfoActivity.class); | ||
| 72 | startActivity(intent); | ||
| 73 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | ||
| 74 | |||
| 75 | break; | ||
| 76 | case R.id.tv_card_phone_change: | ||
| 77 | Content.authcodeflag =2; | ||
| 78 | Intent intent1 = new Intent(); | ||
| 79 | intent1.setClass(this,ElectronicCardValidationActivity.class); | ||
| 80 | startActivity(intent1); | ||
| 81 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | ||
| 82 | |||
| 83 | |||
| 84 | break; | ||
| 85 | case R.id.cancel: | ||
| 86 | finish(); | ||
| 87 | break; | ||
| 88 | } | ||
| 89 | } | ||
| 90 | |||
| 18 | } | 91 | } |
| 19 | 92 |
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.app.Activity; | 3 | import android.app.Activity; |
| 4 | import android.content.Intent; | 4 | import android.content.Intent; |
| 5 | import android.os.Bundle; | 5 | import android.os.Bundle; |
| 6 | import android.os.Handler; | ||
| 7 | import android.os.Message; | ||
| 8 | import android.text.TextUtils; | ||
| 6 | import android.view.View; | 9 | import android.view.View; |
| 7 | import android.widget.Button; | 10 | import android.widget.Button; |
| 11 | import android.widget.EditText; | ||
| 12 | import android.widget.TextView; | ||
| 8 | 13 | ||
| 9 | import com.hjx.personalcenter.R; | 14 | import com.hjx.personalcenter.R; |
| 15 | import com.hjx.personalcenter.db.Content; | ||
| 16 | import com.hjx.personalcenter.db.SaveParam; | ||
| 17 | import com.hjx.personalcenter.http.HttpCode; | ||
| 18 | import com.hjx.personalcenter.http.HttpManager; | ||
| 19 | import com.hjx.personalcenter.util.AlertUtils; | ||
| 20 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; | ||
| 21 | |||
| 22 | import org.json.JSONObject; | ||
| 10 | 23 | ||
| 11 | /** | 24 | /** |
| 12 | * Created by h on 2017/8/9. | 25 | * Created by h on 2017/8/9. |
| 13 | */ | 26 | */ |
| 14 | 27 | ||
| 15 | public class ElectronicCardValidationActivity extends Activity implements View.OnClickListener { | 28 | public class ElectronicCardValidationActivity extends Activity implements View.OnClickListener { |
| 16 | private Button btn_card_valiyanzhen; | 29 | private Button btn_card_valiyanzhen,get_authcode; |
| 30 | private EditText phonenumber,anth_6num;//;//密码 | ||
| 31 | private TextView menu_title; | ||
| 32 | private int i = 0; | ||
| 33 | private Thread thread; | ||
| 34 | private String sourceStr ="android"; | ||
| 35 | private String typeStr = "register"; | ||
| 36 | String authcode = ""; | ||
| 37 | Handler handler = new Handler() { | ||
| 38 | @Override | ||
| 39 | public void handleMessage(Message msg) { | ||
| 40 | super.handleMessage(msg); | ||
| 41 | JSONObject jsonObject; | ||
| 42 | String status; | ||
| 43 | switch (msg.what) { | ||
| 44 | case HttpCode.AUTHCODE_SUCESS: | ||
| 45 | jsonObject = (JSONObject) msg.obj; | ||
| 46 | status = jsonObject.optString("status"); | ||
| 47 | authcode = jsonObject.optString("jsessionid"); | ||
| 48 | if (status.equals("100")) { | ||
| 49 | AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送成功"); | ||
| 50 | } | ||
| 51 | |||
| 52 | break; | ||
| 53 | case HttpCode.AUTHCODE_FAIL: | ||
| 54 | AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送失败"); | ||
| 55 | break; | ||
| 56 | case 1: | ||
| 57 | get_authcode.setEnabled(false); | ||
| 58 | get_authcode.setClickable(false); | ||
| 59 | get_authcode.setText(Integer.toString(i--)+" s"); | ||
| 60 | if (i<=0){ | ||
| 61 | get_authcode.setEnabled(true); | ||
| 62 | get_authcode.setClickable(true); | ||
| 63 | get_authcode.setText("获取验证码"); | ||
| 64 | } | ||
| 65 | break; | ||
| 66 | } | ||
| 67 | } | ||
| 68 | }; | ||
| 17 | @Override | 69 | @Override |
| 18 | protected void onCreate(Bundle savedInstanceState) { | 70 | protected void onCreate(Bundle savedInstanceState) { |
| 19 | super.onCreate(savedInstanceState); | 71 | super.onCreate(savedInstanceState); |
| 20 | setContentView(R.layout.activity_electroniccard_validation); | 72 | setContentView(R.layout.activity_electroniccard_validation); |
| 21 | initView(); | 73 | initView(); |
| 22 | initData(); | 74 | initData(); |
| 23 | initLister(); | 75 | initLister(); |
| 24 | } | 76 | } |
| 25 | 77 | ||
| 26 | private void initView() { | 78 | private void initView() { |
| 27 | btn_card_valiyanzhen = (Button) findViewById(R.id.btn_card_valiyanzhen); | 79 | btn_card_valiyanzhen = (Button) findViewById(R.id.btn_card_valiyanzhen); |
| 80 | get_authcode = (Button) findViewById(R.id.btn_authcode); | ||
| 81 | anth_6num = (EditText) findViewById(R.id.et_authcode); | ||
| 82 | phonenumber = (EditText) findViewById(R.id.et_phonenumber); | ||
| 83 | menu_title = (TextView) findViewById(R.id.menu_title); | ||
| 28 | } | 84 | } |
| 29 | 85 | ||
| 30 | private void initData() { | 86 | private void initData() { |
| 87 | if (Content.authcodeflag==1){ | ||
| 88 | menu_title.setText("填写保卡信息"); | ||
| 89 | |||
| 90 | }else if (Content.authcodeflag==2){ | ||
| 91 | menu_title.setText("修改保卡信息"); | ||
| 92 | }else { | ||
| 93 | menu_title.setText("更换绑定"); | ||
| 94 | } | ||
| 95 | |||
| 96 | |||
| 31 | 97 | ||
| 32 | } | 98 | } |
| 33 | 99 | ||
| 34 | private void initLister() { | 100 | private void initLister() { |
| 101 | get_authcode.setOnClickListener(this); | ||
| 35 | btn_card_valiyanzhen.setOnClickListener(this); | 102 | btn_card_valiyanzhen.setOnClickListener(this); |
| 36 | 103 | ||
| 37 | } | 104 | } |
| 38 | 105 | ||
| 39 | @Override | 106 | @Override |
| 40 | public void onClick(View v) { | 107 | public void onClick(View v) { |
| 41 | switch (v.getId()){ | 108 | switch (v.getId()){ |
| 42 | case R.id.btn_card_valiyanzhen: | 109 | case R.id.btn_card_valiyanzhen: |
| 110 | SaveParam.getInstance().saveCustomizeParam(this,SaveParam.CARDPHONE, phonenumber.getText().toString().trim()); | ||
| 43 | Intent intent = new Intent(); | 111 | Intent intent = new Intent(); |
| 44 | intent.setClass(ElectronicCardValidationActivity.this,ElectronicCardEditInfoActivity.class); | 112 | intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class); |
| 45 | startActivity(intent); | 113 | startActivity(intent); |
| 46 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | 114 | overridePendingTransition(R.anim.rightin, R.anim.rightout); |
| 115 | |||
| 116 | String usernameStr = phonenumber.getText().toString().trim(); | ||
| 117 | String authcodeStr = anth_6num.getText().toString().trim(); | ||
| 118 | if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)) { | ||
| 119 | AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号,和验证码不能为空"); | ||
| 120 | return; | ||
| 121 | } else if (!PhoneNumCheckUtils.isPhone(usernameStr)){ | ||
| 122 | AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号码输入错误"); | ||
| 123 | |||
| 124 | }else if (!authcode.equals(authcodeStr)){ | ||
| 125 | AlertUtils.showToast(ElectronicCardValidationActivity.this, "您输入的验证码不正确"); | ||
| 126 | }else { | ||
| 127 | if (Content.authcodeflag==1){ | ||
| 128 | menu_title.setText("填写保卡信息"); | ||
| 129 | |||
| 130 | }else if (Content.authcodeflag==2){ | ||
| 131 | //调用接口 | ||
| 132 | menu_title.setText("修改保卡信息"); | ||
| 133 | }else { | ||
| 134 | //修改手机号 | ||
| 135 | menu_title.setText("更换绑定"); | ||
| 136 | } | ||
| 137 | // SaveParam.getInstance().saveLoginParam(this,SaveParam.CARDPHONE, phonenumber.getText().toString().trim()); | ||
| 138 | // Intent intent = new Intent(); | ||
| 139 | // intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class); | ||
| 140 | // startActivity(intent); | ||
| 141 | // overridePendingTransition(R.anim.rightin, R.anim.rightout); | ||
| 142 | } | ||
| 143 | break; | ||
| 144 | case R.id.btn_authcode: | ||
| 145 | String usernameStr1 = phonenumber.getText().toString().trim(); | ||
| 146 | if (!PhoneNumCheckUtils.isPhone(usernameStr1)){ | ||
| 147 | AlertUtils.showToast(ElectronicCardValidationActivity.this, "请输入正确的手机号"); | ||
| 148 | }else { | ||
| 149 | anth_6num.requestFocus(); | ||
| 150 | HttpManager.getInstance().authCode(typeStr, usernameStr1, handler, ElectronicCardValidationActivity.this); | ||
| 151 | i = 60; | ||
| 152 | if(thread == null){ | ||
| 153 | thread = new Thread( new ThreadShow()); | ||
| 154 | thread.start(); | ||
| 155 | } | ||
| 156 | |||
| 157 | } | ||
| 158 | |||
| 47 | break; | 159 | break; |
| 48 | } | 160 | } |
| 49 | } | 161 | } |
| 162 | // 线程类 定时器 | ||
| 163 | class ThreadShow implements Runnable { | ||
| 164 | |||
| 165 | @Override | ||
| 166 | public void run() { | ||
| 167 | // TODO Auto-generated method stub | ||
| 168 | while (true) { | ||
| 169 | try { | ||
| 170 | Thread.sleep(1000); | ||
| 171 | Message msg = new Message(); | ||
| 172 | msg.what = 1; | ||
| 173 | handler.sendMessage(msg); | ||
| 174 | System.out.println("send..."); | ||
| 175 | } catch (Exception e) { | ||
| 176 | // TODO Auto-generated catch block | ||
| 177 | e.printStackTrace(); | ||
| 178 | System.out.println("thread error..."); | ||
| 179 | } | ||
| 180 | } | ||
| 181 | } | ||
| 182 | } | ||
| 50 | } | 183 | } |
| 51 | 184 |
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.app.Activity; | 3 | import android.app.Activity; |
| 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.text.TextUtils; | 7 | import android.text.TextUtils; |
| 8 | import android.text.method.HideReturnsTransformationMethod; | 8 | import android.text.method.HideReturnsTransformationMethod; |
| 9 | import android.text.method.PasswordTransformationMethod; | 9 | import android.text.method.PasswordTransformationMethod; |
| 10 | import android.view.View; | 10 | import android.view.View; |
| 11 | import android.widget.Button; | 11 | import android.widget.Button; |
| 12 | import android.widget.EditText; | 12 | import android.widget.EditText; |
| 13 | import android.widget.ImageView; | 13 | import android.widget.ImageView; |
| 14 | 14 | ||
| 15 | import com.hjx.personalcenter.R; | 15 | import com.hjx.personalcenter.R; |
| 16 | import com.hjx.personalcenter.http.HttpCode; | 16 | import com.hjx.personalcenter.http.HttpCode; |
| 17 | import com.hjx.personalcenter.http.HttpManager; | 17 | import com.hjx.personalcenter.http.HttpManager; |
| 18 | import com.hjx.personalcenter.util.AlertUtils; | 18 | import com.hjx.personalcenter.util.AlertUtils; |
| 19 | import com.hjx.personalcenter.util.Judgment; | 19 | import com.hjx.personalcenter.util.Judgment; |
| 20 | import com.hjx.personalcenter.util.PasswordCheckUtils; | 20 | import com.hjx.personalcenter.util.PasswordCheckUtils; |
| 21 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; | 21 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; |
| 22 | 22 | ||
| 23 | import org.json.JSONException; | 23 | import org.json.JSONException; |
| 24 | import org.json.JSONObject; | 24 | import org.json.JSONObject; |
| 25 | 25 | ||
| 26 | /**忘记密码 | 26 | /**忘记密码 |
| 27 | * Created by h on 2017/6/17. | 27 | * Created by h on 2017/6/17. |
| 28 | */ | 28 | */ |
| 29 | 29 | ||
| 30 | public class ForgotPasswordActivity extends Activity implements View.OnClickListener { | 30 | public class ForgotPasswordActivity extends Activity implements View.OnClickListener { |
| 31 | private ImageView back_forgit,iv_pwd_change; | 31 | private ImageView back_forgit,iv_pwd_change; |
| 32 | private EditText forot_pwd_phone,forot_pwd_anthcode,forot_pwd_pwd,forot_pwd_pwd2; | 32 | private EditText forot_pwd_phone,forot_pwd_anthcode,forot_pwd_pwd,forot_pwd_pwd2; |
| 33 | private Button forot_pwd_sub,forot_pwd_getanthcode; | 33 | private Button forot_pwd_sub,forot_pwd_getanthcode; |
| 34 | private String forot_pwd_phone1; | 34 | private String forot_pwd_phone1; |
| 35 | private String forot_pwd_anthcode1; | 35 | private String forot_pwd_anthcode1; |
| 36 | private String forot_pwd_pwd3; | 36 | private String forot_pwd_pwd3; |
| 37 | private String forot_pwd_pwd4; | 37 | private String forot_pwd_pwd4; |
| 38 | private String typeStr = "login"; | 38 | private String typeStr = "login"; |
| 39 | private int i = 0; | 39 | private int i = 0; |
| 40 | private Thread thread; | 40 | private Thread thread; |
| 41 | public static Boolean showPassword = false; | 41 | public static Boolean showPassword = false; |
| 42 | 42 | ||
| 43 | Handler handler = new Handler() { | 43 | Handler handler = new Handler() { |
| 44 | @Override | 44 | @Override |
| 45 | public void handleMessage(Message msg) { | 45 | public void handleMessage(Message msg) { |
| 46 | super.handleMessage(msg); | 46 | super.handleMessage(msg); |
| 47 | try { | 47 | try { |
| 48 | JSONObject jsonObject; | 48 | JSONObject jsonObject; |
| 49 | String status; | 49 | String status; |
| 50 | switch (msg.what) { | 50 | switch (msg.what) { |
| 51 | case HttpCode.PASSWORD_SUCESS: | 51 | case HttpCode.PASSWORD_SUCESS: |
| 52 | jsonObject = (JSONObject) msg.obj; | 52 | jsonObject = (JSONObject) msg.obj; |
| 53 | status = jsonObject.getString("status"); | 53 | status = jsonObject.getString("status"); |
| 54 | // AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); | 54 | // AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); |
| 55 | if (status.equals("100")) { | 55 | if (status.equals("100")) { |
| 56 | AlertUtils.showToast(ForgotPasswordActivity.this,"密码修改成功"); | 56 | AlertUtils.showToast(ForgotPasswordActivity.this,"密码修改成功"); |
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | break; | 59 | break; |
| 60 | case HttpCode.PASSWORD_FAIL: | 60 | case HttpCode.PASSWORD_FAIL: |
| 61 | jsonObject = (JSONObject) msg.obj; | 61 | jsonObject = (JSONObject) msg.obj; |
| 62 | AlertUtils.showToast(ForgotPasswordActivity.this, "密码修改失败,请检查网络是否畅通。"); | 62 | AlertUtils.showToast(ForgotPasswordActivity.this, "密码修改失败,请检查网络是否畅通。"); |
| 63 | break; | 63 | break; |
| 64 | case HttpCode.AUTHCODE_SUCESS1: | 64 | case HttpCode.AUTHCODE_SUCESS1: |
| 65 | jsonObject = (JSONObject) msg.obj; | 65 | jsonObject = (JSONObject) msg.obj; |
| 66 | status = jsonObject.optString("status"); | 66 | status = jsonObject.optString("status"); |
| 67 | if (status.equals("100")) { | 67 | if (status.equals("100")) { |
| 68 | AlertUtils.showToast(ForgotPasswordActivity.this, "验证码发送成功"); | 68 | AlertUtils.showToast(ForgotPasswordActivity.this, "验证码发送成功"); |
| 69 | } | 69 | } |
| 70 | //AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); | 70 | //AlertUtils.showToast(ForgotPassword.this, jsonObject.optString("message")); |
| 71 | break; | 71 | break; |
| 72 | case HttpCode.AUTHCODE_FAIL1: | 72 | case HttpCode.AUTHCODE_FAIL1: |
| 73 | jsonObject = (JSONObject) msg.obj; | 73 | jsonObject = (JSONObject) msg.obj; |
| 74 | AlertUtils.showToast(ForgotPasswordActivity.this, jsonObject.optString("验证码发送失败,请检查网络")); | 74 | AlertUtils.showToast(ForgotPasswordActivity.this, jsonObject.optString("验证码发送失败,请检查网络")); |
| 75 | break; | 75 | break; |
| 76 | case HttpCode.IS_REFISTER: | 76 | case HttpCode.IS_REFISTER: |
| 77 | jsonObject = (JSONObject) msg.obj; | 77 | jsonObject = (JSONObject) msg.obj; |
| 78 | status = jsonObject.getString("status"); | 78 | status = jsonObject.getString("status"); |
| 79 | if (status.equals("true")) { | 79 | if (status.equals("true")) { |
| 80 | getauthcode(); | 80 | getauthcode(); |
| 81 | // i = 60; | 81 | // i = 60; |
| 82 | // new Thread(new ForgotPassword.ThreadShow()).start(); | 82 | // new Thread(new ForgotPassword.ThreadShow()).start(); |
| 83 | 83 | ||
| 84 | }else { | 84 | }else { |
| 85 | AlertUtils.showToast(ForgotPasswordActivity.this, "该手机号没有注册"); | 85 | AlertUtils.showToast(ForgotPasswordActivity.this, "该手机号没有注册"); |
| 86 | } | 86 | } |
| 87 | break; | 87 | break; |
| 88 | case 1: | 88 | case 1: |
| 89 | forot_pwd_getanthcode.setEnabled(false); | 89 | forot_pwd_getanthcode.setEnabled(false); |
| 90 | forot_pwd_getanthcode.setClickable(false); | 90 | forot_pwd_getanthcode.setClickable(false); |
| 91 | forot_pwd_getanthcode.setText(Integer.toString(i--)+" s"); | 91 | forot_pwd_getanthcode.setText(Integer.toString(i--)+" s"); |
| 92 | if (i<=0){ | 92 | if (i<=0){ |
| 93 | forot_pwd_getanthcode.setEnabled(true); | 93 | forot_pwd_getanthcode.setEnabled(true); |
| 94 | forot_pwd_getanthcode.setClickable(true); | 94 | forot_pwd_getanthcode.setClickable(true); |
| 95 | forot_pwd_getanthcode.setText("获取验证码"); | 95 | forot_pwd_getanthcode.setText("获取验证码"); |
| 96 | 96 | ||
| 97 | } | 97 | } |
| 98 | break; | 98 | break; |
| 99 | } | 99 | } |
| 100 | } catch (JSONException e) { | 100 | } catch (JSONException e) { |
| 101 | e.printStackTrace(); | 101 | e.printStackTrace(); |
| 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_forgetpsword); | 108 | setContentView(R.layout.activity_forgetpsword); |
| 109 | initView(); | 109 | initView(); |
| 110 | setLister(); | 110 | setLister(); |
| 111 | } | 111 | } |
| 112 | //获取验证码 | 112 | //获取验证码 |
| 113 | private void getauthcode() { | 113 | private void getauthcode() { |
| 114 | forot_pwd_anthcode.requestFocus(); | 114 | forot_pwd_anthcode.requestFocus(); |
| 115 | HttpManager.getInstance().forgetauthCode(typeStr, forot_pwd_phone1, handler, this); | 115 | HttpManager.getInstance().authCode(typeStr, forot_pwd_phone1, handler, this); |
| 116 | i = 60; | 116 | i = 60; |
| 117 | if(thread == null){ | 117 | if(thread == null){ |
| 118 | thread = new Thread( new ThreadShow()); | 118 | thread = new Thread( new ThreadShow()); |
| 119 | thread.start(); | 119 | thread.start(); |
| 120 | } | 120 | } |
| 121 | 121 | ||
| 122 | } | 122 | } |
| 123 | 123 | ||
| 124 | private void initView() { | 124 | private void initView() { |
| 125 | forot_pwd_phone = (EditText) findViewById(R.id.et_phonenumber); | 125 | forot_pwd_phone = (EditText) findViewById(R.id.et_phonenumber); |
| 126 | forot_pwd_anthcode = (EditText) findViewById(R.id.et_authcode); | 126 | forot_pwd_anthcode = (EditText) findViewById(R.id.et_authcode); |
| 127 | forot_pwd_pwd = (EditText) findViewById(R.id.et_newpassword); | 127 | forot_pwd_pwd = (EditText) findViewById(R.id.et_newpassword); |
| 128 | forot_pwd_pwd2 = (EditText) findViewById(R.id.et_again_newpassword); | 128 | forot_pwd_pwd2 = (EditText) findViewById(R.id.et_again_newpassword); |
| 129 | forot_pwd_sub = (Button) findViewById(R.id.btn_ok); | 129 | forot_pwd_sub = (Button) findViewById(R.id.btn_ok); |
| 130 | forot_pwd_getanthcode = (Button) findViewById(R.id.btn_authcode); | 130 | forot_pwd_getanthcode = (Button) findViewById(R.id.btn_authcode); |
| 131 | iv_pwd_change=(ImageView) findViewById(R.id.iv_pwd_change); | 131 | iv_pwd_change=(ImageView) findViewById(R.id.iv_pwd_change); |
| 132 | back_forgit= (ImageView) findViewById(R.id.cancel); | 132 | back_forgit= (ImageView) findViewById(R.id.cancel); |
| 133 | } | 133 | } |
| 134 | private void setLister() { | 134 | private void setLister() { |
| 135 | iv_pwd_change.setOnClickListener(this); | 135 | iv_pwd_change.setOnClickListener(this); |
| 136 | back_forgit.setOnClickListener(this); | 136 | back_forgit.setOnClickListener(this); |
| 137 | forot_pwd_sub.setOnClickListener(this); | 137 | forot_pwd_sub.setOnClickListener(this); |
| 138 | forot_pwd_getanthcode.setOnClickListener(this); | 138 | forot_pwd_getanthcode.setOnClickListener(this); |
| 139 | 139 | ||
| 140 | } | 140 | } |
| 141 | 141 | ||
| 142 | 142 | ||
| 143 | @Override | 143 | @Override |
| 144 | public void onClick(View view) { | 144 | public void onClick(View view) { |
| 145 | switch (view.getId()){ | 145 | switch (view.getId()){ |
| 146 | case R.id.btn_ok: | 146 | case R.id.btn_ok: |
| 147 | forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); | 147 | forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); |
| 148 | forot_pwd_anthcode1 = forot_pwd_anthcode.getText().toString().trim(); | 148 | forot_pwd_anthcode1 = forot_pwd_anthcode.getText().toString().trim(); |
| 149 | forot_pwd_pwd3 = forot_pwd_pwd.getText().toString().trim(); | 149 | forot_pwd_pwd3 = forot_pwd_pwd.getText().toString().trim(); |
| 150 | forot_pwd_pwd4 = forot_pwd_pwd2.getText().toString().trim(); | 150 | forot_pwd_pwd4 = forot_pwd_pwd2.getText().toString().trim(); |
| 151 | if (TextUtils.isEmpty(forot_pwd_phone1)|| | 151 | if (TextUtils.isEmpty(forot_pwd_phone1)|| |
| 152 | TextUtils.isEmpty(forot_pwd_pwd3) || TextUtils.isEmpty(forot_pwd_pwd4)){ | 152 | TextUtils.isEmpty(forot_pwd_pwd3) || TextUtils.isEmpty(forot_pwd_pwd4)){ |
| 153 | AlertUtils.showToast(ForgotPasswordActivity.this, "请将必填项填写完整"); | 153 | AlertUtils.showToast(ForgotPasswordActivity.this, "请将必填项填写完整"); |
| 154 | return; | 154 | return; |
| 155 | }else if (Judgment.getInstance().isPhoneNum(forot_pwd_phone1)){ | 155 | }else if (Judgment.getInstance().isPhoneNum(forot_pwd_phone1)){ |
| 156 | AlertUtils.showToast(ForgotPasswordActivity.this, "手机号码输入有误"); | 156 | AlertUtils.showToast(ForgotPasswordActivity.this, "手机号码输入有误"); |
| 157 | 157 | ||
| 158 | } | 158 | } |
| 159 | else if(forot_pwd_pwd3.length()<8||forot_pwd_pwd4.length()<8){ | 159 | else if(forot_pwd_pwd3.length()<8||forot_pwd_pwd4.length()<8){ |
| 160 | AlertUtils.showToast(ForgotPasswordActivity.this, "密码不能少于8位"); | 160 | AlertUtils.showToast(ForgotPasswordActivity.this, "密码不能少于8位"); |
| 161 | }else if(!forot_pwd_pwd3.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)||!forot_pwd_pwd4.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){ | 161 | }else if(!forot_pwd_pwd3.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)||!forot_pwd_pwd4.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){ |
| 162 | AlertUtils.showToast(ForgotPasswordActivity.this, "密码必须由英文和数字组成"); | 162 | AlertUtils.showToast(ForgotPasswordActivity.this, "密码必须由英文和数字组成"); |
| 163 | } | 163 | } |
| 164 | else if (!forot_pwd_pwd3.equals(forot_pwd_pwd4)){ | 164 | else if (!forot_pwd_pwd3.equals(forot_pwd_pwd4)){ |
| 165 | AlertUtils.showToast(ForgotPasswordActivity.this, "两次输入的密码不一致"); | 165 | AlertUtils.showToast(ForgotPasswordActivity.this, "两次输入的密码不一致"); |
| 166 | return; | 166 | return; |
| 167 | }else { | 167 | }else { |
| 168 | //忘记密码接口 | 168 | //忘记密码接口 |
| 169 | HttpManager.getInstance().forgetpassword(this,forot_pwd_phone1,forot_pwd_pwd3,forot_pwd_anthcode1,handler); | 169 | HttpManager.getInstance().forgetpassword(this,forot_pwd_phone1,forot_pwd_pwd3,forot_pwd_anthcode1,handler); |
| 170 | } | 170 | } |
| 171 | break; | 171 | break; |
| 172 | case R.id.btn_authcode: | 172 | case R.id.btn_authcode: |
| 173 | forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); | 173 | forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); |
| 174 | if (!PhoneNumCheckUtils.isPhone(forot_pwd_phone1)){ | 174 | if (!PhoneNumCheckUtils.isPhone(forot_pwd_phone1)){ |
| 175 | AlertUtils.showToast(ForgotPasswordActivity.this, "请输入正确的手机号"); | 175 | AlertUtils.showToast(ForgotPasswordActivity.this, "请输入正确的手机号"); |
| 176 | }else { | 176 | }else { |
| 177 | forot_pwd_anthcode.requestFocus(); | 177 | forot_pwd_anthcode.requestFocus(); |
| 178 | ifregister(); | 178 | ifregister(); |
| 179 | 179 | ||
| 180 | } | 180 | } |
| 181 | 181 | ||
| 182 | break; | 182 | break; |
| 183 | case R.id.iv_pwd_change: | 183 | case R.id.iv_pwd_change: |
| 184 | if(showPassword){//显示密码 | 184 | if(showPassword){//显示密码 |
| 185 | showPassword = !showPassword; | 185 | showPassword = !showPassword; |
| 186 | iv_pwd_change.setImageResource(R.mipmap.pwd_open); | 186 | iv_pwd_change.setImageResource(R.mipmap.pwd_open); |
| 187 | forot_pwd_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); | 187 | forot_pwd_pwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); |
| 188 | forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length()); | 188 | forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length()); |
| 189 | }else{//隐藏密码 | 189 | }else{//隐藏密码 |
| 190 | showPassword = !showPassword; | 190 | showPassword = !showPassword; |
| 191 | iv_pwd_change.setImageResource(R.mipmap.pwd_hide); | 191 | iv_pwd_change.setImageResource(R.mipmap.pwd_hide); |
| 192 | forot_pwd_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); | 192 | forot_pwd_pwd.setTransformationMethod(PasswordTransformationMethod.getInstance()); |
| 193 | forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length()); | 193 | forot_pwd_pwd.setSelection(forot_pwd_pwd.getText().toString().length()); |
| 194 | } | 194 | } |
| 195 | break; | 195 | break; |
| 196 | 196 | ||
| 197 | case R.id.cancel: | 197 | case R.id.cancel: |
| 198 | finish(); | 198 | finish(); |
| 199 | break; | 199 | break; |
| 200 | } | 200 | } |
| 201 | } | 201 | } |
| 202 | //是否注册 | 202 | //是否注册 |
| 203 | private void ifregister() { | 203 | private void ifregister() { |
| 204 | forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); | 204 | forot_pwd_phone1 = forot_pwd_phone.getText().toString().trim(); |
| 205 | HttpManager.getInstance().isregistered(forot_pwd_phone1, handler, this); | 205 | HttpManager.getInstance().isregistered(forot_pwd_phone1, handler, this); |
| 206 | } | 206 | } |
| 207 | // 线程类 定时器 | 207 | // 线程类 定时器 |
| 208 | class ThreadShow implements Runnable { | 208 | class ThreadShow implements Runnable { |
| 209 | 209 | ||
| 210 | @Override | 210 | @Override |
| 211 | public void run() { | 211 | public void run() { |
| 212 | // TODO Auto-generated method stub | 212 | // TODO Auto-generated method stub |
| 213 | while (true) { | 213 | while (true) { |
| 214 | try { | 214 | try { |
| 215 | Thread.sleep(1000); | 215 | Thread.sleep(1000); |
| 216 | Message msg = new Message(); | 216 | Message msg = new Message(); |
| 217 | msg.what = 1; | 217 | msg.what = 1; |
| 218 | handler.sendMessage(msg); | 218 | handler.sendMessage(msg); |
| 219 | System.out.println("send..."); | 219 | System.out.println("send..."); |
| 220 | } catch (Exception e) { | 220 | } catch (Exception e) { |
| 221 | // TODO Auto-generated catch block | 221 | // TODO Auto-generated catch block |
| 222 | e.printStackTrace(); | 222 | e.printStackTrace(); |
| 223 | System.out.println("thread error..."); | 223 | System.out.println("thread error..."); |
| 224 | } | 224 | } |
| 225 | } | 225 | } |
| 226 | } | 226 | } |
| 227 | } | 227 | } |
| 228 | } | 228 | } |
| 229 | 229 |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/CitysListDialog.java
| File was created | 1 | package com.hjx.personalcenter.customdialog; | |
| 2 | |||
| 3 | import android.content.Context; | ||
| 4 | import android.graphics.Color; | ||
| 5 | import android.os.Bundle; | ||
| 6 | import android.view.Gravity; | ||
| 7 | import android.view.LayoutInflater; | ||
| 8 | import android.view.View; | ||
| 9 | import android.view.ViewGroup; | ||
| 10 | import android.widget.AdapterView; | ||
| 11 | import android.widget.ArrayAdapter; | ||
| 12 | import android.widget.ListView; | ||
| 13 | |||
| 14 | import com.hjx.personalcenter.R; | ||
| 15 | import com.hjx.personalcenter.db.SaveParam; | ||
| 16 | import com.hjx.personalcenter.http.HttpManager; | ||
| 17 | import com.mylhyl.circledialog.BaseCircleDialog; | ||
| 18 | import com.mylhyl.circledialog.res.values.CircleDimen; | ||
| 19 | |||
| 20 | import java.util.ArrayList; | ||
| 21 | |||
| 22 | /** | ||
| 23 | * 自定义年级列表对话框 | ||
| 24 | * Created by h on 2017/8/10. | ||
| 25 | */ | ||
| 26 | |||
| 27 | public class CitysListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | ||
| 28 | ArrayAdapter listadapter; | ||
| 29 | ListView listView; | ||
| 30 | ArrayList<String> data = new ArrayList<>(); | ||
| 31 | |||
| 32 | public static CitysListDialog getInstance() { | ||
| 33 | CitysListDialog dialogFragment = new CitysListDialog(); | ||
| 34 | dialogFragment.setCanceledBack(true); | ||
| 35 | dialogFragment.setCanceledOnTouchOutside(true); | ||
| 36 | dialogFragment.setRadius(CircleDimen.RADIUS); | ||
| 37 | dialogFragment.setWidth(0.5f); | ||
| 38 | dialogFragment.setGravity(Gravity.CENTER); | ||
| 39 | dialogFragment.setBackgroundColor(Color.WHITE); | ||
| 40 | return dialogFragment; | ||
| 41 | } | ||
| 42 | |||
| 43 | @Override | ||
| 44 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | ||
| 45 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); | ||
| 46 | } | ||
| 47 | |||
| 48 | @Override | ||
| 49 | public void onActivityCreated(Bundle savedInstanceState) { | ||
| 50 | super.onActivityCreated(savedInstanceState); | ||
| 51 | listView = (ListView) getView().findViewById(R.id.listadapter); | ||
| 52 | String provinces = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.CITYS); | ||
| 53 | if (provinces != null) { | ||
| 54 | |||
| 55 | for (int i = 0; i < provinces.split(",").length; i++) { | ||
| 56 | String[] itmt = provinces.split(","); | ||
| 57 | data.add(itmt[i] + "区"); | ||
| 58 | //data.add(i,provinces.replaceAll(",","省")); | ||
| 59 | |||
| 60 | } | ||
| 61 | } else { | ||
| 62 | HttpManager.getInstance().provices(getActivity()); | ||
| 63 | } | ||
| 64 | |||
| 65 | listadapter = new ArrayAdapter(getActivity(), R.layout.custom_adilog_list_item, R.id.list_items, data); | ||
| 66 | listView.setAdapter(listadapter); | ||
| 67 | listView.setOnItemClickListener(this); | ||
| 68 | |||
| 69 | } | ||
| 70 | |||
| 71 | @Override | ||
| 72 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | ||
| 73 | //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); | ||
| 74 | switch (position){ | ||
| 75 | |||
| 76 | |||
| 77 | |||
| 78 | } | ||
| 79 | |||
| 80 | |||
| 81 | |||
| 82 | dismiss(); | ||
| 83 | |||
| 84 | } | ||
| 85 | } | ||
| 86 |
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.content.Context; | 3 | import android.content.Context; |
| 4 | import android.content.Intent; | 4 | import android.content.Intent; |
| 5 | import android.graphics.Color; | 5 | import android.graphics.Color; |
| 6 | import android.os.Bundle; | 6 | import android.os.Bundle; |
| 7 | import android.view.Gravity; | 7 | import android.view.Gravity; |
| 8 | import android.view.LayoutInflater; | 8 | import android.view.LayoutInflater; |
| 9 | import android.view.View; | 9 | import android.view.View; |
| 10 | import android.view.ViewGroup; | 10 | import android.view.ViewGroup; |
| 11 | 11 | ||
| 12 | import com.hjx.personalcenter.R; | 12 | import com.hjx.personalcenter.R; |
| 13 | import com.hjx.personalcenter.activity.ElectronicCardValidationActivity; | 13 | import com.hjx.personalcenter.activity.ElectronicCardValidationActivity; |
| 14 | import com.hjx.personalcenter.db.Content; | ||
| 14 | import com.mylhyl.circledialog.BaseCircleDialog; | 15 | import com.mylhyl.circledialog.BaseCircleDialog; |
| 15 | import com.mylhyl.circledialog.res.values.CircleDimen; | 16 | import com.mylhyl.circledialog.res.values.CircleDimen; |
| 16 | 17 | ||
| 17 | /** | 18 | /** |
| 18 | * Created by h on 2017/8/10. | 19 | * Created by h on 2017/8/10. |
| 19 | */ | 20 | */ |
| 20 | 21 | ||
| 21 | public class ElectronicCardDialog extends BaseCircleDialog { | 22 | public class ElectronicCardDialog extends BaseCircleDialog { |
| 22 | public static ElectronicCardDialog getInstance() { | 23 | public static ElectronicCardDialog getInstance() { |
| 23 | ElectronicCardDialog dialogFragment = new ElectronicCardDialog(); | 24 | ElectronicCardDialog dialogFragment = new ElectronicCardDialog(); |
| 24 | dialogFragment.setCanceledBack(true); | 25 | dialogFragment.setCanceledBack(true); |
| 25 | dialogFragment.setCanceledOnTouchOutside(true); | 26 | dialogFragment.setCanceledOnTouchOutside(true); |
| 26 | dialogFragment.setRadius(CircleDimen.RADIUS); | 27 | dialogFragment.setRadius(CircleDimen.RADIUS); |
| 27 | dialogFragment.setWidth(0.8f); | 28 | dialogFragment.setWidth(0.8f); |
| 28 | dialogFragment.setGravity(Gravity.CENTER); | 29 | dialogFragment.setGravity(Gravity.CENTER); |
| 29 | dialogFragment.setBackgroundColor(Color.WHITE); | 30 | dialogFragment.setBackgroundColor(Color.WHITE); |
| 30 | return dialogFragment; | 31 | return dialogFragment; |
| 31 | } | 32 | } |
| 32 | @Override | 33 | @Override |
| 33 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 34 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { |
| 34 | return inflater.inflate(R.layout.custom_adilog_electroniccard, container, false); | 35 | return inflater.inflate(R.layout.custom_adilog_electroniccard, container, false); |
| 35 | } | 36 | } |
| 36 | @Override | 37 | @Override |
| 37 | public void onActivityCreated(Bundle savedInstanceState) { | 38 | public void onActivityCreated(Bundle savedInstanceState) { |
| 38 | super.onActivityCreated(savedInstanceState); | 39 | super.onActivityCreated(savedInstanceState); |
| 39 | getView().findViewById(R.id.fill_card).setOnClickListener(new View.OnClickListener() { | 40 | getView().findViewById(R.id.fill_card).setOnClickListener(new View.OnClickListener() { |
| 40 | @Override | 41 | @Override |
| 41 | public void onClick(View v) { | 42 | public void onClick(View v) { |
| 42 | //有保卡信息直接进入开始界面,没有则跳转保卡信息 | 43 | //有保卡信息直接进入开始界面,没有则跳转保卡信息 |
| 43 | // Intent intent = new Intent(); | 44 | // Intent intent = new Intent(); |
| 44 | // intent.setClass(getActivity(),TheStartPageActivity.class); | 45 | // intent.setClass(getActivity(),TheStartPageActivity.class); |
| 45 | // startActivity(intent); | 46 | // startActivity(intent); |
| 46 | // getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 47 | // getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); |
| 48 | Content.authcodeflag =1; | ||
| 47 | Intent intent = new Intent(); | 49 | Intent intent = new Intent(); |
| 48 | intent.setClass(getActivity(),ElectronicCardValidationActivity.class); | 50 | intent.setClass(getActivity(),ElectronicCardValidationActivity.class); |
| 49 | startActivity(intent); | 51 | startActivity(intent); |
| 50 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 52 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); |
| 51 | 53 | ||
| 52 | } | 54 | } |
| 53 | }); | 55 | }); |
| 54 | 56 | ||
| 55 | } | 57 | } |
| 56 | 58 | ||
| 57 | } | 59 | } |
| 58 | 60 |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ProvinceListDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; |
| 2 | 2 | ||
| 3 | import android.content.Context; | 3 | import android.content.Context; |
| 4 | import android.graphics.Color; | 4 | import android.graphics.Color; |
| 5 | import android.os.Bundle; | 5 | import android.os.Bundle; |
| 6 | import android.view.Gravity; | 6 | import android.view.Gravity; |
| 7 | import android.view.LayoutInflater; | 7 | import android.view.LayoutInflater; |
| 8 | import android.view.View; | 8 | import android.view.View; |
| 9 | import android.view.ViewGroup; | 9 | import android.view.ViewGroup; |
| 10 | import android.widget.AdapterView; | 10 | import android.widget.AdapterView; |
| 11 | import android.widget.ArrayAdapter; | 11 | import android.widget.ArrayAdapter; |
| 12 | import android.widget.ListView; | 12 | import android.widget.ListView; |
| 13 | import android.widget.Toast; | ||
| 14 | 13 | ||
| 15 | import com.hjx.personalcenter.R; | 14 | import com.hjx.personalcenter.R; |
| 16 | import com.hjx.personalcenter.db.SaveParam; | 15 | import com.hjx.personalcenter.db.SaveParam; |
| 16 | import com.hjx.personalcenter.http.HttpManager; | ||
| 17 | import com.mylhyl.circledialog.BaseCircleDialog; | 17 | import com.mylhyl.circledialog.BaseCircleDialog; |
| 18 | import com.mylhyl.circledialog.res.values.CircleDimen; | 18 | import com.mylhyl.circledialog.res.values.CircleDimen; |
| 19 | 19 | ||
| 20 | import java.util.ArrayList; | 20 | import java.util.ArrayList; |
| 21 | 21 | ||
| 22 | /**自定义年级列表对话框 | 22 | /** |
| 23 | * 自定义年级列表对话框 | ||
| 23 | * Created by h on 2017/8/10. | 24 | * Created by h on 2017/8/10. |
| 24 | */ | 25 | */ |
| 25 | 26 | ||
| 26 | public class ProvinceListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 27 | public class ProvinceListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { |
| 27 | ArrayAdapter listadapter; | 28 | ArrayAdapter listadapter; |
| 28 | ListView listView; | 29 | ListView listView; |
| 29 | ArrayList<String> data = new ArrayList<>(); | 30 | ArrayList<String> data = new ArrayList<>(); |
| 31 | |||
| 30 | public static ProvinceListDialog getInstance() { | 32 | public static ProvinceListDialog getInstance() { |
| 31 | ProvinceListDialog dialogFragment = new ProvinceListDialog(); | 33 | ProvinceListDialog dialogFragment = new ProvinceListDialog(); |
| 32 | dialogFragment.setCanceledBack(true); | 34 | dialogFragment.setCanceledBack(true); |
| 33 | dialogFragment.setCanceledOnTouchOutside(true); | 35 | dialogFragment.setCanceledOnTouchOutside(true); |
| 34 | dialogFragment.setRadius(CircleDimen.RADIUS); | 36 | dialogFragment.setRadius(CircleDimen.RADIUS); |
| 35 | dialogFragment.setWidth(0.5f); | 37 | dialogFragment.setWidth(0.5f); |
| 36 | dialogFragment.setGravity(Gravity.CENTER); | 38 | dialogFragment.setGravity(Gravity.CENTER); |
| 37 | dialogFragment.setBackgroundColor(Color.WHITE); | 39 | dialogFragment.setBackgroundColor(Color.WHITE); |
| 38 | return dialogFragment; | 40 | return dialogFragment; |
| 39 | } | 41 | } |
| 42 | |||
| 40 | @Override | 43 | @Override |
| 41 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 44 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { |
| 42 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); | 45 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); |
| 43 | } | 46 | } |
| 47 | |||
| 44 | @Override | 48 | @Override |
| 45 | public void onActivityCreated(Bundle savedInstanceState) { | 49 | public void onActivityCreated(Bundle savedInstanceState) { |
| 46 | super.onActivityCreated(savedInstanceState); | 50 | super.onActivityCreated(savedInstanceState); |
| 47 | listView = (ListView) getView().findViewById(R.id.listadapter); | 51 | listView = (ListView) getView().findViewById(R.id.listadapter); |
| 48 | String ranging = SaveParam.getInstance().getCustomizeParam(getActivity(),SaveParam.PROVINCES); | 52 | String provinces = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.PROVINCES); |
| 49 | for (int i =0 ; i<ranging.split(",").length;i++){ | 53 | if (provinces != null) { |
| 50 | data.add(i,ranging.replaceAll(",","省")); | 54 | |
| 55 | for (int i = 0; i < provinces.split(",").length; i++) { | ||
| 56 | String[] itmt = provinces.split(","); | ||
| 57 | data.add(itmt[i] + "省"); | ||
| 58 | //data.add(i,provinces.replaceAll(",","省")); | ||
| 51 | 59 | ||
| 60 | } | ||
| 61 | } else { | ||
| 62 | HttpManager.getInstance().provices(getActivity()); | ||
| 52 | } | 63 | } |
| 53 | 64 | ||
| 54 | listadapter = new ArrayAdapter(getActivity(),R.layout.custom_adilog_list_item,R.id.list_items,data); | 65 | listadapter = new ArrayAdapter(getActivity(), R.layout.custom_adilog_list_item, R.id.list_items, data); |
| 55 | listView.setAdapter(listadapter); | 66 | listView.setAdapter(listadapter); |
| 56 | listView.setOnItemClickListener(this); | 67 | listView.setOnItemClickListener(this); |
| 57 | 68 | ||
| 58 | } | 69 | } |
| 59 | 70 | ||
| 60 | @Override | 71 | @Override |
| 61 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 72 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { |
| 62 | Toast.makeText(getActivity(),"你点击了第"+position+"个",Toast.LENGTH_LONG).show(); | 73 | //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); |
| 74 | switch (position){ | ||
| 75 | |||
| 76 | } | ||
| 77 | |||
| 78 | |||
| 63 | 79 | ||
| 64 | dismiss(); | 80 | dismiss(); |
| 65 | 81 | ||
| 66 | } | 82 | } |
| 67 | } | 83 | } |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/db/Content.java
| File was created | 1 | package com.hjx.personalcenter.db; | |
| 2 | |||
| 3 | /** | ||
| 4 | * Created by h on 2017/8/17. | ||
| 5 | */ | ||
| 6 | |||
| 7 | public class Content { | ||
| 8 | public static int authcodeflag;//1是进入填写保卡信息验证,2是修改保卡手机号验证,3是更改绑定验证 | ||
| 9 | } | ||
| 10 |
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 | //个人信息 | ||
| 17 | //电子保卡信息 | ||
| 18 | public static String CARDPHONE = "cardphone";//保卡手机号 | ||
| 19 | public static String CUNSTEMNAME = "cunstemname";//客户姓名 | ||
| 20 | public static String ADRESSCUNSTEM = "adresscunstem";//客户地址 | ||
| 21 | public static String SHOPTIME = "shoptime";//购买时间 | ||
| 22 | public static String SHOPADRESS = "shopadress";//购买地址 | ||
| 23 | public static String SHOPTLEPHONE = "shoptlephone";//售后电话 | ||
| 24 | |||
| 25 | //省市区参数 | ||
| 16 | public static String PROVINCES = "provinces";//省 | 26 | public static String PROVINCES = "provinces";//省 |
| 17 | public static String OBJECTIVE = "objective"; | 27 | public static String CITYS = "citys"; |
| 18 | 28 | ||
| 19 | 29 | ||
| 20 | public void saveLoginParam(Context context,String spname, String spstr) { | 30 | public void saveLoginParam(Context context,String spname, String spstr) { |
| 21 | SharedPreferences sp = context.getSharedPreferences("loginparam", | 31 | SharedPreferences sp = context.getSharedPreferences("loginparam", |
| 22 | Activity.MODE_PRIVATE); | 32 | Activity.MODE_PRIVATE); |
| 23 | 33 | ||
| 24 | sp.edit().putString(spname, spstr).commit(); | 34 | sp.edit().putString(spname, spstr).commit(); |
| 25 | } | 35 | } |
| 26 | 36 | ||
| 27 | public String getLoginParam(Context context,String spname) { | 37 | public String getLoginParam(Context context,String spname) { |
| 28 | SharedPreferences sp = context.getSharedPreferences("loginparam", | 38 | SharedPreferences sp = context.getSharedPreferences("loginparam", |
| 29 | Activity.MODE_PRIVATE); | 39 | Activity.MODE_PRIVATE); |
| 30 | String param = sp.getString(spname, null); | 40 | String param = sp.getString(spname, null); |
| 31 | return param; | 41 | return param; |
| 32 | } | 42 | } |
| 33 | public void clearData(Context context) { | 43 | public void clearData(Context context) { |
| 34 | SharedPreferences sp = context.getSharedPreferences("loginparam", | 44 | SharedPreferences sp = context.getSharedPreferences("loginparam", |
| 35 | Activity.MODE_PRIVATE); | 45 | Activity.MODE_PRIVATE); |
| 36 | sp.edit().clear().commit(); | 46 | sp.edit().clear().commit(); |
| 37 | } | 47 | } |
| 38 | 48 | ||
| 39 | public void saveCustomizeParam(Context context,String spname, String spstr) { | 49 | public void saveCustomizeParam(Context context,String spname, String spstr) { |
| 40 | SharedPreferences sp = context.getSharedPreferences("presoninfo", | 50 | SharedPreferences sp = context.getSharedPreferences("presoninfo", |
| 41 | Activity.MODE_PRIVATE); | 51 | Activity.MODE_PRIVATE); |
| 42 | 52 | ||
| 43 | sp.edit().putString(spname, spstr).commit(); | 53 | sp.edit().putString(spname, spstr).commit(); |
| 44 | 54 | ||
| 45 | } | 55 | } |
| 46 | 56 | ||
| 47 | public String getCustomizeParam(Context context,String spname) { | 57 | public String getCustomizeParam(Context context,String spname) { |
| 48 | SharedPreferences sp = context.getSharedPreferences("presoninfo", | 58 | SharedPreferences sp = context.getSharedPreferences("presoninfo", |
| 49 | Activity.MODE_PRIVATE); | 59 | Activity.MODE_PRIVATE); |
| 50 | String param = sp.getString(spname, null); | 60 | String param = sp.getString(spname, null); |
| 51 | return param; | 61 | return param; |
| 52 | } | 62 | } |
| 53 | 63 | ||
| 54 | public void clearCustomizeParam(Context context ){ | 64 | public void clearCustomizeParam(Context context ){ |
| 55 | SharedPreferences sp = context.getSharedPreferences("presoninfo", | 65 | SharedPreferences sp = context.getSharedPreferences("presoninfo", |
| 56 | Activity.MODE_PRIVATE); | 66 | Activity.MODE_PRIVATE); |
| 57 | sp.edit().clear().commit(); | 67 | sp.edit().clear().commit(); |
| 58 | } | 68 | } |
| 59 | } | 69 | } |
| 60 | 70 |
PersonalCenter/app/src/main/java/com/hjx/personalcenter/http/HttpClient.java
| 1 | package com.hjx.personalcenter.http; | 1 | package com.hjx.personalcenter.http; |
| 2 | 2 | ||
| 3 | 3 | ||
| 4 | import com.loopj.android.http.AsyncHttpClient; | 4 | import com.loopj.android.http.AsyncHttpClient; |
| 5 | 5 | ||
| 6 | public class HttpClient extends AsyncHttpClient { | 6 | public class HttpClient extends AsyncHttpClient { |
| 7 | private static HttpClient client; | 7 | private static HttpClient client; |
| 8 | 8 | ||
| 9 | public static HttpClient getInstance() { | 9 | public static HttpClient getInstance() { |
| 10 | if(client == null) { | 10 | if(client == null) { |
| 11 | client = new HttpClient(); | 11 | client = new HttpClient(); |
| 12 | } | 12 | } |
| 13 | return client; | 13 | return client; |
| 14 | } | 14 | } |
| 15 | private HttpClient() {} | 15 | private HttpClient() {} |
| 16 | 16 | ||
| 17 | |||
| 17 | } | 18 | } |
| 18 | 19 |
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 | //提交保卡 | ||
| 22 | public static String USEID = "userId"; | ||
| 23 | public static String CUSTOMENAME = "customerName"; | ||
| 24 | public static String CUSTOMADRESS = "customerAddress"; | ||
| 25 | public static String BUYADREES = "buyAddress"; | ||
| 26 | public static String BUYTIME = "buyTime"; | ||
| 27 | public static String ALTERSALECALL = "alterSaleCall"; | ||
| 28 | public static String PRODUCTMODEL = "productModel"; | ||
| 29 | public static String DEVICENUMBER = "deviceNumber"; | ||
| 30 | public static String MACADRESS = "macAddress"; | ||
| 31 | public static String MOBILPHONE = "customerPhone"; | ||
| 32 | |||
| 33 | |||
| 34 | |||
| 21 | 35 | ||
| 22 | 36 | ||
| 23 | 37 | ||
| 24 | } | 38 | } |
| 25 | 39 |
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.Handler; | 7 | import android.os.Handler; |
| 8 | import android.os.Message; | 8 | import android.os.Message; |
| 9 | import android.util.Log; | 9 | import android.util.Log; |
| 10 | import android.widget.Toast; | 10 | import android.widget.Toast; |
| 11 | 11 | ||
| 12 | import com.google.gson.Gson; | 12 | import com.google.gson.Gson; |
| 13 | import com.hjx.personalcenter.R; | ||
| 13 | import com.hjx.personalcenter.activity.LoginAndRegisterActivity; | 14 | import com.hjx.personalcenter.activity.LoginAndRegisterActivity; |
| 15 | import com.hjx.personalcenter.activity.TheStartPageActivity; | ||
| 14 | import com.hjx.personalcenter.db.SaveParam; | 16 | import com.hjx.personalcenter.db.SaveParam; |
| 15 | import com.hjx.personalcenter.gson.GsonTool; | 17 | import com.hjx.personalcenter.gson.GsonTool; |
| 16 | import com.hjx.personalcenter.model.CityInfo; | 18 | import com.hjx.personalcenter.model.CityInfo; |
| 17 | import com.hjx.personalcenter.model.CountyInfo; | 19 | import com.hjx.personalcenter.model.CountyInfo; |
| 18 | import com.hjx.personalcenter.model.ProvinceInfo; | 20 | import com.hjx.personalcenter.model.ProvinceInfo; |
| 19 | import com.hjx.personalcenter.util.DialogPermission; | 21 | import com.hjx.personalcenter.util.DialogPermission; |
| 20 | import com.loopj.android.http.AsyncHttpResponseHandler; | 22 | import com.loopj.android.http.AsyncHttpResponseHandler; |
| 21 | import com.loopj.android.http.JsonHttpResponseHandler; | 23 | import com.loopj.android.http.JsonHttpResponseHandler; |
| 22 | import com.loopj.android.http.RequestParams; | 24 | import com.loopj.android.http.RequestParams; |
| 23 | 25 | ||
| 24 | import org.apache.http.Header; | 26 | import org.apache.http.Header; |
| 25 | import org.apache.http.entity.ByteArrayEntity; | 27 | import org.apache.http.entity.ByteArrayEntity; |
| 26 | import org.apache.http.message.BasicHeader; | 28 | import org.apache.http.message.BasicHeader; |
| 27 | import org.apache.http.protocol.HTTP; | 29 | import org.apache.http.protocol.HTTP; |
| 28 | import org.json.JSONException; | 30 | import org.json.JSONException; |
| 29 | import org.json.JSONObject; | 31 | import org.json.JSONObject; |
| 30 | 32 | ||
| 31 | import java.io.UnsupportedEncodingException; | 33 | import java.io.UnsupportedEncodingException; |
| 32 | 34 | ||
| 33 | public class HttpManager { | 35 | public class HttpManager { |
| 34 | private static HttpManager instance; | 36 | private static HttpManager instance; |
| 35 | private ProgressDialog mProgress = null; | 37 | private ProgressDialog mProgress = null; |
| 36 | public static HttpManager getInstance() { | 38 | public static HttpManager getInstance() { |
| 37 | if (instance == null) { | 39 | if (instance == null) { |
| 38 | instance = new HttpManager(); | 40 | instance = new HttpManager(); |
| 39 | } | 41 | } |
| 40 | return instance; | 42 | return instance; |
| 41 | } | 43 | } |
| 42 | 44 | ||
| 43 | 45 | ||
| 44 | //登录接口 | 46 | //登录接口 |
| 45 | 47 | ||
| 46 | public void login(final String username, final String password, final Context mContext) { | 48 | public void login(final String username, final String password, final Context mContext) { |
| 47 | mProgress = DialogPermission.showProgress(mContext, null, "正在登录...", | 49 | mProgress = DialogPermission.showProgress(mContext, null, "正在登录...", |
| 48 | false, true, null); | 50 | false, true, null); |
| 49 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 51 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); |
| 50 | HttpClient.getInstance().get(HttpUrl.loginUrl + "?username=" + username + "&password=" + password, new AsyncHttpResponseHandler() { | 52 | HttpClient.getInstance().get(HttpUrl.loginUrl + "?username=" + username + "&password=" + password, new AsyncHttpResponseHandler() { |
| 51 | @Override | 53 | @Override |
| 52 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 54 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { |
| 53 | 55 | ||
| 54 | String str = new String(arg2); | 56 | String str = new String(arg2); |
| 55 | JSONObject jsonObject = null; | 57 | JSONObject jsonObject = null; |
| 56 | try { | 58 | try { |
| 57 | jsonObject = new JSONObject(new String(arg2)); | 59 | jsonObject = new JSONObject(new String(arg2)); |
| 58 | String status = jsonObject.getString("status"); | 60 | String status = jsonObject.getString("status"); |
| 59 | if (status.equals("100")) { | 61 | if (status.equals("100")) { |
| 60 | String access_token = jsonObject.getString("access_token"); | 62 | String access_token = jsonObject.getString("access_token"); |
| 61 | String userId = jsonObject.getString("userId"); | 63 | String userId = jsonObject.getString("userId"); |
| 62 | // //登录成功,保存登录数据并且获取个人信息 | 64 | // //登录成功,保存登录数据并且获取个人信息 |
| 63 | saveLoginInfo(mContext,username, password, access_token, "true", userId); | 65 | saveLoginInfo(mContext,username, password, access_token, "true", userId); |
| 64 | //HttpManager.getInstance().getuserinfo(username,mContext); | 66 | //HttpManager.getInstance().getuserinfo(username,mContext); |
| 65 | 67 | ||
| 66 | }else if (status.equals("200")) { | 68 | }else if (status.equals("200")) { |
| 67 | closeProgress(); | 69 | closeProgress(); |
| 68 | Toast.makeText(mContext, "用户名不存在!", Toast.LENGTH_LONG).show(); | 70 | Toast.makeText(mContext, "用户名不存在!", Toast.LENGTH_LONG).show(); |
| 69 | return; | 71 | return; |
| 70 | } else if(status.equals("204")){ | 72 | } else if(status.equals("204")){ |
| 71 | closeProgress(); | 73 | closeProgress(); |
| 72 | Toast.makeText(mContext, "密码错误!", Toast.LENGTH_LONG).show(); | 74 | Toast.makeText(mContext, "密码错误!", Toast.LENGTH_LONG).show(); |
| 73 | }else{ | 75 | }else{ |
| 74 | closeProgress(); | 76 | closeProgress(); |
| 75 | Toast.makeText(mContext, "登录失败!请检查网络", Toast.LENGTH_LONG).show(); | 77 | Toast.makeText(mContext, "登录失败!请检查网络", Toast.LENGTH_LONG).show(); |
| 76 | 78 | ||
| 77 | 79 | ||
| 78 | 80 | ||
| 79 | } | 81 | } |
| 80 | } catch (JSONException e) { | 82 | } catch (JSONException e) { |
| 81 | e.printStackTrace(); | 83 | e.printStackTrace(); |
| 82 | } | 84 | } |
| 83 | 85 | ||
| 84 | 86 | ||
| 85 | } | 87 | } |
| 86 | 88 | ||
| 87 | @Override | 89 | @Override |
| 88 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 90 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { |
| 89 | closeProgress(); | 91 | closeProgress(); |
| 90 | Toast.makeText(mContext, "请检查网络。。"+arg3 , Toast.LENGTH_LONG).show(); | 92 | Toast.makeText(mContext, "请检查网络。。"+arg3 , Toast.LENGTH_LONG).show(); |
| 91 | } | 93 | } |
| 92 | }); | 94 | }); |
| 93 | } | 95 | } |
| 94 | 96 | ||
| 95 | //注册接口 | 97 | //注册接口 |
| 96 | 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) { |
| 97 | mProgress = DialogPermission.showProgress(context, null, "正在注册...", | 99 | mProgress = DialogPermission.showProgress(context, null, "正在注册...", |
| 98 | false, true, null); | 100 | false, true, null); |
| 99 | JSONObject jsonObject = new JSONObject(); | 101 | JSONObject jsonObject = new JSONObject(); |
| 100 | ByteArrayEntity entity = null; | 102 | ByteArrayEntity entity = null; |
| 101 | try { | 103 | try { |
| 102 | jsonObject.put(HttpKey.USERNAME, username); | 104 | jsonObject.put(HttpKey.USERNAME, username); |
| 103 | jsonObject.put(HttpKey.PASSWORD, password); | 105 | jsonObject.put(HttpKey.PASSWORD, password); |
| 104 | jsonObject.put(HttpKey.SMSCODE, smscode); | 106 | jsonObject.put(HttpKey.SMSCODE, smscode); |
| 105 | jsonObject.put(HttpKey.SOURCE, source); | 107 | jsonObject.put(HttpKey.SOURCE, source); |
| 106 | Log.e("test", "jsonObject" + jsonObject); | 108 | Log.e("test", "jsonObject" + jsonObject); |
| 107 | entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8")); | 109 | entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8")); |
| 108 | entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); | 110 | entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); |
| 109 | } catch (JSONException e) { | 111 | } catch (JSONException e) { |
| 110 | e.printStackTrace(); | 112 | e.printStackTrace(); |
| 111 | } catch (UnsupportedEncodingException e) { | 113 | } catch (UnsupportedEncodingException e) { |
| 112 | e.printStackTrace(); | 114 | e.printStackTrace(); |
| 113 | } | 115 | } |
| 114 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 116 | HttpClient.getInstance().addHeader("Accept", "*/*"); |
| 115 | HttpClient.getInstance().post(context, HttpUrl.registeredUrl, entity, "application/json", new JsonHttpResponseHandler() { | 117 | HttpClient.getInstance().post(context, HttpUrl.registeredUrl, entity, "application/json", new JsonHttpResponseHandler() { |
| 116 | @Override | 118 | @Override |
| 117 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 119 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { |
| 118 | super.onSuccess(statusCode, headers, response); | 120 | super.onSuccess(statusCode, headers, response); |
| 119 | closeProgress(); | 121 | closeProgress(); |
| 120 | Log.e("test", "onSuccess" + response); | 122 | Log.e("test", "onSuccess" + response); |
| 121 | Message msg = Message.obtain(); | 123 | Message msg = Message.obtain(); |
| 122 | msg.what = HttpCode.REGISTERED_SUCESS; | 124 | msg.what = HttpCode.REGISTERED_SUCESS; |
| 123 | msg.obj = response; | 125 | msg.obj = response; |
| 124 | handler.sendMessage(msg); | 126 | handler.sendMessage(msg); |
| 125 | 127 | ||
| 126 | } | 128 | } |
| 127 | 129 | ||
| 128 | @Override | 130 | @Override |
| 129 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 131 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { |
| 130 | super.onFailure(statusCode, headers, throwable, errorResponse); | 132 | super.onFailure(statusCode, headers, throwable, errorResponse); |
| 131 | closeProgress(); | 133 | closeProgress(); |
| 132 | Log.e("test", "onFailure" + errorResponse); | 134 | Log.e("test", "onFailure" + errorResponse); |
| 133 | Toast.makeText(context, "请检查网络。。", Toast.LENGTH_LONG).show(); | 135 | Toast.makeText(context, "请检查网络。。", Toast.LENGTH_LONG).show(); |
| 134 | } | 136 | } |
| 135 | 137 | ||
| 136 | }); | 138 | }); |
| 137 | } | 139 | } |
| 138 | 140 | ||
| 139 | //注册验证码 | 141 | //注册验证码 |
| 140 | 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) { |
| 141 | RequestParams params = new RequestParams(); | 143 | RequestParams params = new RequestParams(); |
| 142 | params.put(HttpKey.TYPE, type); | 144 | params.put(HttpKey.TYPE, type); |
| 143 | params.put(HttpKey.MOBIL, mobile); | 145 | params.put(HttpKey.MOBIL, mobile); |
| 144 | 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"); |
| 145 | HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() { | 147 | HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() { |
| 146 | 148 | ||
| 147 | @Override | 149 | @Override |
| 148 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 150 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { |
| 149 | Log.e("test", "onSuccess-----" + response); | 151 | Log.e("test", "onSuccess-----" + response); |
| 150 | Message msg = Message.obtain(); | 152 | Message msg = Message.obtain(); |
| 151 | msg.what = HttpCode.AUTHCODE_SUCESS; | 153 | msg.what = HttpCode.AUTHCODE_SUCESS; |
| 152 | msg.obj = response; | 154 | msg.obj = response; |
| 153 | handler.sendMessage(msg); | 155 | handler.sendMessage(msg); |
| 154 | } | 156 | } |
| 155 | 157 | ||
| 156 | @Override | 158 | @Override |
| 157 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 159 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { |
| 158 | Toast.makeText(mContext, "请检查网络。。" + errorResponse, Toast.LENGTH_LONG).show(); | 160 | Toast.makeText(mContext, "请检查网络。。" + errorResponse, Toast.LENGTH_LONG).show(); |
| 159 | } | 161 | } |
| 160 | }); | 162 | }); |
| 161 | } | 163 | } |
| 162 | 164 | ||
| 163 | //验证码 | ||
| 164 | public void forgetauthCode(final String type, final String mobile, final Handler handler, final Context mContext) { | ||
| 165 | RequestParams params = new RequestParams(); | ||
| 166 | params.put("type", type); | ||
| 167 | params.put("mobile", mobile); | ||
| 168 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | ||
| 169 | HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() { | ||
| 170 | |||
| 171 | @Override | ||
| 172 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | ||
| 173 | Log.e("test", "onSuccess-----" + response); | ||
| 174 | Message msg = Message.obtain(); | ||
| 175 | msg.what = HttpCode.AUTHCODE_SUCESS1; | ||
| 176 | msg.obj = response; | ||
| 177 | handler.sendMessage(msg); | ||
| 178 | } | ||
| 179 | |||
| 180 | @Override | ||
| 181 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | ||
| 182 | Toast.makeText(mContext, "请检查网络。。" + errorResponse, Toast.LENGTH_LONG).show(); | ||
| 183 | } | ||
| 184 | }); | ||
| 185 | } | ||
| 186 | 165 | ||
| 187 | //手机号是否注册 | 166 | //手机号是否注册 |
| 188 | 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) { |
| 189 | RequestParams params = new RequestParams(); | 168 | RequestParams params = new RequestParams(); |
| 190 | params.put(HttpKey.USERNAME, mobile); | 169 | params.put(HttpKey.USERNAME, mobile); |
| 191 | HttpClient.getInstance().get(HttpUrl.isRegiterUrl + "?mobile=" + mobile, new JsonHttpResponseHandler() { | 170 | HttpClient.getInstance().get(HttpUrl.isRegiterUrl + "?mobile=" + mobile, new JsonHttpResponseHandler() { |
| 192 | @Override | 171 | @Override |
| 193 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 172 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { |
| 194 | Log.e("test", "isregistered" + response.toString()); | 173 | Log.e("test", "isregistered" + response.toString()); |
| 195 | Message msg = Message.obtain(); | 174 | Message msg = Message.obtain(); |
| 196 | msg.what = HttpCode.IS_REFISTER; | 175 | msg.what = HttpCode.IS_REFISTER; |
| 197 | msg.obj = response; | 176 | msg.obj = response; |
| 198 | handler.sendMessage(msg); | 177 | handler.sendMessage(msg); |
| 199 | 178 | ||
| 200 | } | 179 | } |
| 201 | 180 | ||
| 202 | @Override | 181 | @Override |
| 203 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 182 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { |
| 204 | Toast.makeText(mContext, "失敗" + errorResponse, Toast.LENGTH_LONG).show(); | 183 | Toast.makeText(mContext, "失敗" + errorResponse, Toast.LENGTH_LONG).show(); |
| 205 | 184 | ||
| 206 | } | 185 | } |
| 207 | }); | 186 | }); |
| 208 | } | 187 | } |
| 209 | 188 | ||
| 210 | //修改密码 | 189 | //修改密码 |
| 211 | 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) { |
| 212 | RequestParams params = new RequestParams(); | 191 | RequestParams params = new RequestParams(); |
| 213 | params.put(HttpKey.USERNAME, username); | 192 | params.put(HttpKey.USERNAME, username); |
| 214 | params.put(HttpKey.OLDPASS, old_pwd1); | 193 | params.put(HttpKey.OLDPASS, old_pwd1); |
| 215 | params.put(HttpKey.NEWPASS, newpassword3); | 194 | params.put(HttpKey.NEWPASS, newpassword3); |
| 216 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 195 | HttpClient.getInstance().addHeader("Accept", "*/*"); |
| 217 | HttpClient.getInstance().setTimeout(10 * 1000); | 196 | HttpClient.getInstance().setTimeout(10 * 1000); |
| 218 | HttpClient.getInstance().post(HttpUrl.changepassword, params, new AsyncHttpResponseHandler() { | 197 | HttpClient.getInstance().post(HttpUrl.changepassword, params, new AsyncHttpResponseHandler() { |
| 219 | @Override | 198 | @Override |
| 220 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 199 | public void onSuccess(int i, Header[] headers, byte[] bytes) { |
| 221 | try { | 200 | try { |
| 222 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 201 | JSONObject jsonObject = new JSONObject(new String(bytes)); |
| 223 | String status = jsonObject.optString("status"); | 202 | String status = jsonObject.optString("status"); |
| 224 | if (status.equals("100")) { | 203 | if (status.equals("100")) { |
| 225 | Log.e("test", "onSuccess" + new String(bytes)); | 204 | Log.e("test", "onSuccess" + new String(bytes)); |
| 226 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); | 205 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); |
| 227 | SaveParam.getInstance().clearData((Activity) context); | 206 | SaveParam.getInstance().clearData((Activity) context); |
| 228 | Intent intent = new Intent(); | 207 | Intent intent = new Intent(); |
| 229 | intent.setClass(context, LoginAndRegisterActivity.class); | 208 | intent.setClass(context, LoginAndRegisterActivity.class); |
| 230 | ((Activity) context).startActivity(intent); | 209 | ((Activity) context).startActivity(intent); |
| 231 | ((Activity) context).finish(); | 210 | ((Activity) context).finish(); |
| 232 | } | 211 | } |
| 233 | } catch (JSONException e) { | 212 | } catch (JSONException e) { |
| 234 | e.printStackTrace(); | 213 | e.printStackTrace(); |
| 235 | } | 214 | } |
| 236 | } | 215 | } |
| 237 | 216 | ||
| 238 | @Override | 217 | @Override |
| 239 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 218 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { |
| 240 | Log.e("test", "onFailure" + new String(bytes)); | 219 | Log.e("test", "onFailure" + new String(bytes)); |
| 241 | Toast.makeText(context, "密码修改失败,请检查网络!", Toast.LENGTH_LONG).show(); | 220 | Toast.makeText(context, "密码修改失败,请检查网络!", Toast.LENGTH_LONG).show(); |
| 242 | onFinish(); | 221 | onFinish(); |
| 243 | } | 222 | } |
| 244 | }); | 223 | }); |
| 245 | 224 | ||
| 246 | } | 225 | } |
| 247 | 226 | ||
| 248 | //忘记密码 | 227 | //忘记密码 |
| 249 | public void forgetpassword(final Context context, String forot_pwd_phone1, String forot_pwd_pwd3, String forot_pwd_anthcode1, Handler handler) { | 228 | public void forgetpassword(final Context context, String forot_pwd_phone1, String forot_pwd_pwd3, String forot_pwd_anthcode1, Handler handler) { |
| 250 | RequestParams params = new RequestParams(); | 229 | RequestParams params = new RequestParams(); |
| 251 | params.put(HttpKey.USERNAME, forot_pwd_phone1); | 230 | params.put(HttpKey.USERNAME, forot_pwd_phone1); |
| 252 | params.put(HttpKey.PASSWORD, forot_pwd_pwd3); | 231 | params.put(HttpKey.PASSWORD, forot_pwd_pwd3); |
| 253 | params.put(HttpKey.AUTHCODE, forot_pwd_anthcode1); | 232 | params.put(HttpKey.AUTHCODE, forot_pwd_anthcode1); |
| 254 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 233 | HttpClient.getInstance().addHeader("Accept", "*/*"); |
| 255 | HttpClient.getInstance().post(HttpUrl.forgetpassword, params, new AsyncHttpResponseHandler() { | 234 | HttpClient.getInstance().post(HttpUrl.forgetpassword, params, new AsyncHttpResponseHandler() { |
| 256 | @Override | 235 | @Override |
| 257 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 236 | public void onSuccess(int i, Header[] headers, byte[] bytes) { |
| 258 | try { | 237 | try { |
| 259 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 238 | JSONObject jsonObject = new JSONObject(new String(bytes)); |
| 260 | String status = jsonObject.optString("status"); | 239 | String status = jsonObject.optString("status"); |
| 261 | if (status.equals("100")) { | 240 | if (status.equals("100")) { |
| 262 | Log.e("test", "onSuccess" + new String(bytes)); | 241 | Log.e("test", "onSuccess" + new String(bytes)); |
| 263 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); | 242 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); |
| 264 | ((Activity) context).finish(); | 243 | ((Activity) context).finish(); |
| 265 | } | 244 | } |
| 266 | } catch (JSONException e) { | 245 | } catch (JSONException e) { |
| 267 | e.printStackTrace(); | 246 | e.printStackTrace(); |
| 268 | } | 247 | } |
| 269 | } | 248 | } |
| 270 | 249 | ||
| 271 | @Override | 250 | @Override |
| 272 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 251 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { |
| 273 | Log.e("test", "onFailure" + new String(bytes)); | 252 | Log.e("test", "onFailure" + new String(bytes)); |
| 274 | Toast.makeText(context, "忘记密码修改失败,请检查网络!", Toast.LENGTH_LONG).show(); | 253 | Toast.makeText(context, "忘记密码修改失败,请检查网络!", Toast.LENGTH_LONG).show(); |
| 275 | } | 254 | } |
| 276 | }); | 255 | }); |
| 277 | 256 | ||
| 278 | } | 257 | } |
| 279 | 258 | ||
| 280 | //保存用户登录信息 | 259 | //保存用户登录信息 |
| 281 | public void saveLoginInfo(Context context,String username, String password, String access_token, String loginStatus, String userId) { | 260 | public void saveLoginInfo(Context context,String username, String password, String access_token, String loginStatus, String userId) { |
| 282 | SaveParam.getInstance().saveLoginParam(context,"username", username); | 261 | SaveParam.getInstance().saveLoginParam(context,"username", username); |
| 283 | SaveParam.getInstance().saveLoginParam(context,"password", password); | 262 | SaveParam.getInstance().saveLoginParam(context,"password", password); |
| 284 | SaveParam.getInstance().saveLoginParam(context,"access_token", access_token); | 263 | SaveParam.getInstance().saveLoginParam(context,"access_token", access_token); |
| 285 | SaveParam.getInstance().saveLoginParam(context,"login", loginStatus); | 264 | SaveParam.getInstance().saveLoginParam(context,"login", loginStatus); |
| 286 | SaveParam.getInstance().saveLoginParam(context,"userId", userId); | 265 | SaveParam.getInstance().saveLoginParam(context,"userId", userId); |
| 287 | 266 | ||
| 288 | 267 | ||
| 289 | } | 268 | } |
| 290 | 269 | ||
| 291 | //保存用户个人信息 | 270 | //保存用户个人信息 |
| 292 | public void savePresonInfo(Context context,String lastname, String gender, String mobilePortrait) { | 271 | public void savePresonInfo(Context context,String lastname, String gender, String mobilePortrait) { |
| 293 | SaveParam.getInstance().saveLoginParam(context,"lastname", lastname); | 272 | SaveParam.getInstance().saveLoginParam(context,"lastname", lastname); |
| 294 | SaveParam.getInstance().saveLoginParam(context,"gender", gender); | 273 | SaveParam.getInstance().saveLoginParam(context,"gender", gender); |
| 295 | SaveParam.getInstance().saveLoginParam(context,"mobilePortrait", mobilePortrait); | 274 | SaveParam.getInstance().saveLoginParam(context,"mobilePortrait", mobilePortrait); |
| 296 | } | 275 | } |
| 297 | ///省级接口 | 276 | //提交保卡信息 |
| 277 | public void subcardinfo(final Context context, int userId, String customerName, String customerAddress, | ||
| 278 | String buyAddress,String buyTime,String alterSaleCall, | ||
| 279 | String productModel,String deviceNumber,String macAddress, | ||
| 280 | String mobilePhone) { | ||
| 281 | JSONObject params = new JSONObject(); | ||
| 282 | ByteArrayEntity entity = null; | ||
| 283 | try { | ||
| 284 | params.put(HttpKey.USEID, userId); | ||
| 285 | params.put(HttpKey.CUSTOMENAME, customerName); | ||
| 286 | params.put(HttpKey.CUSTOMADRESS, customerAddress); | ||
| 287 | params.put(HttpKey.BUYADREES, buyAddress); | ||
| 288 | params.put(HttpKey.BUYTIME, buyTime); | ||
| 289 | params.put(HttpKey.ALTERSALECALL, alterSaleCall); | ||
| 290 | params.put(HttpKey.PRODUCTMODEL, productModel); | ||
| 291 | params.put(HttpKey.DEVICENUMBER, deviceNumber); | ||
| 292 | params.put(HttpKey.MACADRESS, macAddress); | ||
| 293 | params.put(HttpKey.MOBILPHONE, mobilePhone); | ||
| 294 | entity = new ByteArrayEntity(params.toString().getBytes("UTF-8")); | ||
| 295 | entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); | ||
| 296 | } catch (Exception e) { | ||
| 297 | e.printStackTrace(); | ||
| 298 | } | ||
| 299 | |||
| 300 | HttpClient.getInstance().addHeader("Accept", "*/*"); | ||
| 301 | |||
| 302 | Log.e("test", "params" + params); | ||
| 303 | HttpClient.getInstance().post(context,HttpUrl.subcardinfo, entity, "application/json", new JsonHttpResponseHandler() { | ||
| 304 | @Override | ||
| 305 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | ||
| 306 | super.onSuccess(statusCode, headers, response); | ||
| 307 | String status = response.optString("status"); | ||
| 308 | if (status.equals("1")) { | ||
| 309 | Log.e("test", "onSuccess" +response); | ||
| 310 | Toast.makeText(context, "保卡绑定成功!", Toast.LENGTH_LONG).show(); | ||
| 311 | Intent intent = new Intent(); | ||
| 312 | intent.setClass((Activity) context,TheStartPageActivity.class); | ||
| 313 | ((Activity) context).startActivity(intent); | ||
| 314 | ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout); | ||
| 315 | ((Activity) context).finish(); | ||
| 316 | } | ||
| 317 | |||
| 318 | } | ||
| 319 | |||
| 320 | @Override | ||
| 321 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | ||
| 322 | super.onFailure(statusCode, headers, throwable, errorResponse); | ||
| 323 | Log.e("test", "onFailure" + (errorResponse)); | ||
| 324 | Toast.makeText(context, "保卡绑定失败!", Toast.LENGTH_LONG).show(); | ||
| 325 | } | ||
| 326 | }); | ||
| 327 | |||
| 328 | } | ||
| 329 | |||
| 330 | |||
| 331 | |||
| 332 | |||
| 333 | |||
| 334 | |||
| 335 | |||
| 336 | ///省级接口 | ||
| 298 | public void provices(final Context mContext) { | 337 | public void provices(final Context mContext) { |
| 299 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 338 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); |
| 300 | HttpClient.getInstance().get(HttpUrl.provinceUrl, new AsyncHttpResponseHandler() { | 339 | HttpClient.getInstance().get(HttpUrl.provinceUrl, new AsyncHttpResponseHandler() { |
| 301 | @Override | 340 | @Override |
| 302 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 341 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { |
| 303 | Log.e("test", "省" + new String(arg2)); | 342 | Log.e("test", "省" + new String(arg2)); |
| 304 | ProvinceInfo provinceInfo = GsonTool.getPerson(new String(arg2), ProvinceInfo.class);//解析json数据 | 343 | ProvinceInfo provinceInfo = GsonTool.getPerson(new String(arg2), ProvinceInfo.class);//解析json数据 |
| 305 | Log.e("test", "状态码" +provinceInfo.getStatus()); | 344 | Log.e("test", "状态码" +provinceInfo.getStatus()); |
| 306 | StringBuffer sb = new StringBuffer(); | 345 | StringBuffer sb = new StringBuffer(); |
| 346 | StringBuffer sb1 = new StringBuffer(); | ||
| 307 | for (int i =0 ; i<provinceInfo.getProvinces().size();i++){ | 347 | for (int i =0 ; i<provinceInfo.getProvinces().size();i++){ |
| 308 | Log.e("test", "省" +provinceInfo.getProvinces().get(i) | ||
| 309 | .getParentId()); | ||
| 310 | Log.e("test", "省" +provinceInfo.getProvinces().get(i) | ||
| 311 | .getRegionId()); | ||
| 312 | Log.e("test", "省" +provinceInfo.getProvinces().get(i).getRegionName()); | ||
| 313 | sb.append(provinceInfo.getProvinces().get(i).getRegionName()+","); | 348 | sb.append(provinceInfo.getProvinces().get(i).getRegionName()+","); |
| 349 | sb1.append(provinceInfo.getProvinces().get(i).getRegionId()+","); | ||
| 314 | 350 | ||
| 315 | } | 351 | } |
| 316 | Log.e("test", "省" +sb.toString()); | 352 | Log.e("test", "省" +sb.toString()); |
| 317 | SaveParam.getInstance().saveCustomizeParam(mContext,SaveParam.PROVINCES, "" + sb.toString()); | 353 | SaveParam.getInstance().saveLoginParam(mContext,SaveParam.PROVINCES, "" + sb.toString()); |
| 354 | SaveParam.getInstance().saveLoginParam(mContext,SaveParam.CITYS, sb1.toString()); | ||
| 318 | 355 | ||
| 319 | 356 | ||
| 320 | } | 357 | } |
| 321 | 358 | ||
| 322 | @Override | 359 | @Override |
| 323 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 360 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { |
| 324 | Toast.makeText(mContext, "请检查网络。。"+arg3 , Toast.LENGTH_LONG).show(); | 361 | Toast.makeText(mContext, "请检查网络。。"+arg3 , Toast.LENGTH_LONG).show(); |
| 325 | } | 362 | } |
| 326 | }); | 363 | }); |
| 327 | } | 364 | } |
| 328 | //市级接口 | 365 | //市级接口 |
| 329 | public void cityinfo(final Context mContext,int regionId) { | 366 | public void cityinfo(final Context mContext,int regionId) { |
| 330 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 367 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); |
| 331 | HttpClient.getInstance().get(HttpUrl.cityUrl + "?regionId=" + regionId, new AsyncHttpResponseHandler() { | 368 | HttpClient.getInstance().get(HttpUrl.cityUrl + "?regionId=" + regionId, new AsyncHttpResponseHandler() { |
| 332 | @Override | 369 | @Override |
| 333 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 370 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { |
| 334 | Log.e("test", "市" + new String(arg2)); | 371 | Log.e("test", "市" + new String(arg2)); |
| 335 | Gson gson = new Gson(); | 372 | Gson gson = new Gson(); |
| 336 | CityInfo cityInfo = gson.fromJson(new String(arg2),CityInfo.class); | 373 | CityInfo cityInfo = gson.fromJson(new String(arg2),CityInfo.class); |
| 337 | for (int i =0 ; i<cityInfo.getCities().size();i++){ | 374 | for (int i =0 ; i<cityInfo.getCities().size();i++){ |
| 338 | Log.e("test", "市" +cityInfo.getCities().get(i) | 375 | Log.e("test", "市" +cityInfo.getCities().get(i) |
| 339 | .getParentId()); | 376 | .getParentId()); |
| 340 | Log.e("test", "市" +cityInfo.getCities().get(i) | 377 | Log.e("test", "市" +cityInfo.getCities().get(i) |
| 341 | .getRegionId()); | 378 | .getRegionId()); |
| 342 | Log.e("test", "市" +cityInfo.getCities().get(i).getRegionName()+""); | 379 | Log.e("test", "市" +cityInfo.getCities().get(i).getRegionName()+""); |
| 343 | 380 | ||
| 344 | } | 381 | } |
| 345 | 382 | ||
| 346 | 383 | ||
| 347 | } | 384 | } |
| 348 | 385 | ||
| 349 | @Override | 386 | @Override |
| 350 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 387 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { |
| 351 | Toast.makeText(mContext, "请检查网络。。"+arg3 , Toast.LENGTH_LONG).show(); | 388 | Toast.makeText(mContext, "请检查网络。。"+arg3 , Toast.LENGTH_LONG).show(); |
| 352 | } | 389 | } |
| 353 | }); | 390 | }); |
| 354 | } | 391 | } |
| 355 | //区县级接口 | 392 | //区县级接口 |
| 356 | public void countyinfo(final Context mContext,int parentId) { | 393 | public void countyinfo(final Context mContext,int parentId) { |
| 357 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 394 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); |
| 358 | HttpClient.getInstance().get(HttpUrl.countyUrl + "?regionId=" + parentId, new AsyncHttpResponseHandler() { | 395 | HttpClient.getInstance().get(HttpUrl.countyUrl + "?regionId=" + parentId, new AsyncHttpResponseHandler() { |
| 359 | @Override | 396 | @Override |
| 360 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 397 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { |
| 361 | Log.e("test", "区" + new String(arg2)); | 398 | Log.e("test", "区" + new String(arg2)); |
| 362 | Gson gson = new Gson(); | 399 | Gson gson = new Gson(); |
| 363 | CountyInfo countyInfo = gson.fromJson(new String(arg2),CountyInfo.class); | 400 | CountyInfo countyInfo = gson.fromJson(new String(arg2),CountyInfo.class); |
| 364 | for (int i =0 ; i<countyInfo.getCounties().size();i++){ | 401 | for (int i =0 ; i<countyInfo.getCounties().size();i++){ |
| 365 | Log.e("test", "区" +countyInfo.getCounties().get(i) | 402 | Log.e("test", "区" +countyInfo.getCounties().get(i) |
| 366 | .getParentId()); | 403 | .getParentId()); |
| 367 | Log.e("test", "区" +countyInfo.getCounties().get(i) | 404 | Log.e("test", "区" +countyInfo.getCounties().get(i) |
| 368 | .getRegionId()); | 405 | .getRegionId()); |
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 | /** | 3 | /** |
| 4 | * Created by h on 2017/8/15. | 4 | * Created by h on 2017/8/15. |
| 5 | */ | 5 | */ |
| 6 | 6 | ||
| 7 | public class HttpUrl { | 7 | public class HttpUrl { |
| 8 | private final static String Enviroment = "DEVELOPMENT"; | 8 | private final static String Enviroment = "DEVELOPMENT"; |
| 9 | 9 | ||
| 10 | public static String GetDomain(){ | 10 | public static String GetDomain(){ |
| 11 | return Enviroment.equals("DEVELOPMENT") ? "http://boss.test.hjx.com" : "http://boss.hjx.com"; | 11 | return Enviroment.equals("DEVELOPMENT") ? "http://boss.test.hjx.com" : "http://boss.hjx.com"; |
| 12 | } | 12 | } |
| 13 | 13 | ||
| 14 | public static String loginUrl = GetDomain()+"/user/access_token";//登录 | 14 | public static String loginUrl = GetDomain()+"/user/access_token";//登录 |
| 15 | public static String provinceUrl = GetDomain()+"/ozing/provinces";//省 | 15 | public static String provinceUrl = GetDomain()+"/ozing/provinces";//省 |
| 16 | public static String cityUrl = GetDomain()+"/ozing/cities";//市 | 16 | public static String cityUrl = GetDomain()+"/ozing/cities";//市 |
| 17 | public static String countyUrl = GetDomain()+"/ozing/counties";//区县 | 17 | public static String countyUrl = GetDomain()+"/ozing/counties";//区县 |
| 18 | public static String forgetpassword=GetDomain()+"/ozing/timer/user/newpassword";//忘记密码/ | 18 | public static String forgetpassword=GetDomain()+"/ozing/timer/user/newpassword";//忘记密码/ |
| 19 | public static String registeredUrl=GetDomain()+"/ozing/timer/anking/user";//注册 | 19 | public static String registeredUrl=GetDomain()+"/ozing/timer/anking/user";//注册 |
| 20 | public static String authCodedUrl=GetDomain()+"/ozing/timer/user/fetchAuthCode";//验证码 | 20 | public static String authCodedUrl=GetDomain()+"/ozing/timer/user/fetchAuthCode";//验证码 |
| 21 | public static String isRegiterUrl=GetDomain()+"/ozing/timer/user/registered";//手机号是否注册 | 21 | public static String isRegiterUrl=GetDomain()+"/ozing/timer/user/registered";//手机号是否注册 |
| 22 | public static String changepassword=GetDomain()+"/ozing/timer/user/changepassword";//修改密码 | 22 | public static String changepassword=GetDomain()+"/ozing/timer/user/changepassword";//修改密码 |
| 23 | public static String subcardinfo=GetDomain()+"/electronicCard/addCustomer";//提交保卡信息 | ||
| 23 | 24 | ||
| 24 | } | 25 | } |
| 25 | 26 |
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:textColor="@color/btn_text_color" | 82 | android:textColor="@color/btn_text_color" |
| 83 | android:textSize="22sp" /> | 83 | android:textSize="22sp" /> |
| 84 | 84 | ||
| 85 | <TextView | 85 | <TextView |
| 86 | android:id="@+id/iv_card_username" | ||
| 86 | android:layout_width="wrap_content" | 87 | android:layout_width="wrap_content" |
| 87 | android:layout_height="wrap_content" | 88 | android:layout_height="wrap_content" |
| 88 | android:layout_marginLeft="60dp" | 89 | android:layout_marginLeft="60dp" |
| 89 | android:text="王小明" | 90 | android:text="王小明" |
| 90 | android:textColor="@color/btn_text_color" | 91 | android:textColor="@color/btn_text_color" |
| 91 | android:textSize="22sp" /> | 92 | android:textSize="22sp" /> |
| 92 | 93 | ||
| 93 | </LinearLayout> | 94 | </LinearLayout> |
| 94 | 95 | ||
| 95 | </LinearLayout> | 96 | </LinearLayout> |
| 96 | 97 | ||
| 97 | <LinearLayout | 98 | <LinearLayout |
| 98 | android:layout_width="match_parent" | 99 | android:layout_width="match_parent" |
| 99 | android:layout_height="wrap_content" | 100 | android:layout_height="wrap_content" |
| 100 | android:gravity="center_vertical" | 101 | android:gravity="center_vertical" |
| 101 | android:orientation="horizontal"> | 102 | android:orientation="horizontal"> |
| 102 | 103 | ||
| 103 | <LinearLayout | 104 | <LinearLayout |
| 104 | android:layout_width="0dp" | 105 | android:layout_width="0dp" |
| 105 | android:layout_height="60dp" | 106 | android:layout_height="60dp" |
| 106 | android:layout_weight="1" | 107 | android:layout_weight="1" |
| 107 | android:layout_marginLeft="200dp" | 108 | android:layout_marginLeft="200dp" |
| 108 | android:gravity="center_vertical"> | 109 | android:gravity="center_vertical"> |
| 109 | 110 | ||
| 110 | <TextView | 111 | <TextView |
| 111 | android:layout_width="wrap_content" | 112 | android:layout_width="wrap_content" |
| 112 | android:layout_height="wrap_content" | 113 | android:layout_height="wrap_content" |
| 113 | android:text="产品型号" | 114 | android:text="产品型号" |
| 114 | android:textColor="@color/btn_text_color" | 115 | android:textColor="@color/btn_text_color" |
| 115 | android:textSize="22sp" /> | 116 | android:textSize="22sp" /> |
| 116 | 117 | ||
| 117 | <TextView | 118 | <TextView |
| 119 | android:id="@+id/tv_card_deviceModel" | ||
| 118 | android:layout_width="wrap_content" | 120 | android:layout_width="wrap_content" |
| 119 | android:layout_height="wrap_content" | 121 | android:layout_height="wrap_content" |
| 120 | android:layout_marginLeft="50dp" | 122 | android:layout_marginLeft="50dp" |
| 121 | android:text="IPone888" | 123 | android:text="IPone888" |
| 122 | android:textSize="22sp" /> | 124 | android:textSize="22sp" /> |
| 123 | 125 | ||
| 124 | 126 | ||
| 125 | </LinearLayout> | 127 | </LinearLayout> |
| 126 | 128 | ||
| 127 | <LinearLayout | 129 | <LinearLayout |
| 128 | android:layout_width="0dp" | 130 | android:layout_width="0dp" |
| 129 | android:layout_height="60dp" | 131 | android:layout_height="60dp" |
| 130 | android:layout_weight="1" | 132 | android:layout_weight="1" |
| 131 | android:layout_marginLeft="80dp" | 133 | android:layout_marginLeft="80dp" |
| 132 | android:gravity="center_vertical"> | 134 | android:gravity="center_vertical"> |
| 133 | 135 | ||
| 134 | <TextView | 136 | <TextView |
| 135 | android:layout_width="wrap_content" | 137 | android:layout_width="wrap_content" |
| 136 | android:layout_height="wrap_content" | 138 | android:layout_height="wrap_content" |
| 137 | android:text="客户地址" | 139 | android:text="客户地址" |
| 138 | android:textSize="22sp" /> | 140 | android:textSize="22sp" /> |
| 139 | 141 | ||
| 140 | <TextView | 142 | <TextView |
| 143 | android:id="@+id/tv_card_adress" | ||
| 141 | android:layout_width="wrap_content" | 144 | android:layout_width="wrap_content" |
| 142 | android:layout_height="wrap_content" | 145 | android:layout_height="wrap_content" |
| 143 | android:layout_marginLeft="60dp" | 146 | android:layout_marginLeft="60dp" |
| 144 | android:background="@null" | 147 | android:background="@null" |
| 145 | android:text="北京市昭阳区三里屯" | 148 | android:text="北京市昭阳区三里屯" |
| 146 | android:textSize="22sp" /> | 149 | android:textSize="22sp" /> |
| 147 | <TextView | 150 | <TextView |
| 151 | android:id="@+id/tv_card_adress_change" | ||
| 148 | android:layout_width="wrap_content" | 152 | android:layout_width="wrap_content" |
| 149 | android:layout_height="wrap_content" | 153 | android:layout_height="wrap_content" |
| 150 | android:layout_marginLeft="18dp" | 154 | android:layout_marginLeft="18dp" |
| 151 | android:background="@drawable/corcle_black_bg" | 155 | android:background="@drawable/corcle_black_bg" |
| 152 | android:text="修改" | 156 | android:text="修改" |
| 153 | android:paddingLeft="5dp" | 157 | android:paddingLeft="5dp" |
| 154 | android:paddingRight="5dp" | 158 | android:paddingRight="5dp" |
| 155 | android:textColor="@color/login_text_blue" | 159 | android:textColor="@color/login_text_blue" |
| 156 | android:textSize="18sp" /> | 160 | android:textSize="18sp" /> |
| 157 | 161 | ||
| 158 | 162 | ||
| 159 | </LinearLayout> | 163 | </LinearLayout> |
| 160 | 164 | ||
| 161 | </LinearLayout> | 165 | </LinearLayout> |
| 162 | 166 | ||
| 163 | <LinearLayout | 167 | <LinearLayout |
| 164 | android:layout_width="match_parent" | 168 | android:layout_width="match_parent" |
| 165 | android:layout_height="wrap_content" | 169 | android:layout_height="wrap_content" |
| 166 | android:gravity="center_vertical" | 170 | android:gravity="center_vertical" |
| 167 | android:orientation="horizontal"> | 171 | android:orientation="horizontal"> |
| 168 | 172 | ||
| 169 | <LinearLayout | 173 | <LinearLayout |
| 170 | android:layout_width="0dp" | 174 | android:layout_width="0dp" |
| 171 | android:layout_height="60dp" | 175 | android:layout_height="60dp" |
| 172 | android:layout_weight="1" | 176 | android:layout_weight="1" |
| 173 | android:layout_marginLeft="200dp" | 177 | android:layout_marginLeft="200dp" |
| 174 | android:gravity="center_vertical"> | 178 | android:gravity="center_vertical"> |
| 175 | 179 | ||
| 176 | <TextView | 180 | <TextView |
| 177 | android:layout_width="wrap_content" | 181 | android:layout_width="wrap_content" |
| 178 | android:layout_height="wrap_content" | 182 | android:layout_height="wrap_content" |
| 179 | android:text="MAC地址" | 183 | android:text="MAC地址" |
| 180 | android:textSize="22sp" /> | 184 | android:textSize="22sp" /> |
| 181 | 185 | ||
| 182 | <TextView | 186 | <TextView |
| 187 | android:id="@+id/tv_card_mac" | ||
| 183 | android:layout_width="wrap_content" | 188 | android:layout_width="wrap_content" |
| 184 | android:layout_height="wrap_content" | 189 | android:layout_height="wrap_content" |
| 185 | android:layout_marginLeft="50dp" | 190 | android:layout_marginLeft="50dp" |
| 186 | android:background="@null" | 191 | android:background="@null" |
| 187 | android:text="237462873463278" | 192 | android:text="237462873463278" |
| 188 | android:textSize="22sp" /> | 193 | android:textSize="22sp" /> |
| 189 | 194 | ||
| 190 | </LinearLayout> | 195 | </LinearLayout> |
| 191 | 196 | ||
| 192 | <LinearLayout | 197 | <LinearLayout |
| 193 | android:layout_width="0dp" | 198 | android:layout_width="0dp" |
| 194 | android:layout_height="60dp" | 199 | android:layout_height="60dp" |
| 195 | android:layout_weight="1" | 200 | android:layout_weight="1" |
| 196 | android:layout_marginLeft="80dp" | 201 | android:layout_marginLeft="80dp" |
| 197 | android:gravity="center_vertical"> | 202 | android:gravity="center_vertical"> |
| 198 | 203 | ||
| 199 | <TextView | 204 | <TextView |
| 200 | android:layout_width="wrap_content" | 205 | android:layout_width="wrap_content" |
| 201 | android:layout_height="wrap_content" | 206 | android:layout_height="wrap_content" |
| 202 | android:text="购买时间" | 207 | android:text="购买时间" |
| 203 | android:textColor="@color/btn_text_color" | 208 | android:textColor="@color/btn_text_color" |
| 204 | android:textSize="22sp" /> | 209 | android:textSize="22sp" /> |
| 205 | 210 | ||
| 206 | <TextView | 211 | <TextView |
| 212 | android:id="@+id/tv_card_time" | ||
| 207 | android:layout_width="wrap_content" | 213 | android:layout_width="wrap_content" |
| 208 | android:layout_height="wrap_content" | 214 | android:layout_height="wrap_content" |
| 209 | android:layout_marginLeft="60dp" | 215 | android:layout_marginLeft="60dp" |
| 210 | android:background="@null" | 216 | android:background="@null" |
| 211 | android:text="4433322-334--34" | 217 | android:text="4433322-334--34" |
| 212 | android:textColor="@color/btn_text_color" | 218 | android:textColor="@color/btn_text_color" |
| 213 | android:textSize="22sp" /> | 219 | android:textSize="22sp" /> |
| 214 | </LinearLayout> | 220 | </LinearLayout> |
| 215 | 221 | ||
| 216 | </LinearLayout> | 222 | </LinearLayout> |
| 217 | 223 | ||
| 218 | <LinearLayout | 224 | <LinearLayout |
| 219 | android:layout_width="match_parent" | 225 | android:layout_width="match_parent" |
| 220 | android:layout_height="wrap_content" | 226 | android:layout_height="wrap_content" |
| 221 | android:gravity="center_vertical" | 227 | android:gravity="center_vertical" |
| 222 | android:orientation="horizontal"> | 228 | android:orientation="horizontal"> |
| 223 | 229 | ||
| 224 | <LinearLayout | 230 | <LinearLayout |
| 225 | android:layout_width="0dp" | 231 | android:layout_width="0dp" |
| 226 | android:layout_height="60dp" | 232 | android:layout_height="60dp" |
| 227 | android:layout_weight="1" | 233 | android:layout_weight="1" |
| 228 | android:layout_marginLeft="200dp" | 234 | android:layout_marginLeft="200dp" |
| 229 | android:gravity="center_vertical"> | 235 | android:gravity="center_vertical"> |
| 230 | 236 | ||
| 231 | <TextView | 237 | <TextView |
| 232 | android:layout_width="wrap_content" | 238 | android:layout_width="wrap_content" |
| 233 | android:layout_height="wrap_content" | 239 | android:layout_height="wrap_content" |
| 234 | android:text="机身编码" | 240 | android:text="机身编码" |
| 235 | android:textColor="@color/btn_text_color" | 241 | android:textColor="@color/btn_text_color" |
| 236 | android:textSize="22sp" /> | 242 | android:textSize="22sp" /> |
| 237 | 243 | ||
| 238 | <TextView | 244 | <TextView |
| 245 | android:id="@+id/tv_card_deviceNumber" | ||
| 239 | android:layout_width="wrap_content" | 246 | android:layout_width="wrap_content" |
| 240 | android:layout_height="wrap_content" | 247 | android:layout_height="wrap_content" |
| 241 | android:layout_marginLeft="50dp" | 248 | android:layout_marginLeft="50dp" |
| 242 | android:hint="473463746343" | 249 | android:hint="473463746343" |
| 243 | android:textSize="22sp" /> | 250 | android:textSize="22sp" /> |
| 244 | 251 | ||
| 245 | </LinearLayout> | 252 | </LinearLayout> |
| 246 | 253 | ||
| 247 | <LinearLayout | 254 | <LinearLayout |
| 248 | android:layout_width="0dp" | 255 | android:layout_width="0dp" |
| 249 | android:layout_height="60dp" | 256 | android:layout_height="60dp" |
| 250 | android:layout_weight="1" | 257 | android:layout_weight="1" |
| 251 | android:layout_marginLeft="80dp" | 258 | android:layout_marginLeft="80dp" |
| 252 | android:gravity="center_vertical"> | 259 | android:gravity="center_vertical"> |
| 253 | 260 | ||
| 254 | <TextView | 261 | <TextView |
| 262 | android:id="@+id/tv_card_shopAdress" | ||
| 255 | android:layout_width="wrap_content" | 263 | android:layout_width="wrap_content" |
| 256 | android:layout_height="wrap_content" | 264 | android:layout_height="wrap_content" |
| 257 | android:text="购买地址" | 265 | android:text="购买地址" |
| 258 | android:textColor="@color/btn_text_color" | 266 | android:textColor="@color/btn_text_color" |
| 259 | android:textSize="22sp" /> | 267 | android:textSize="22sp" /> |
| 260 | 268 | ||
| 261 | <TextView | 269 | <TextView |
| 262 | android:layout_width="wrap_content" | 270 | android:layout_width="wrap_content" |
| 263 | android:layout_height="wrap_content" | 271 | android:layout_height="wrap_content" |
| 264 | android:layout_marginLeft="60dp" | 272 | android:layout_marginLeft="60dp" |
| 265 | android:text="啥啥啥 专卖店" | 273 | android:text="啥啥啥 专卖店" |
| 266 | android:textColor="@color/btn_text_color" | 274 | android:textColor="@color/btn_text_color" |
| 267 | android:textSize="22sp" /> | 275 | android:textSize="22sp" /> |
| 268 | </LinearLayout> | 276 | </LinearLayout> |
| 269 | 277 | ||
| 270 | </LinearLayout> | 278 | </LinearLayout> |
| 271 | 279 | ||
| 272 | <LinearLayout | 280 | <LinearLayout |
| 273 | android:layout_width="match_parent" | 281 | android:layout_width="match_parent" |
| 274 | android:layout_height="wrap_content" | 282 | android:layout_height="wrap_content" |
| 275 | android:gravity="center_vertical" | 283 | android:gravity="center_vertical" |
| 276 | android:layout_marginBottom="30dp" | 284 | android:layout_marginBottom="30dp" |
| 277 | android:orientation="horizontal"> | 285 | android:orientation="horizontal"> |
| 278 | 286 | ||
| 279 | <LinearLayout | 287 | <LinearLayout |
| 280 | android:layout_width="0dp" | 288 | android:layout_width="0dp" |
| 281 | android:layout_height="60dp" | 289 | android:layout_height="60dp" |
| 282 | android:layout_weight="1" | 290 | android:layout_weight="1" |
| 283 | android:layout_marginLeft="200dp" | 291 | android:layout_marginLeft="200dp" |
| 284 | android:gravity="center_vertical"> | 292 | android:gravity="center_vertical"> |
| 285 | 293 | ||
| 286 | <TextView | 294 | <TextView |
| 287 | android:layout_width="wrap_content" | 295 | android:layout_width="wrap_content" |
| 288 | android:layout_height="wrap_content" | 296 | android:layout_height="wrap_content" |
| 289 | android:text="手机号码" | 297 | android:text="手机号码" |
| 290 | android:textColor="@color/btn_text_color" | 298 | android:textColor="@color/btn_text_color" |
| 291 | android:textSize="22sp" /> | 299 | android:textSize="22sp" /> |
| 292 | 300 | ||
| 293 | <TextView | 301 | <TextView |
| 302 | android:id="@+id/tv_card_phone" | ||
| 294 | android:layout_width="wrap_content" | 303 | android:layout_width="wrap_content" |
| 295 | android:layout_height="wrap_content" | 304 | android:layout_height="wrap_content" |
| 296 | android:layout_marginLeft="50dp" | 305 | android:layout_marginLeft="50dp" |
| 297 | android:text="IPone888" | 306 | android:text="IPone888" |
| 298 | android:textSize="22sp" /> | 307 | android:textSize="22sp" /> |
| 299 | <TextView | 308 | <TextView |
| 309 | android:id="@+id/tv_card_phone_change" | ||
| 300 | android:layout_width="wrap_content" | 310 | android:layout_width="wrap_content" |
| 301 | android:layout_height="wrap_content" | 311 | android:layout_height="wrap_content" |
| 302 | android:layout_marginLeft="18dp" | 312 | android:layout_marginLeft="18dp" |
| 303 | android:background="@drawable/corcle_black_bg" | 313 | android:background="@drawable/corcle_black_bg" |
| 304 | android:text="修改" | 314 | android:text="修改" |
| 305 | android:paddingLeft="5dp" | 315 | android:paddingLeft="5dp" |
| 306 | android:paddingRight="5dp" | 316 | android:paddingRight="5dp" |
| 307 | android:textColor="@color/login_text_blue" | 317 | android:textColor="@color/login_text_blue" |
| 308 | android:textSize="18sp" /> | 318 | android:textSize="18sp" /> |
| 309 | 319 | ||
| 310 | 320 | ||
| 311 | </LinearLayout> | 321 | </LinearLayout> |
| 312 | 322 | ||
| 313 | <LinearLayout | 323 | <LinearLayout |
| 314 | android:layout_width="0dp" | 324 | android:layout_width="0dp" |
| 315 | android:layout_height="60dp" | 325 | android:layout_height="60dp" |
| 316 | android:layout_weight="1" | 326 | android:layout_weight="1" |
| 317 | android:layout_marginLeft="80dp" | 327 | android:layout_marginLeft="80dp" |
| 318 | android:gravity="center_vertical"> | 328 | android:gravity="center_vertical"> |
| 319 | 329 | ||
| 320 | <TextView | 330 | <TextView |
| 321 | android:layout_width="wrap_content" | 331 | android:layout_width="wrap_content" |
| 322 | android:layout_height="wrap_content" | 332 | android:layout_height="wrap_content" |
| 323 | android:text="本地售后电话" | 333 | android:text="本地售后电话" |
| 324 | android:textSize="22sp" /> | 334 | android:textSize="22sp" /> |
| 325 | 335 | ||
| 326 | <TextView | 336 | <TextView |
| 337 | android:id="@+id/tv_card_tleNember" | ||
| 327 | android:layout_width="wrap_content" | 338 | android:layout_width="wrap_content" |
| 328 | android:layout_height="wrap_content" | 339 | android:layout_height="wrap_content" |
| 329 | android:layout_marginLeft="60dp" | 340 | android:layout_marginLeft="60dp" |
| 330 | android:background="@null" | 341 | android:background="@null" |
| 331 | android:text="1111111" | 342 | android:text="1111111" |
| 332 | android:textSize="22sp" /> | 343 | android:textSize="22sp" /> |
| 333 | 344 | ||
| 334 | </LinearLayout> | 345 | </LinearLayout> |
| 335 | 346 | ||
| 336 | </LinearLayout> | 347 | </LinearLayout> |
| 337 | </LinearLayout> | 348 | </LinearLayout> |
| 338 | 349 | ||
| 339 | <LinearLayout | 350 | <LinearLayout |
| 340 | android:layout_width="match_parent" | 351 | android:layout_width="match_parent" |
| 341 | android:layout_height="wrap_content" | 352 | android:layout_height="wrap_content" |
| 342 | android:layout_marginTop="5dp" | 353 | android:layout_marginTop="5dp" |
| 343 | android:gravity="center" | 354 | android:gravity="center" |
| 344 | android:orientation="vertical"> | 355 | android:orientation="vertical"> |
| 345 | 356 | ||
| 346 | <TextView | 357 | <TextView |
| 347 | android:layout_width="wrap_content" | 358 | android:layout_width="wrap_content" |
| 348 | android:layout_height="wrap_content" | 359 | android:layout_height="wrap_content" |
| 349 | android:layout_marginTop="5dp" | 360 | android:layout_marginTop="5dp" |
| 350 | android:text="@string/electronic_card" | 361 | android:text="@string/electronic_card" |
| 351 | android:textColor="@color/electronic_text" | 362 | android:textColor="@color/electronic_text" |
| 352 | android:textSize="18sp" /> | 363 | android:textSize="18sp" /> |
| 353 | 364 | ||
| 354 | 365 | ||
| 355 | 366 | ||
| 356 | </LinearLayout> | 367 | </LinearLayout> |
| 357 | <LinearLayout | 368 | <LinearLayout |
| 358 | android:layout_width="match_parent" | 369 | android:layout_width="match_parent" |
| 359 | android:layout_height="wrap_content" | 370 | android:layout_height="wrap_content" |
| 360 | android:layout_marginTop="30dp" | 371 | android:layout_marginTop="30dp" |
| 361 | android:gravity="center" | 372 | android:gravity="center" |
| 362 | android:orientation="horizontal"> | 373 | android:orientation="horizontal"> |
| 363 | 374 | ||
| 364 | <ImageView | 375 | <ImageView |
| 365 | android:layout_width="wrap_content" | 376 | android:layout_width="wrap_content" |
| 366 | android:layout_height="wrap_content" | 377 | android:layout_height="wrap_content" |
| 367 | android:src="@mipmap/phone"/> | 378 | android:src="@mipmap/phone"/> |
| 368 | <TextView | 379 | <TextView |
| 369 | android:layout_width="wrap_content" | 380 | android:layout_width="wrap_content" |
| 370 | android:layout_height="wrap_content" | 381 | android:layout_height="wrap_content" |
| 371 | android:textSize="30sp" | 382 | android:textSize="30sp" |
| 372 | android:layout_marginLeft="5dp" | 383 | android:layout_marginLeft="5dp" |
| 373 | android:textColor="@color/login_text_blue" | 384 | android:textColor="@color/login_text_blue" |
| 374 | android:text="400-400-000"/> | 385 | android:text="400-400-000"/> |
| 375 | 386 | ||
| 376 | 387 | ||
| 377 | </LinearLayout> | 388 | </LinearLayout> |
| 378 | 389 | ||
| 379 | 390 | ||
| 380 | 391 | ||
| 381 | </LinearLayout> | 392 | </LinearLayout> |
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="#ffffffff" |
| 6 | android:orientation="vertical"> | 6 | android:orientation="vertical"> |
| 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_change" | 28 | android:text="@string/string_electroniccard_info_title" |
| 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 | <RelativeLayout | 32 | <RelativeLayout |
| 33 | android:layout_width="match_parent" | 33 | android:layout_width="match_parent" |
| 34 | android:layout_height="match_parent" | 34 | android:layout_height="match_parent" |
| 35 | android:layout_below="@id/title" | 35 | android:layout_below="@id/title" |
| 36 | android:background="#ffffffff" | 36 | android:background="#ffffffff" |
| 37 | android:orientation="vertical" | 37 | android:orientation="vertical" |
| 38 | android:paddingLeft="250dp" | 38 | android:paddingLeft="250dp" |
| 39 | android:paddingRight="250dp" > | 39 | android:paddingRight="250dp" > |
| 40 | 40 | ||
| 41 | <EditText | 41 | <EditText |
| 42 | android:id="@+id/et_phonenumber" | 42 | android:id="@+id/et_phonenumber" |
| 43 | style="@style/login_register_edit_style" | 43 | style="@style/login_register_edit_style" |
| 44 | android:layout_marginTop="150dp" | 44 | android:layout_marginTop="150dp" |
| 45 | android:hint="手机号" | 45 | android:hint="手机号" |
| 46 | android:inputType="phone" /> | 46 | android:inputType="phone" /> |
| 47 | 47 | ||
| 48 | <TextView | 48 | <TextView |
| 49 | android:id="@+id/phonenumber_error_hint" | 49 | android:id="@+id/phonenumber_error_hint" |
| 50 | style="@style/registererrhint_style" | 50 | style="@style/registererrhint_style" |
| 51 | android:layout_below="@id/et_phonenumber" /> | 51 | android:layout_below="@id/et_phonenumber" /> |
| 52 | 52 | ||
| 53 | <LinearLayout | 53 | <LinearLayout |
| 54 | android:id="@+id/rl_authcode" | 54 | android:id="@+id/rl_authcode" |
| 55 | android:layout_width="match_parent" | 55 | android:layout_width="match_parent" |
| 56 | android:layout_height="wrap_content" | 56 | android:layout_height="wrap_content" |
| 57 | android:layout_below="@id/et_phonenumber" | 57 | android:layout_below="@id/et_phonenumber" |
| 58 | android:layout_marginTop="30dp" | 58 | android:layout_marginTop="30dp" |
| 59 | android:orientation="horizontal"> | 59 | android:orientation="horizontal"> |
| 60 | 60 | ||
| 61 | <EditText | 61 | <EditText |
| 62 | android:id="@+id/et_authcode" | 62 | android:id="@+id/et_authcode" |
| 63 | style="@style/login_register_edit_rect_style" | 63 | style="@style/login_register_edit_rect_style" |
| 64 | android:layout_marginRight="-4px" | 64 | android:layout_marginRight="-4px" |
| 65 | android:layout_weight="1" | 65 | android:layout_weight="1" |
| 66 | android:hint="验证码" | 66 | android:hint="验证码" |
| 67 | android:numeric="integer" /> | 67 | android:numeric="integer" /> |
| 68 | 68 | ||
| 69 | <Button | 69 | <Button |
| 70 | android:id="@+id/btn_authcode" | 70 | android:id="@+id/btn_authcode" |
| 71 | style="@style/login_register_btn_authcode_rect_style" | 71 | style="@style/login_register_btn_authcode_rect_style" |
| 72 | android:layout_marginLeft="0px" | 72 | android:layout_marginLeft="0px" |
| 73 | android:layout_marginTop="0px" | 73 | android:layout_marginTop="0px" |
| 74 | android:layout_weight="2" | 74 | android:layout_weight="2" |
| 75 | android:text="获取验证码" | 75 | android:text="获取验证码" |
| 76 | android:textColor="@color/btn_text_color" /> | 76 | android:textColor="@color/btn_text_color" /> |
| 77 | </LinearLayout> | 77 | </LinearLayout> |
| 78 | 78 | ||
| 79 | <TextView | 79 | <TextView |
| 80 | android:id="@+id/authcode_error_hint" | 80 | android:id="@+id/authcode_error_hint" |
| 81 | style="@style/registererrhint_style" | 81 | style="@style/registererrhint_style" |
| 82 | android:layout_below="@id/rl_authcode" /> | 82 | android:layout_below="@id/rl_authcode" /> |
| 83 | 83 | ||
| 84 | <TextView | 84 | <TextView |
| 85 | android:id="@+id/password_error_hint" | 85 | android:id="@+id/password_error_hint" |
| 86 | style="@style/registererrhint_style" | 86 | style="@style/registererrhint_style" |
| 87 | android:layout_below="@id/pwd_rl" /> | 87 | android:layout_below="@id/pwd_rl" /> |
| 88 | 88 | ||
| 89 | <Button | 89 | <Button |
| 90 | android:id="@+id/btn_card_valiyanzhen" | 90 | android:id="@+id/btn_card_valiyanzhen" |
| 91 | style="@style/button_login_register_style" | 91 | style="@style/button_login_register_style" |
| 92 | android:layout_below="@id/rl_authcode" | 92 | android:layout_below="@id/rl_authcode" |
| 93 | android:layout_marginTop="30dp" | 93 | android:layout_marginTop="30dp" |
| 94 | android:text="@string/string_regist_next" /> | 94 | android:text="@string/string_regist_next" /> |
| 95 | </RelativeLayout> | 95 | </RelativeLayout> |
| 96 | 96 | ||
| 97 | </RelativeLayout> | 97 | </RelativeLayout> |