Commit d40389f8d60faa6ee69f88487bd77b85ddbc5a06
1 parent
5750ce3862
Exists in
master
优化和注册信息检查接口调试
Showing
30 changed files
with
688 additions
and
685 deletions
 
Show diff stats
PersonalCenter/app/build.gradle
| 1 | apply plugin: 'com.android.application' | 1 | apply plugin: 'com.android.application' | 
| 2 | 2 | ||
| 3 | android { | 3 | android { | 
| 4 | compileSdkVersion 25 | 4 | compileSdkVersion 25 | 
| 5 | buildToolsVersion "25.0.3" | 5 | buildToolsVersion "25.0.3" | 
| 6 | defaultConfig { | 6 | defaultConfig { | 
| 7 | applicationId "com.hjx.personalcenter" | 7 | applicationId "com.hjx.personalcenter" | 
| 8 | minSdkVersion 15 | 8 | minSdkVersion 15 | 
| 9 | targetSdkVersion 25 | 9 | targetSdkVersion 25 | 
| 10 | versionCode 1 | 10 | versionCode 1 | 
| 11 | versionName "1.0.0" | 11 | versionName "1.0.0" | 
| 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | 12 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | 
| 13 | } | 13 | } | 
| 14 | buildTypes { | 14 | buildTypes { | 
| 15 | release { | 15 | release { | 
| 16 | minifyEnabled false | 16 | minifyEnabled false | 
| 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | 17 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | 
| 18 | } | 18 | } | 
| 19 | } | 19 | } | 
| 20 | useLibrary 'org.apache.http.legacy' | 20 | useLibrary 'org.apache.http.legacy' | 
| 21 | sourceSets { | 21 | sourceSets { | 
| 22 | main { | 22 | main { | 
| 23 | jniLibs.srcDirs = ['libs'] | 23 | jniLibs.srcDirs = ['libs'] | 
| 24 | } | 24 | } | 
| 25 | } | 25 | } | 
| 26 | } | 26 | } | 
| 27 | 27 | ||
| 28 | dependencies { | 28 | dependencies { | 
| 29 | compile fileTree(include: ['*.jar'], dir: 'libs') | 29 | compile fileTree(include: ['*.jar'], dir: 'libs') | 
| 30 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { | 30 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { | 
| 31 | exclude group: 'com.android.support', module: 'support-annotations' | 31 | exclude group: 'com.android.support', module: 'support-annotations' | 
| 32 | }) | 32 | }) | 
| 33 | compile 'com.tencent.bugly:crashreport:latest.release' | 33 | compile 'com.tencent.bugly:crashreport:latest.release' | 
| 34 | compile 'org.apache.httpcomponents:httpcore:4.4.1' | 34 | compile 'org.apache.httpcomponents:httpcore:4.4.1' | 
| 35 | compile 'org.apache.httpcomponents:httpclient:4.5' | 35 | compile 'org.apache.httpcomponents:httpclient:4.5' | 
| 36 | compile 'com.android.support:appcompat-v7:25.3.1' | 36 | compile 'com.android.support:appcompat-v7:25.3.1' | 
| 37 | testCompile 'junit:junit:4.12' | 37 | testCompile 'junit:junit:4.12' | 
| 38 | compile project(':circledialog') | 38 | compile project(':circledialog') | 
| 39 | compile project(':pickerview') | 39 | compile project(':pickerview') | 
| 40 | compile files('libs/android-async-http-1.4.8.jar') | 40 | compile files('libs/android-async-http-1.4.8.jar') | 
| 41 | compile 'com.google.code.gson:gson:2.7' | 41 | compile 'com.google.code.gson:gson:2.7' | 
| 42 | compile 'com.zaaach:toprightmenu:1.0' | 42 | compile 'com.zaaach:toprightmenu:1.0' | 
| 43 | compile 'com.facebook.fresco:fresco:1.1.0' | 43 | compile 'com.facebook.fresco:fresco:1.1.0' | 
| 44 | compile 'com.android.support:recyclerview-v7:25.+' | 44 | compile 'com.android.support:recyclerview-v7:25.+' | 
| 45 | debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3' | 45 | debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3' | 
| 46 | releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3' | 46 | releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3' | 
| 47 | compile 'com.google.zxing:core:3.3.0' | 47 | compile 'com.google.zxing:core:3.3.0' | 
| 48 | compile 'com.google.zxing:android-core:3.3.0' | 48 | compile 'com.google.zxing:android-core:3.3.0' | 
| 49 | compile project(':mypresonallibrary') | 49 | compile project(path: ':mypresonallibrary') | 
| 50 | } | 50 | } | 
| 51 | 51 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/activity/LoginAndRegisterActivity.java
| 1 | package com.hjx.personalcenter.activity; | 1 | package com.hjx.personalcenter.activity; | 
| 2 | 2 | ||
| 3 | import android.content.Intent; | 3 | import android.content.Intent; | 
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; | 
| 5 | import android.provider.Settings; | ||
| 5 | import android.support.annotation.Nullable; | 6 | import android.support.annotation.Nullable; | 
| 6 | import android.support.v4.app.Fragment; | 7 | import android.support.v4.app.Fragment; | 
| 7 | import android.support.v4.view.ViewPager; | 8 | import android.support.v4.view.ViewPager; | 
| 8 | import android.support.v7.app.AppCompatActivity; | 9 | import android.support.v7.app.AppCompatActivity; | 
| 10 | import android.view.Gravity; | ||
| 11 | import android.view.View; | ||
| 9 | 12 | ||
| 10 | import com.hjx.personalcenter.R; | 13 | import com.hjx.personalcenter.R; | 
| 11 | import com.hjx.personalcenter.adapter.LoginAndRegisterAdapter; | 14 | import com.hjx.personalcenter.adapter.LoginAndRegisterAdapter; | 
| 12 | import com.hjx.personalcenter.db.SaveParam; | 15 | import com.hjx.personalcenter.db.SaveParam; | 
| 13 | import com.hjx.personalcenter.fragment.RegisterFragment; | ||
| 14 | import com.hjx.personalcenter.fragment.LoginFragment; | 16 | import com.hjx.personalcenter.fragment.LoginFragment; | 
| 17 | import com.hjx.personalcenter.fragment.RegisterFragment; | ||
| 15 | import com.hjx.personalcenter.thirdparty.SlidingTabLayout; | 18 | import com.hjx.personalcenter.thirdparty.SlidingTabLayout; | 
| 19 | import com.hjx.personalcenter.util.NetUtils; | ||
| 20 | import com.mylhyl.circledialog.CircleDialog; | ||
| 21 | import com.mylhyl.circledialog.callback.ConfigText; | ||
| 22 | import com.mylhyl.circledialog.params.TextParams; | ||
| 16 | 23 | ||
| 17 | import java.util.ArrayList; | 24 | import java.util.ArrayList; | 
| 18 | import java.util.Arrays; | 25 | import java.util.Arrays; | 
| 19 | import java.util.List; | 26 | import java.util.List; | 
| 20 | 27 | ||
| 21 | /** | 28 | /** | 
| 22 | * 登录和注册 熊巍 | 29 | * 登录和注册 熊巍 | 
| 23 | * Created by h on 2017/8/8. | 30 | * Created by h on 2017/8/8. | 
| 24 | */ | 31 | */ | 
| 25 | 32 | ||
| 26 | public class LoginAndRegisterActivity extends AppCompatActivity { | 33 | public class LoginAndRegisterActivity extends AppCompatActivity { | 
| 27 | private ViewPager viewPager; | 34 | private ViewPager viewPager; | 
| 28 | private SlidingTabLayout tableLayout; | 35 | private SlidingTabLayout tableLayout; | 
| 29 | private List<Fragment> loginlist; | 36 | private List<Fragment> loginlist; | 
| 30 | private LoginAndRegisterAdapter logindapter; | 37 | private LoginAndRegisterAdapter logindapter; | 
| 31 | private List<String> title = Arrays.asList("登录", "注册"); | 38 | private List<String> title = Arrays.asList("登录", "注册"); | 
| 32 | 39 | ||
| 33 | @Override | 40 | @Override | 
| 34 | protected void onCreate(@Nullable Bundle savedInstanceState) { | 41 | protected void onCreate(@Nullable Bundle savedInstanceState) { | 
| 35 | super.onCreate(savedInstanceState); | 42 | super.onCreate(savedInstanceState); | 
| 43 | //检查网络 | ||
| 44 | boolean isconnect = NetUtils.isNetworkConnected(this); | ||
| 45 | if (!isconnect){ | ||
| 46 | new CircleDialog.Builder(this) | ||
| 47 | .setCanceledOnTouchOutside(false) | ||
| 48 | .setCancelable(false) | ||
| 49 | .setWidth(0.5f) | ||
| 50 | .configText(new ConfigText() { | ||
| 51 | @Override | ||
| 52 | public void onConfig(TextParams params) { | ||
| 53 | params.gravity = Gravity.CENTER; | ||
| 54 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 55 | } | ||
| 56 | }) | ||
| 57 | .setText("当前无网络,请检查网络设置") | ||
| 58 | .setNegative("继续使用", null) | ||
| 59 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 60 | @Override | ||
| 61 | public void onClick(View v) { | ||
| 62 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 63 | startActivity(intent); | ||
| 64 | } | ||
| 65 | }) | ||
| 66 | .show(); | ||
| 67 | } | ||
| 36 | String islogin =SaveParam.getInstance().getLoginParam(this,"login"); | 68 | String islogin =SaveParam.getInstance().getLoginParam(this,"login"); | 
| 37 | String type =SaveParam.getInstance().getCustomizeParam(LoginAndRegisterActivity.this,SaveParam.ACCOUNT); | 69 | String type =SaveParam.getInstance().getCustomizeParam(LoginAndRegisterActivity.this,SaveParam.ACCOUNT); | 
| 38 | if (type==null){ | 70 | if (type==null){ | 
| 39 | SaveParam.getInstance().saveCustomizeParam(LoginAndRegisterActivity.this, SaveParam.ACCOUNT,"1"); | 71 | SaveParam.getInstance().saveCustomizeParam(LoginAndRegisterActivity.this, SaveParam.ACCOUNT,"1"); | 
| 40 | } | 72 | } | 
| 41 | if ("true".equals(islogin)){ | 73 | if ("true".equals(islogin)){ | 
| 42 | Intent intent = new Intent(); | 74 | Intent intent = new Intent(); | 
| 43 | intent.setClass(this,MainActivity.class); | 75 | intent.setClass(this,MainActivity.class); | 
| 44 | startActivity(intent); | 76 | startActivity(intent); | 
| 45 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | 77 | overridePendingTransition(R.anim.rightin, R.anim.rightout); | 
| 46 | finish(); | 78 | finish(); | 
| 47 | 79 | ||
| 48 | } | 80 | } | 
| 49 | setContentView(R.layout.activity_loginandregister); | 81 | setContentView(R.layout.activity_loginandregister); | 
| 50 | initView(); | 82 | initView(); | 
| 51 | initData(); | 83 | initData(); | 
| 52 | setLister(); | 84 | setLister(); | 
| 53 | } | 85 | } | 
| 54 | 86 | ||
| 55 | private void initView() { | 87 | private void initView() { | 
| 56 | viewPager = (ViewPager) findViewById(R.id.viewpager_login); | 88 | viewPager = (ViewPager) findViewById(R.id.viewpager_login); | 
| 57 | tableLayout = (SlidingTabLayout) findViewById(R.id.TabLayout_id); | 89 | tableLayout = (SlidingTabLayout) findViewById(R.id.TabLayout_id); | 
| 58 | } | 90 | } | 
| 59 | 91 | ||
| 60 | private void initData() { | 92 | private void initData() { | 
| 61 | loginlist = new ArrayList<>(); | 93 | loginlist = new ArrayList<>(); | 
| 62 | for (int i = 0; i < title.size(); i++) { | 94 | for (int i = 0; i < title.size(); i++) { | 
| 63 | if (title.get(i).equals("登录")) { | 95 | if (title.get(i).equals("登录")) { | 
| 64 | loginlist.add(LoginFragment.newInstance(i + 1)); | 96 | loginlist.add(LoginFragment.newInstance(i + 1)); | 
| 65 | } else { | 97 | } else { | 
| 66 | loginlist.add(RegisterFragment.newInstance(i + 1)); | 98 | loginlist.add(RegisterFragment.newInstance(i + 1)); | 
| 67 | } | 99 | } | 
| 68 | } | 100 | } | 
| 69 | 101 | ||
| 70 | 102 | ||
| 71 | //设置Tab上的标题 | 103 | //设置Tab上的标题 | 
| 72 | tableLayout.setData(title); | 104 | tableLayout.setData(title); | 
| 73 | //设置关联的ViewPager | 105 | //设置关联的ViewPager | 
| 74 | tableLayout.setViewPager(viewPager, 0); | 106 | tableLayout.setViewPager(viewPager, 0); | 
| 75 | logindapter = new LoginAndRegisterAdapter(loginlist, getSupportFragmentManager()); | 107 | logindapter = new LoginAndRegisterAdapter(loginlist, getSupportFragmentManager()); | 
| 76 | //给ViewPager设置适配器 | 108 | //给ViewPager设置适配器 | 
| 77 | viewPager.setAdapter(logindapter); | 109 | viewPager.setAdapter(logindapter); | 
| 78 | //设置滑动时数据不丢失 | 110 | //设置滑动时数据不丢失 | 
| 79 | viewPager.setOffscreenPageLimit(1); | 111 | viewPager.setOffscreenPageLimit(1); | 
| 80 | //将TabLayout和ViewPager关联起来。 | 112 | //将TabLayout和ViewPager关联起来。 | 
| 81 | } | 113 | } | 
| 82 | 114 | ||
| 83 | private void setLister() { | 115 | private void setLister() { | 
| 84 | 116 | ||
| 85 | } | 117 | } | 
| 86 | 118 | ||
| 87 | 119 | ||
| 88 | } | 120 | } | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/adapter/GridAdapter.java
| File was created | 1 | package com.hjx.personalcenter.adapter; | |
| 2 | |||
| 3 | import android.content.Context; | ||
| 4 | import android.view.View; | ||
| 5 | import android.view.ViewGroup; | ||
| 6 | import android.widget.BaseAdapter; | ||
| 7 | import android.widget.TextView; | ||
| 8 | |||
| 9 | import com.facebook.drawee.view.SimpleDraweeView; | ||
| 10 | import com.hjx.personalcenter.R; | ||
| 11 | import com.hjx.personalcenter.model.DefautPublishInfo; | ||
| 12 | |||
| 13 | import java.util.ArrayList; | ||
| 14 | |||
| 15 | /** | ||
| 16 | * Created by h on 2017/9/12. | ||
| 17 | */ | ||
| 18 | |||
| 19 | public class GridAdapter extends BaseAdapter { | ||
| 20 | private ArrayList<DefautPublishInfo> defautPublishInfo; | ||
| 21 | private Context context; | ||
| 22 | |||
| 23 | public GridAdapter(ArrayList<DefautPublishInfo> defautPublishInfo, Context context) { | ||
| 24 | this.defautPublishInfo = defautPublishInfo; | ||
| 25 | this.context = context; | ||
| 26 | } | ||
| 27 | |||
| 28 | @Override | ||
| 29 | public int getCount() { | ||
| 30 | return defautPublishInfo.size(); | ||
| 31 | } | ||
| 32 | |||
| 33 | @Override | ||
| 34 | public Object getItem(int position) { | ||
| 35 | return position; | ||
| 36 | } | ||
| 37 | |||
| 38 | @Override | ||
| 39 | public long getItemId(int position) { | ||
| 40 | return position; | ||
| 41 | } | ||
| 42 | |||
| 43 | @Override | ||
| 44 | public View getView(int position, View convertView, ViewGroup parent) { | ||
| 45 | ViewHolder viewHolder = new ViewHolder(); | ||
| 46 | if (convertView == null) { | ||
| 47 | convertView = View.inflate(context, R.layout.fragment_changge_version_info_itmes, null); | ||
| 48 | viewHolder.simpleDraweeView = (SimpleDraweeView) convertView.findViewById(R.id.image_publish); | ||
| 49 | viewHolder.subject = (TextView) convertView.findViewById(R.id.subject); | ||
| 50 | viewHolder.publish = (TextView) convertView.findViewById(R.id.tv_publish); | ||
| 51 | convertView.setTag(viewHolder); | ||
| 52 | } else { | ||
| 53 | viewHolder = (ViewHolder) convertView.getTag(); | ||
| 54 | } | ||
| 55 | viewHolder.simpleDraweeView.setImageURI(defautPublishInfo.get(position).getImagurl()); | ||
| 56 | viewHolder.subject.setText(defautPublishInfo.get(position).getSubjuct()); | ||
| 57 | viewHolder.publish.setText(defautPublishInfo.get(position).getPublish()); | ||
| 58 | return convertView; | ||
| 59 | } | ||
| 60 | |||
| 61 | static class ViewHolder { | ||
| 62 | SimpleDraweeView simpleDraweeView; | ||
| 63 | TextView subject; | ||
| 64 | TextView publish; | ||
| 65 | } | ||
| 66 | } | ||
| 67 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/CitysListDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.os.Handler; | 7 | import android.os.Handler; | 
| 7 | import android.os.Message; | 8 | import android.os.Message; | 
| 8 | import android.view.Gravity; | 9 | import android.view.Gravity; | 
| 9 | import android.view.LayoutInflater; | 10 | import android.view.LayoutInflater; | 
| 10 | import android.view.View; | 11 | import android.view.View; | 
| 11 | import android.view.ViewGroup; | 12 | import android.view.ViewGroup; | 
| 12 | import android.widget.AdapterView; | 13 | import android.widget.AdapterView; | 
| 13 | import android.widget.ImageView; | 14 | import android.widget.ImageView; | 
| 14 | import android.widget.ListView; | 15 | import android.widget.ListView; | 
| 15 | 16 | ||
| 16 | import com.hjx.personalcenter.R; | 17 | import com.hjx.personalcenter.R; | 
| 17 | import com.hjx.personalcenter.adapter.CitysAdapter; | 18 | import com.hjx.personalcenter.adapter.CitysAdapter; | 
| 18 | import com.hjx.personalcenter.db.SaveParam; | 19 | import com.hjx.personalcenter.db.SaveParam; | 
| 19 | import com.hjx.personalcenter.http.HttpCode; | 20 | import com.hjx.personalcenter.http.HttpCode; | 
| 20 | import com.hjx.personalcenter.http.HttpManager; | 21 | import com.hjx.personalcenter.http.HttpManager; | 
| 21 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 22 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 22 | import com.hjx.personalcenter.model.CityInfo; | 23 | import com.hjx.personalcenter.model.CityInfo; | 
| 23 | import com.mylhyl.circledialog.BaseCircleDialog; | 24 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 24 | import com.mylhyl.circledialog.res.values.CircleDimen; | 25 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 25 | 26 | ||
| 26 | import java.util.ArrayList; | 27 | import java.util.ArrayList; | 
| 27 | import java.util.List; | 28 | import java.util.List; | 
| 28 | 29 | ||
| 29 | /** | 30 | /** | 
| 30 | * 自定义市级列表对话框 | 31 | * 自定义市级列表对话框 | 
| 31 | * Created by h on 2017/8/10. | 32 | * Created by h on 2017/8/10. | 
| 32 | */ | 33 | */ | 
| 33 | 34 | @SuppressLint("ValidFragment") | |
| 34 | public class CitysListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 35 | public class CitysListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 
| 35 | private CitysAdapter listadapter; | 36 | private CitysAdapter listadapter; | 
| 36 | private ListView listView; | 37 | private ListView listView; | 
| 37 | private ImageView cance; | 38 | private ImageView cance; | 
| 39 | private Context context; | ||
| 38 | private DialogCallBack.CitysCallBack mCallBack; | 40 | private DialogCallBack.CitysCallBack mCallBack; | 
| 39 | private ArrayList<CityInfo.CitiesBean> data = new ArrayList<>(); | 41 | private ArrayList<CityInfo.CitiesBean> data = new ArrayList<>(); | 
| 42 | public CitysListDialog() { | ||
| 43 | context= getActivity(); | ||
| 44 | } | ||
| 40 | public CitysListDialog(DialogCallBack.CitysCallBack callBack) { | 45 | public CitysListDialog(DialogCallBack.CitysCallBack callBack) { | 
| 41 | this.mCallBack = callBack; | 46 | this.mCallBack = callBack; | 
| 42 | } | 47 | } | 
| 48 | |||
| 49 | |||
| 43 | public static CitysListDialog getInstance(DialogCallBack.CitysCallBack callBack) { | 50 | public static CitysListDialog getInstance(DialogCallBack.CitysCallBack callBack) { | 
| 44 | CitysListDialog dialogFragment = new CitysListDialog(callBack); | 51 | CitysListDialog dialogFragment = new CitysListDialog(callBack); | 
| 45 | dialogFragment.setCanceledBack(true); | 52 | dialogFragment.setCanceledBack(true); | 
| 46 | dialogFragment.setCanceledOnTouchOutside(false); | 53 | dialogFragment.setCanceledOnTouchOutside(false); | 
| 47 | dialogFragment.setRadius(CircleDimen.RADIUS); | 54 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 48 | dialogFragment.setWidth(0.5f); | 55 | dialogFragment.setWidth(0.5f); | 
| 49 | dialogFragment.setGravity(Gravity.CENTER); | 56 | dialogFragment.setGravity(Gravity.CENTER); | 
| 50 | dialogFragment.setBackgroundColor(Color.WHITE); | 57 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 51 | return dialogFragment; | 58 | return dialogFragment; | 
| 52 | } | 59 | } | 
| 53 | Handler handler = new Handler(){ | 60 | Handler handler = new Handler(){ | 
| 54 | @Override | 61 | @Override | 
| 55 | public void handleMessage(Message msg) { | 62 | public void handleMessage(Message msg) { | 
| 56 | super.handleMessage(msg); | 63 | super.handleMessage(msg); | 
| 57 | switch (msg.what){ | 64 | switch (msg.what){ | 
| 58 | case HttpCode.CITYS: | 65 | case HttpCode.CITYS: | 
| 59 | data.clear(); | 66 | data.clear(); | 
| 60 | data.addAll( (List<CityInfo.CitiesBean>)msg.obj); | 67 | data.addAll( (List<CityInfo.CitiesBean>)msg.obj); | 
| 61 | listadapter.notifyDataSetChanged(); | 68 | listadapter.notifyDataSetChanged(); | 
| 62 | break; | 69 | break; | 
| 63 | } | 70 | } | 
| 64 | } | 71 | } | 
| 65 | }; | 72 | }; | 
| 66 | 73 | ||
| 67 | @Override | 74 | @Override | 
| 68 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 75 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 69 | return inflater.inflate(R.layout.custom_adilog_cityslist, container, false); | 76 | return inflater.inflate(R.layout.custom_adilog_cityslist, container, false); | 
| 70 | } | 77 | } | 
| 71 | 78 | ||
| 72 | @Override | 79 | @Override | 
| 73 | public void onActivityCreated(Bundle savedInstanceState) { | 80 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 74 | super.onActivityCreated(savedInstanceState); | 81 | super.onActivityCreated(savedInstanceState); | 
| 75 | listView = (ListView) getView().findViewById(R.id.listadapter); | 82 | listView = (ListView) getView().findViewById(R.id.listadapter); | 
| 76 | cance = (ImageView) getView().findViewById(R.id.cancel); | 83 | cance = (ImageView) getView().findViewById(R.id.cancel); | 
| 77 | String citys = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.PROVINCES); | 84 | String citys = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.PROVINCES); | 
| 78 | listadapter = new CitysAdapter(data,getActivity()); | 85 | listadapter = new CitysAdapter(data,getActivity()); | 
| 79 | listView.setAdapter(listadapter); | 86 | listView.setAdapter(listadapter); | 
| 80 | listView.setOnItemClickListener(this); | 87 | listView.setOnItemClickListener(this); | 
| 81 | cance.setOnClickListener(new View.OnClickListener() { | 88 | cance.setOnClickListener(new View.OnClickListener() { | 
| 82 | @Override | 89 | @Override | 
| 83 | public void onClick(View v) { | 90 | public void onClick(View v) { | 
| 84 | dismiss(); | 91 | dismiss(); | 
| 85 | } | 92 | } | 
| 86 | }); | 93 | }); | 
| 87 | try { | 94 | try { | 
| 88 | long a = Long.parseLong(citys); | 95 | long a = Long.parseLong(citys); | 
| 89 | HttpManager.getInstance().cityinfo(getActivity(),a,handler); | 96 | HttpManager.getInstance().cityinfo(getActivity(),a,handler); | 
| 90 | } catch (NumberFormatException e) { | 97 | } catch (NumberFormatException e) { | 
| 91 | e.printStackTrace(); | 98 | e.printStackTrace(); | 
| 92 | } | 99 | } | 
| 93 | 100 | ||
| 94 | 101 | ||
| 95 | } | 102 | } | 
| 96 | 103 | ||
| 97 | @Override | 104 | @Override | 
| 98 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 105 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 99 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.CITYS, ""+data.get(position).getRegionId()); | 106 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.CITYS, ""+data.get(position).getRegionId()); | 
| 100 | mCallBack.province1OnItemClick(data,position,2); | 107 | mCallBack.province1OnItemClick(data,position,2); | 
| 101 | dismiss(); | 108 | dismiss(); | 
| 102 | 109 | ||
| 103 | } | 110 | } | 
| 104 | } | 111 | } | 
| 105 | 112 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/CountryDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.os.Handler; | 7 | import android.os.Handler; | 
| 7 | import android.os.Message; | 8 | import android.os.Message; | 
| 8 | import android.view.Gravity; | 9 | import android.view.Gravity; | 
| 9 | import android.view.LayoutInflater; | 10 | import android.view.LayoutInflater; | 
| 10 | import android.view.View; | 11 | import android.view.View; | 
| 11 | import android.view.ViewGroup; | 12 | import android.view.ViewGroup; | 
| 12 | import android.widget.AdapterView; | 13 | import android.widget.AdapterView; | 
| 13 | import android.widget.ImageView; | 14 | import android.widget.ImageView; | 
| 14 | import android.widget.ListView; | 15 | import android.widget.ListView; | 
| 15 | 16 | ||
| 16 | import com.hjx.personalcenter.R; | 17 | import com.hjx.personalcenter.R; | 
| 17 | import com.hjx.personalcenter.adapter.CountryAdapter; | 18 | import com.hjx.personalcenter.adapter.CountryAdapter; | 
| 18 | import com.hjx.personalcenter.db.SaveParam; | 19 | import com.hjx.personalcenter.db.SaveParam; | 
| 19 | import com.hjx.personalcenter.http.HttpCode; | 20 | import com.hjx.personalcenter.http.HttpCode; | 
| 20 | import com.hjx.personalcenter.http.HttpManager; | 21 | import com.hjx.personalcenter.http.HttpManager; | 
| 21 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 22 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 22 | import com.hjx.personalcenter.model.CountyInfo; | 23 | import com.hjx.personalcenter.model.CountyInfo; | 
| 23 | import com.mylhyl.circledialog.BaseCircleDialog; | 24 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 24 | import com.mylhyl.circledialog.res.values.CircleDimen; | 25 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 25 | 26 | ||
| 26 | import java.util.ArrayList; | 27 | import java.util.ArrayList; | 
| 27 | import java.util.List; | 28 | import java.util.List; | 
| 28 | 29 | ||
| 29 | /** | 30 | /** | 
| 30 | * Created by wei on 2017/8/21. | 31 | * Created by wei on 2017/8/21. | 
| 31 | */ | 32 | */ | 
| 32 | 33 | @SuppressLint("ValidFragment") | |
| 33 | public class CountryDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 34 | public class CountryDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 
| 34 | private CountryAdapter listadapter; | 35 | private CountryAdapter listadapter; | 
| 35 | private ListView listView; | 36 | private ListView listView; | 
| 36 | private ImageView cance; | 37 | private ImageView cance; | 
| 37 | private DialogCallBack.CountryCallBack mCallBack; | 38 | private DialogCallBack.CountryCallBack mCallBack; | 
| 38 | private ArrayList<CountyInfo.CountiesBean> data = new ArrayList<>(); | 39 | private ArrayList<CountyInfo.CountiesBean> data = new ArrayList<>(); | 
| 39 | public CountryDialog(DialogCallBack.CountryCallBack callBack) { | 40 | public CountryDialog(DialogCallBack.CountryCallBack callBack) { | 
| 40 | this.mCallBack = callBack; | 41 | this.mCallBack = callBack; | 
| 41 | } | 42 | } | 
| 42 | public static CountryDialog getInstance(DialogCallBack.CountryCallBack callBack) { | 43 | public static CountryDialog getInstance(DialogCallBack.CountryCallBack callBack) { | 
| 43 | CountryDialog dialogFragment = new CountryDialog(callBack); | 44 | CountryDialog dialogFragment = new CountryDialog(callBack); | 
| 44 | dialogFragment.setCanceledBack(true); | 45 | dialogFragment.setCanceledBack(true); | 
| 45 | dialogFragment.setCanceledOnTouchOutside(true); | 46 | dialogFragment.setCanceledOnTouchOutside(true); | 
| 46 | dialogFragment.setRadius(CircleDimen.RADIUS); | 47 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 47 | dialogFragment.setWidth(0.5f); | 48 | dialogFragment.setWidth(0.5f); | 
| 48 | dialogFragment.setGravity(Gravity.CENTER); | 49 | dialogFragment.setGravity(Gravity.CENTER); | 
| 49 | dialogFragment.setBackgroundColor(Color.WHITE); | 50 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 50 | return dialogFragment; | 51 | return dialogFragment; | 
| 51 | } | 52 | } | 
| 52 | Handler handler = new Handler(){ | 53 | Handler handler = new Handler(){ | 
| 53 | @Override | 54 | @Override | 
| 54 | public void handleMessage(Message msg) { | 55 | public void handleMessage(Message msg) { | 
| 55 | super.handleMessage(msg); | 56 | super.handleMessage(msg); | 
| 56 | switch (msg.what){ | 57 | switch (msg.what){ | 
| 57 | case HttpCode.COUNTRY: | 58 | case HttpCode.COUNTRY: | 
| 58 | 59 | ||
| 59 | data.clear(); | 60 | data.clear(); | 
| 60 | data.addAll( (List<CountyInfo.CountiesBean>)msg.obj); | 61 | data.addAll( (List<CountyInfo.CountiesBean>)msg.obj); | 
| 61 | listadapter.notifyDataSetChanged(); | 62 | listadapter.notifyDataSetChanged(); | 
| 62 | break; | 63 | break; | 
| 63 | } | 64 | } | 
| 64 | } | 65 | } | 
| 65 | }; | 66 | }; | 
| 66 | 67 | ||
| 67 | @Override | 68 | @Override | 
| 68 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 69 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 69 | return inflater.inflate(R.layout.custom_adilog_countrylist, container, false); | 70 | return inflater.inflate(R.layout.custom_adilog_countrylist, container, false); | 
| 70 | } | 71 | } | 
| 71 | 72 | ||
| 72 | @Override | 73 | @Override | 
| 73 | public void onActivityCreated(Bundle savedInstanceState) { | 74 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 74 | super.onActivityCreated(savedInstanceState); | 75 | super.onActivityCreated(savedInstanceState); | 
| 75 | listView = (ListView) getView().findViewById(R.id.listadapter); | 76 | listView = (ListView) getView().findViewById(R.id.listadapter); | 
| 76 | cance = (ImageView) getView().findViewById(R.id.cancel); | 77 | cance = (ImageView) getView().findViewById(R.id.cancel); | 
| 77 | String citys = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.CITYS); | 78 | String citys = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.CITYS); | 
| 78 | listadapter = new CountryAdapter(data,getActivity()); | 79 | listadapter = new CountryAdapter(data,getActivity()); | 
| 79 | listView.setAdapter(listadapter); | 80 | listView.setAdapter(listadapter); | 
| 80 | listView.setOnItemClickListener(this); | 81 | listView.setOnItemClickListener(this); | 
| 81 | cance.setOnClickListener(new View.OnClickListener() { | 82 | cance.setOnClickListener(new View.OnClickListener() { | 
| 82 | @Override | 83 | @Override | 
| 83 | public void onClick(View v) { | 84 | public void onClick(View v) { | 
| 84 | dismiss(); | 85 | dismiss(); | 
| 85 | } | 86 | } | 
| 86 | }); | 87 | }); | 
| 87 | try { | 88 | try { | 
| 88 | int a = Integer.parseInt(citys); | 89 | int a = Integer.parseInt(citys); | 
| 89 | HttpManager.getInstance().countyinfo(getActivity(),a,handler); | 90 | HttpManager.getInstance().countyinfo(getActivity(),a,handler); | 
| 90 | } catch (NumberFormatException e) { | 91 | } catch (NumberFormatException e) { | 
| 91 | e.printStackTrace(); | 92 | e.printStackTrace(); | 
| 92 | } | 93 | } | 
| 93 | 94 | ||
| 94 | 95 | ||
| 95 | } | 96 | } | 
| 96 | 97 | ||
| 97 | @Override | 98 | @Override | 
| 98 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 99 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 99 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.COUNTRY, ""+data.get(position).getRegionId()); | 100 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.COUNTRY, ""+data.get(position).getRegionId()); | 
| 100 | mCallBack.province2OnItemClick(data,position,3); | 101 | mCallBack.province2OnItemClick(data,position,3); | 
| 101 | dismiss(); | 102 | dismiss(); | 
| 102 | 103 | ||
| 103 | } | 104 | } | 
| 104 | } | 105 | } | 
| 105 | 106 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/ElectronicCardDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.content.Intent; | 5 | import android.content.Intent; | 
| 5 | import android.graphics.Color; | 6 | import android.graphics.Color; | 
| 6 | import android.os.Bundle; | 7 | import android.os.Bundle; | 
| 7 | import android.view.Gravity; | 8 | import android.view.Gravity; | 
| 8 | import android.view.LayoutInflater; | 9 | import android.view.LayoutInflater; | 
| 9 | import android.view.View; | 10 | import android.view.View; | 
| 10 | import android.view.ViewGroup; | 11 | import android.view.ViewGroup; | 
| 11 | import android.widget.ImageView; | 12 | import android.widget.ImageView; | 
| 12 | 13 | ||
| 13 | import com.hjx.personalcenter.R; | 14 | import com.hjx.personalcenter.R; | 
| 14 | import com.hjx.personalcenter.activity.ElectronicCardValidationActivity; | 15 | import com.hjx.personalcenter.activity.ElectronicCardValidationActivity; | 
| 15 | import com.mylhyl.circledialog.BaseCircleDialog; | 16 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 16 | import com.mylhyl.circledialog.res.values.CircleDimen; | 17 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 17 | 18 | ||
| 18 | /** | 19 | /** | 
| 19 | * Created by h on 2017/8/10. | 20 | * Created by h on 2017/8/10. | 
| 20 | */ | 21 | */ | 
| 21 | 22 | @SuppressLint("ValidFragment") | |
| 22 | public class ElectronicCardDialog extends BaseCircleDialog { | 23 | public class ElectronicCardDialog extends BaseCircleDialog { | 
| 23 | private ImageView cancel; | 24 | private ImageView cancel; | 
| 24 | public static ElectronicCardDialog getInstance() { | 25 | public static ElectronicCardDialog getInstance() { | 
| 25 | ElectronicCardDialog dialogFragment = new ElectronicCardDialog(); | 26 | ElectronicCardDialog dialogFragment = new ElectronicCardDialog(); | 
| 26 | dialogFragment.setCanceledBack(true); | 27 | dialogFragment.setCanceledBack(true); | 
| 27 | dialogFragment.setCanceledOnTouchOutside(true); | 28 | dialogFragment.setCanceledOnTouchOutside(true); | 
| 28 | dialogFragment.setRadius(CircleDimen.RADIUS); | 29 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 29 | dialogFragment.setWidth(0.8f); | 30 | dialogFragment.setWidth(0.8f); | 
| 30 | dialogFragment.setGravity(Gravity.CENTER); | 31 | dialogFragment.setGravity(Gravity.CENTER); | 
| 31 | dialogFragment.setBackgroundColor(Color.WHITE); | 32 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 32 | return dialogFragment; | 33 | return dialogFragment; | 
| 33 | } | 34 | } | 
| 34 | @Override | 35 | @Override | 
| 35 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 36 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 36 | return inflater.inflate(R.layout.custom_adilog_electroniccard, container, false); | 37 | return inflater.inflate(R.layout.custom_adilog_electroniccard, container, false); | 
| 37 | } | 38 | } | 
| 38 | @Override | 39 | @Override | 
| 39 | public void onActivityCreated(Bundle savedInstanceState) { | 40 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 40 | super.onActivityCreated(savedInstanceState); | 41 | super.onActivityCreated(savedInstanceState); | 
| 41 | getView().findViewById(R.id.fill_card).setOnClickListener(new View.OnClickListener() { | 42 | getView().findViewById(R.id.fill_card).setOnClickListener(new View.OnClickListener() { | 
| 42 | @Override | 43 | @Override | 
| 43 | public void onClick(View v) { | 44 | public void onClick(View v) { | 
| 44 | Intent intent = new Intent(); | 45 | Intent intent = new Intent(); | 
| 45 | intent.setClass(getActivity(),ElectronicCardValidationActivity.class); | 46 | intent.setClass(getActivity(),ElectronicCardValidationActivity.class); | 
| 46 | startActivity(intent); | 47 | startActivity(intent); | 
| 47 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 48 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 
| 48 | 49 | ||
| 49 | } | 50 | } | 
| 50 | }); | 51 | }); | 
| 51 | getView().findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() { | 52 | getView().findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() { | 
| 52 | @Override | 53 | @Override | 
| 53 | public void onClick(View v) { | 54 | public void onClick(View v) { | 
| 54 | dismiss(); | 55 | dismiss(); | 
| 55 | } | 56 | } | 
| 56 | }); | 57 | }); | 
| 57 | 58 | ||
| 58 | } | 59 | } | 
| 59 | 60 | ||
| 60 | } | 61 | } | 
| 61 | 62 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/GradeListDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.os.Handler; | 7 | import android.os.Handler; | 
| 7 | import android.os.Message; | 8 | import android.os.Message; | 
| 8 | import android.view.Gravity; | 9 | import android.view.Gravity; | 
| 9 | import android.view.LayoutInflater; | 10 | import android.view.LayoutInflater; | 
| 10 | import android.view.View; | 11 | import android.view.View; | 
| 11 | import android.view.ViewGroup; | 12 | import android.view.ViewGroup; | 
| 12 | import android.widget.AdapterView; | 13 | import android.widget.AdapterView; | 
| 13 | import android.widget.ImageView; | 14 | import android.widget.ImageView; | 
| 14 | import android.widget.ListView; | 15 | import android.widget.ListView; | 
| 15 | 16 | ||
| 16 | import com.hjx.personalcenter.R; | 17 | import com.hjx.personalcenter.R; | 
| 17 | import com.hjx.personalcenter.adapter.GrandeAdapter; | 18 | import com.hjx.personalcenter.adapter.GrandeAdapter; | 
| 18 | import com.hjx.personalcenter.db.SaveParam; | 19 | import com.hjx.personalcenter.db.SaveParam; | 
| 19 | import com.hjx.personalcenter.http.HttpCode; | 20 | import com.hjx.personalcenter.http.HttpCode; | 
| 20 | import com.hjx.personalcenter.http.HttpManager; | 21 | import com.hjx.personalcenter.http.HttpManager; | 
| 21 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 22 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 22 | import com.hjx.personalcenter.model.GradeInfo; | 23 | import com.hjx.personalcenter.model.GradeInfo; | 
| 23 | import com.mylhyl.circledialog.BaseCircleDialog; | 24 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 24 | import com.mylhyl.circledialog.res.values.CircleDimen; | 25 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 25 | 26 | ||
| 26 | import java.util.ArrayList; | 27 | import java.util.ArrayList; | 
| 27 | import java.util.List; | 28 | import java.util.List; | 
| 28 | 29 | ||
| 29 | /**自定义年级列表对话框 | 30 | /**自定义年级列表对话框 | 
| 30 | * Created by h on 2017/8/10. | 31 | * Created by h on 2017/8/10. | 
| 31 | */ | 32 | */ | 
| 32 | 33 | @SuppressLint("ValidFragment") | |
| 33 | public class GradeListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 34 | public class GradeListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 
| 34 | private GrandeAdapter listadapter; | 35 | private GrandeAdapter listadapter; | 
| 35 | private ListView listView; | 36 | private ListView listView; | 
| 36 | private ImageView cance; | 37 | private ImageView cance; | 
| 37 | ArrayList<GradeInfo.DataBean.ChildrenBean> data = new ArrayList<>(); | 38 | ArrayList<GradeInfo.DataBean.ChildrenBean> data = new ArrayList<>(); | 
| 38 | private DialogCallBack.GradeCallBack mCallBack; | 39 | private DialogCallBack.GradeCallBack mCallBack; | 
| 39 | public GradeListDialog(DialogCallBack.GradeCallBack callBack) { | 40 | public GradeListDialog(DialogCallBack.GradeCallBack callBack) { | 
| 40 | this.mCallBack = callBack; | 41 | this.mCallBack = callBack; | 
| 41 | } | 42 | } | 
| 42 | public static GradeListDialog getInstance(DialogCallBack.GradeCallBack callBack) { | 43 | public static GradeListDialog getInstance(DialogCallBack.GradeCallBack callBack) { | 
| 43 | GradeListDialog dialogFragment = new GradeListDialog(callBack); | 44 | GradeListDialog dialogFragment = new GradeListDialog(callBack); | 
| 44 | dialogFragment.setCanceledBack(true); | 45 | dialogFragment.setCanceledBack(true); | 
| 45 | dialogFragment.setCanceledOnTouchOutside(true); | 46 | dialogFragment.setCanceledOnTouchOutside(true); | 
| 46 | dialogFragment.setRadius(CircleDimen.RADIUS); | 47 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 47 | dialogFragment.setWidth(0.5f); | 48 | dialogFragment.setWidth(0.5f); | 
| 48 | dialogFragment.setGravity(Gravity.CENTER); | 49 | dialogFragment.setGravity(Gravity.CENTER); | 
| 49 | dialogFragment.setBackgroundColor(Color.WHITE); | 50 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 50 | return dialogFragment; | 51 | return dialogFragment; | 
| 51 | } | 52 | } | 
| 52 | Handler handler = new Handler(){ | 53 | Handler handler = new Handler(){ | 
| 53 | @Override | 54 | @Override | 
| 54 | public void handleMessage(Message msg) { | 55 | public void handleMessage(Message msg) { | 
| 55 | super.handleMessage(msg); | 56 | super.handleMessage(msg); | 
| 56 | switch (msg.what){ | 57 | switch (msg.what){ | 
| 57 | case HttpCode.GRADER: | 58 | case HttpCode.GRADER: | 
| 58 | data.clear(); | 59 | data.clear(); | 
| 59 | data.addAll( (List<GradeInfo.DataBean.ChildrenBean>)msg.obj); | 60 | data.addAll( (List<GradeInfo.DataBean.ChildrenBean>)msg.obj); | 
| 60 | listadapter.notifyDataSetChanged(); | 61 | listadapter.notifyDataSetChanged(); | 
| 61 | break; | 62 | break; | 
| 62 | } | 63 | } | 
| 63 | } | 64 | } | 
| 64 | }; | 65 | }; | 
| 65 | @Override | 66 | @Override | 
| 66 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 67 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 67 | 68 | ||
| 68 | return inflater.inflate(R.layout.custom_adilog_gradelist, container, false); | 69 | return inflater.inflate(R.layout.custom_adilog_gradelist, container, false); | 
| 69 | } | 70 | } | 
| 70 | @Override | 71 | @Override | 
| 71 | public void onActivityCreated(Bundle savedInstanceState) { | 72 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 72 | super.onActivityCreated(savedInstanceState); | 73 | super.onActivityCreated(savedInstanceState); | 
| 73 | listView = (ListView) getView().findViewById(R.id.listadapter); | 74 | listView = (ListView) getView().findViewById(R.id.listadapter); | 
| 74 | cance = (ImageView) getView().findViewById(R.id.cancel); | 75 | cance = (ImageView) getView().findViewById(R.id.cancel); | 
| 75 | listadapter = new GrandeAdapter(data,getActivity()); | 76 | listadapter = new GrandeAdapter(data,getActivity()); | 
| 76 | listView.setAdapter(listadapter); | 77 | listView.setAdapter(listadapter); | 
| 77 | listView.setOnItemClickListener(this); | 78 | listView.setOnItemClickListener(this); | 
| 78 | cance.setOnClickListener(new View.OnClickListener() { | 79 | cance.setOnClickListener(new View.OnClickListener() { | 
| 79 | @Override | 80 | @Override | 
| 80 | public void onClick(View v) { | 81 | public void onClick(View v) { | 
| 81 | dismiss(); | 82 | dismiss(); | 
| 82 | } | 83 | } | 
| 83 | }); | 84 | }); | 
| 84 | HttpManager.getInstance().getgrade(getActivity(),handler); | 85 | HttpManager.getInstance().getgrade(getActivity(),handler); | 
| 85 | 86 | ||
| 86 | } | 87 | } | 
| 87 | 88 | ||
| 88 | @Override | 89 | @Override | 
| 89 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 90 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 90 | 91 | ||
| 91 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.GRADENS, ""+data.get(position).getId()); | 92 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.GRADENS, ""+data.get(position).getId()); | 
| 92 | mCallBack.province3OnItemClick(data,position,5); | 93 | mCallBack.province3OnItemClick(data,position,5); | 
| 93 | dismiss(); | 94 | dismiss(); | 
| 94 | 95 | ||
| 95 | 96 | ||
| 96 | } | 97 | } | 
| 97 | } | 98 | } | 
| 98 | 99 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/HeadDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.view.Gravity; | 7 | import android.view.Gravity; | 
| 7 | import android.view.LayoutInflater; | 8 | import android.view.LayoutInflater; | 
| 8 | import android.view.View; | 9 | import android.view.View; | 
| 9 | import android.view.ViewGroup; | 10 | import android.view.ViewGroup; | 
| 10 | import android.widget.LinearLayout; | 11 | import android.widget.LinearLayout; | 
| 11 | import android.widget.RadioButton; | 12 | import android.widget.RadioButton; | 
| 12 | import android.widget.TextView; | 13 | import android.widget.TextView; | 
| 13 | 14 | ||
| 14 | import com.hjx.personalcenter.R; | 15 | import com.hjx.personalcenter.R; | 
| 15 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 16 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 16 | import com.mylhyl.circledialog.BaseCircleDialog; | 17 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 17 | import com.mylhyl.circledialog.res.values.CircleDimen; | 18 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 18 | 19 | ||
| 19 | /** | 20 | /** | 
| 20 | * Created by h on 2017/8/20. | 21 | * Created by h on 2017/8/20. | 
| 21 | */ | 22 | */ | 
| 22 | 23 | @SuppressLint("ValidFragment") | |
| 23 | public class HeadDialog extends BaseCircleDialog implements View.OnClickListener { | 24 | public class HeadDialog extends BaseCircleDialog implements View.OnClickListener { | 
| 24 | private View mView; | 25 | private View mView; | 
| 25 | private TextView oktakephone, cancetakephone; | 26 | private TextView oktakephone, cancetakephone; | 
| 26 | private LinearLayout take_pic,xiangce; | 27 | private LinearLayout take_pic,xiangce; | 
| 27 | private DialogCallBack.CallBackView mCallBack; | 28 | private DialogCallBack.CallBackView mCallBack; | 
| 28 | //默认头像选择 | 29 | //默认头像选择 | 
| 29 | RadioButton radio_head1,radio_head2,radio_head3,radio_head4; | 30 | RadioButton radio_head1,radio_head2,radio_head3,radio_head4; | 
| 30 | 31 | ||
| 31 | public HeadDialog(DialogCallBack.CallBackView callBack) { | 32 | public HeadDialog(DialogCallBack.CallBackView callBack) { | 
| 32 | this.mCallBack = callBack; | 33 | this.mCallBack = callBack; | 
| 33 | } | 34 | } | 
| 34 | 35 | ||
| 35 | public static HeadDialog getInstance(DialogCallBack.CallBackView callBackview) { | 36 | public static HeadDialog getInstance(DialogCallBack.CallBackView callBackview) { | 
| 36 | HeadDialog dialogFragment = new HeadDialog(callBackview); | 37 | HeadDialog dialogFragment = new HeadDialog(callBackview); | 
| 37 | dialogFragment.setCanceledBack(true); | 38 | dialogFragment.setCanceledBack(true); | 
| 38 | dialogFragment.setCanceledOnTouchOutside(false); | 39 | dialogFragment.setCanceledOnTouchOutside(false); | 
| 39 | dialogFragment.setRadius(CircleDimen.RADIUS); | 40 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 40 | dialogFragment.setWidth(0.4f); | 41 | dialogFragment.setWidth(0.4f); | 
| 41 | dialogFragment.setGravity(Gravity.CENTER); | 42 | dialogFragment.setGravity(Gravity.CENTER); | 
| 42 | dialogFragment.setBackgroundColor(Color.WHITE); | 43 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 43 | return dialogFragment; | 44 | return dialogFragment; | 
| 44 | } | 45 | } | 
| 45 | 46 | ||
| 46 | @Override | 47 | @Override | 
| 47 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 48 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 48 | 49 | ||
| 49 | if (mView == null) { | 50 | if (mView == null) { | 
| 50 | mView = inflater.inflate(R.layout.custom_adilog_lhead, container, false); | 51 | mView = inflater.inflate(R.layout.custom_adilog_lhead, container, false); | 
| 51 | } | 52 | } | 
| 52 | return mView; | 53 | return mView; | 
| 53 | } | 54 | } | 
| 54 | 55 | ||
| 55 | @Override | 56 | @Override | 
| 56 | public void onActivityCreated(Bundle savedInstanceState) { | 57 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 57 | super.onActivityCreated(savedInstanceState); | 58 | super.onActivityCreated(savedInstanceState); | 
| 58 | oktakephone = (TextView) mView.findViewById(R.id.oktakephone); | 59 | oktakephone = (TextView) mView.findViewById(R.id.oktakephone); | 
| 59 | cancetakephone = (TextView) mView.findViewById(R.id.canceltakephone); | 60 | cancetakephone = (TextView) mView.findViewById(R.id.canceltakephone); | 
| 60 | take_pic = (LinearLayout) mView.findViewById(R.id.take_pic); | 61 | take_pic = (LinearLayout) mView.findViewById(R.id.take_pic); | 
| 61 | xiangce = (LinearLayout) mView.findViewById(R.id.xiangce); | 62 | xiangce = (LinearLayout) mView.findViewById(R.id.xiangce); | 
| 62 | radio_head1 = (RadioButton)mView .findViewById(R.id.radio_head1); | 63 | radio_head1 = (RadioButton)mView .findViewById(R.id.radio_head1); | 
| 63 | radio_head2 = (RadioButton)mView .findViewById(R.id.radio_head2); | 64 | radio_head2 = (RadioButton)mView .findViewById(R.id.radio_head2); | 
| 64 | radio_head3 = (RadioButton)mView .findViewById(R.id.radio_head3); | 65 | radio_head3 = (RadioButton)mView .findViewById(R.id.radio_head3); | 
| 65 | radio_head4 = (RadioButton)mView .findViewById(R.id.radio_head4); | 66 | radio_head4 = (RadioButton)mView .findViewById(R.id.radio_head4); | 
| 66 | oktakephone.setOnClickListener(this); | 67 | oktakephone.setOnClickListener(this); | 
| 67 | cancetakephone.setOnClickListener(this); | 68 | cancetakephone.setOnClickListener(this); | 
| 68 | take_pic.setOnClickListener(this); | 69 | take_pic.setOnClickListener(this); | 
| 69 | xiangce.setOnClickListener(this); | 70 | xiangce.setOnClickListener(this); | 
| 70 | 71 | ||
| 71 | 72 | ||
| 72 | } | 73 | } | 
| 73 | 74 | ||
| 74 | @Override | 75 | @Override | 
| 75 | public void onClick(View v) { | 76 | public void onClick(View v) { | 
| 76 | int headweizhi; | 77 | int headweizhi; | 
| 77 | if (radio_head1.isChecked()){ | 78 | if (radio_head1.isChecked()){ | 
| 78 | headweizhi =1; | 79 | headweizhi =1; | 
| 79 | } else if (radio_head2.isChecked()) { | 80 | } else if (radio_head2.isChecked()) { | 
| 80 | headweizhi =2; | 81 | headweizhi =2; | 
| 81 | }else if (radio_head3.isChecked()) { | 82 | }else if (radio_head3.isChecked()) { | 
| 82 | headweizhi =3; | 83 | headweizhi =3; | 
| 83 | }else if (radio_head4.isChecked()) { | 84 | }else if (radio_head4.isChecked()) { | 
| 84 | headweizhi =4; | 85 | headweizhi =4; | 
| 85 | }else { | 86 | }else { | 
| 86 | headweizhi =0; | 87 | headweizhi =0; | 
| 87 | } | 88 | } | 
| 88 | mCallBack.heard(getActivity(), v,headweizhi); | 89 | mCallBack.heard(getActivity(), v,headweizhi); | 
| 89 | dismiss(); | 90 | dismiss(); | 
| 90 | } | 91 | } | 
| 91 | } | 92 | } | 
| 92 | 93 | 
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.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.os.Handler; | 7 | import android.os.Handler; | 
| 7 | import android.os.Message; | 8 | import android.os.Message; | 
| 8 | import android.view.Gravity; | 9 | import android.view.Gravity; | 
| 9 | import android.view.LayoutInflater; | 10 | import android.view.LayoutInflater; | 
| 10 | import android.view.View; | 11 | import android.view.View; | 
| 11 | import android.view.ViewGroup; | 12 | import android.view.ViewGroup; | 
| 12 | import android.widget.AdapterView; | 13 | import android.widget.AdapterView; | 
| 13 | import android.widget.ImageView; | 14 | import android.widget.ImageView; | 
| 14 | import android.widget.ListView; | 15 | import android.widget.ListView; | 
| 15 | 16 | ||
| 16 | import com.hjx.personalcenter.R; | 17 | import com.hjx.personalcenter.R; | 
| 17 | import com.hjx.personalcenter.adapter.ProvincesAdapter; | 18 | import com.hjx.personalcenter.adapter.ProvincesAdapter; | 
| 18 | import com.hjx.personalcenter.db.SaveParam; | 19 | import com.hjx.personalcenter.db.SaveParam; | 
| 19 | import com.hjx.personalcenter.http.HttpCode; | 20 | import com.hjx.personalcenter.http.HttpCode; | 
| 20 | import com.hjx.personalcenter.http.HttpManager; | 21 | import com.hjx.personalcenter.http.HttpManager; | 
| 21 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 22 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 22 | import com.hjx.personalcenter.model.ProvinceInfo; | 23 | import com.hjx.personalcenter.model.ProvinceInfo; | 
| 23 | import com.mylhyl.circledialog.BaseCircleDialog; | 24 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 24 | import com.mylhyl.circledialog.res.values.CircleDimen; | 25 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 25 | 26 | ||
| 26 | import java.util.ArrayList; | 27 | import java.util.ArrayList; | 
| 27 | import java.util.List; | 28 | import java.util.List; | 
| 28 | 29 | ||
| 29 | /** | 30 | /** | 
| 30 | * 自定义年级列表对话框 | 31 | * 自定义年级列表对话框 | 
| 31 | * Created by h on 2017/8/10. | 32 | * Created by h on 2017/8/10. | 
| 32 | */ | 33 | */ | 
| 33 | 34 | @SuppressLint("ValidFragment") | |
| 34 | public class ProvinceListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 35 | public class ProvinceListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 
| 35 | private ProvincesAdapter listadapter; | 36 | private ProvincesAdapter listadapter; | 
| 36 | private ImageView cance; | 37 | private ImageView cance; | 
| 37 | private ListView listView; | 38 | private ListView listView; | 
| 38 | private ArrayList<ProvinceInfo.ProvincesBean> data = new ArrayList<>(); | 39 | private ArrayList<ProvinceInfo.ProvincesBean> data = new ArrayList<>(); | 
| 39 | 40 | ||
| 40 | private DialogCallBack.ProvincesCallBack mCallBack; | 41 | private DialogCallBack.ProvincesCallBack mCallBack; | 
| 41 | 42 | ||
| 42 | Handler handler = new Handler(){ | 43 | Handler handler = new Handler(){ | 
| 43 | @Override | 44 | @Override | 
| 44 | public void handleMessage(Message msg) { | 45 | public void handleMessage(Message msg) { | 
| 45 | super.handleMessage(msg); | 46 | super.handleMessage(msg); | 
| 46 | switch (msg.what){ | 47 | switch (msg.what){ | 
| 47 | case HttpCode.PROVICES: | 48 | case HttpCode.PROVICES: | 
| 48 | data.clear(); | 49 | data.clear(); | 
| 49 | data.addAll( (List<ProvinceInfo.ProvincesBean>)msg.obj); | 50 | data.addAll( (List<ProvinceInfo.ProvincesBean>)msg.obj); | 
| 50 | listadapter.notifyDataSetChanged(); | 51 | listadapter.notifyDataSetChanged(); | 
| 51 | 52 | ||
| 52 | break; | 53 | break; | 
| 53 | } | 54 | } | 
| 54 | } | 55 | } | 
| 55 | }; | 56 | }; | 
| 56 | public ProvinceListDialog(DialogCallBack.ProvincesCallBack callBack) { | 57 | public ProvinceListDialog(DialogCallBack.ProvincesCallBack callBack) { | 
| 57 | this.mCallBack = callBack; | 58 | this.mCallBack = callBack; | 
| 58 | } | 59 | } | 
| 59 | 60 | ||
| 60 | public static ProvinceListDialog getInstance(DialogCallBack.ProvincesCallBack callBack) { | 61 | public static ProvinceListDialog getInstance(DialogCallBack.ProvincesCallBack callBack) { | 
| 61 | ProvinceListDialog dialogFragment = new ProvinceListDialog(callBack); | 62 | ProvinceListDialog dialogFragment = new ProvinceListDialog(callBack); | 
| 62 | dialogFragment.setCanceledBack(true); | 63 | dialogFragment.setCanceledBack(true); | 
| 63 | dialogFragment.setCanceledOnTouchOutside(true); | 64 | dialogFragment.setCanceledOnTouchOutside(true); | 
| 64 | dialogFragment.setRadius(CircleDimen.RADIUS); | 65 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 65 | dialogFragment.setWidth(0.5f); | 66 | dialogFragment.setWidth(0.5f); | 
| 66 | dialogFragment.setGravity(Gravity.CENTER); | 67 | dialogFragment.setGravity(Gravity.CENTER); | 
| 67 | dialogFragment.setBackgroundColor(Color.WHITE); | 68 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 68 | return dialogFragment; | 69 | return dialogFragment; | 
| 69 | } | 70 | } | 
| 70 | 71 | ||
| 71 | @Override | 72 | @Override | 
| 72 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 73 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 73 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); | 74 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); | 
| 74 | } | 75 | } | 
| 75 | 76 | ||
| 76 | @Override | 77 | @Override | 
| 77 | public void onActivityCreated(Bundle savedInstanceState) { | 78 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 78 | super.onActivityCreated(savedInstanceState); | 79 | super.onActivityCreated(savedInstanceState); | 
| 79 | listView = (ListView) getView().findViewById(R.id.listadapter); | 80 | listView = (ListView) getView().findViewById(R.id.listadapter); | 
| 80 | cance = (ImageView) getView().findViewById(R.id.cancel); | 81 | cance = (ImageView) getView().findViewById(R.id.cancel); | 
| 81 | listadapter = new ProvincesAdapter(data,getActivity()); | 82 | listadapter = new ProvincesAdapter(data,getActivity()); | 
| 82 | listView.setAdapter(listadapter); | 83 | listView.setAdapter(listadapter); | 
| 83 | listView.setOnItemClickListener(this); | 84 | listView.setOnItemClickListener(this); | 
| 84 | cance.setOnClickListener(new View.OnClickListener() { | 85 | cance.setOnClickListener(new View.OnClickListener() { | 
| 85 | @Override | 86 | @Override | 
| 86 | public void onClick(View v) { | 87 | public void onClick(View v) { | 
| 87 | dismiss(); | 88 | dismiss(); | 
| 88 | } | 89 | } | 
| 89 | }); | 90 | }); | 
| 90 | HttpManager.getInstance().provices(getActivity(),handler); | 91 | HttpManager.getInstance().provices(getActivity(),handler); | 
| 91 | 92 | ||
| 92 | } | 93 | } | 
| 93 | 94 | ||
| 94 | @Override | 95 | @Override | 
| 95 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 96 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 96 | //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); | 97 | //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); | 
| 97 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.PROVINCES, ""+data.get(position).getRegionId()); | 98 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.PROVINCES, ""+data.get(position).getRegionId()); | 
| 98 | mCallBack.provinceOnItemClick(data,position,1); | 99 | mCallBack.provinceOnItemClick(data,position,1); | 
| 99 | dismiss(); | 100 | dismiss(); | 
| 100 | 101 | ||
| 101 | } | 102 | } | 
| 102 | } | 103 | } | 
| 103 | 104 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/SchoolListDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.os.Handler; | 7 | import android.os.Handler; | 
| 7 | import android.os.Message; | 8 | import android.os.Message; | 
| 8 | import android.text.Editable; | 9 | import android.text.Editable; | 
| 9 | import android.text.TextWatcher; | 10 | import android.text.TextWatcher; | 
| 10 | import android.view.Gravity; | 11 | import android.view.Gravity; | 
| 11 | import android.view.LayoutInflater; | 12 | import android.view.LayoutInflater; | 
| 12 | import android.view.View; | 13 | import android.view.View; | 
| 13 | import android.view.ViewGroup; | 14 | import android.view.ViewGroup; | 
| 14 | import android.widget.AdapterView; | 15 | import android.widget.AdapterView; | 
| 15 | import android.widget.EditText; | 16 | import android.widget.EditText; | 
| 16 | import android.widget.ImageView; | 17 | import android.widget.ImageView; | 
| 17 | import android.widget.ListView; | 18 | import android.widget.ListView; | 
| 18 | 19 | ||
| 19 | import com.hjx.personalcenter.R; | 20 | import com.hjx.personalcenter.R; | 
| 20 | import com.hjx.personalcenter.adapter.SchoolAdapter; | 21 | import com.hjx.personalcenter.adapter.SchoolAdapter; | 
| 21 | import com.hjx.personalcenter.db.SaveParam; | 22 | import com.hjx.personalcenter.db.SaveParam; | 
| 22 | import com.hjx.personalcenter.http.HttpCode; | 23 | import com.hjx.personalcenter.http.HttpCode; | 
| 23 | import com.hjx.personalcenter.http.HttpManager; | 24 | import com.hjx.personalcenter.http.HttpManager; | 
| 24 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 25 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 25 | import com.hjx.personalcenter.model.SchoolInfo; | 26 | import com.hjx.personalcenter.model.SchoolInfo; | 
| 26 | import com.mylhyl.circledialog.BaseCircleDialog; | 27 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 27 | import com.mylhyl.circledialog.res.values.CircleDimen; | 28 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 28 | 29 | ||
| 29 | import java.util.ArrayList; | 30 | import java.util.ArrayList; | 
| 30 | import java.util.List; | 31 | import java.util.List; | 
| 31 | 32 | ||
| 32 | /** | 33 | /** | 
| 33 | * Created by h on 2017/8/21. | 34 | * Created by h on 2017/8/21. | 
| 34 | */ | 35 | */ | 
| 35 | 36 | @SuppressLint("ValidFragment") | |
| 36 | public class SchoolListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 37 | public class SchoolListDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 
| 37 | private ListView school_list; | 38 | private ListView school_list; | 
| 38 | private EditText school_sech; | 39 | private EditText school_sech; | 
| 39 | private SchoolAdapter listadapter; | 40 | private SchoolAdapter listadapter; | 
| 40 | private ImageView cance; | 41 | private ImageView cance; | 
| 41 | private View mView; | 42 | private View mView; | 
| 42 | boolean isFilter; | 43 | boolean isFilter; | 
| 43 | ArrayList<SchoolInfo.DataBean> data = new ArrayList<>(); | 44 | ArrayList<SchoolInfo.DataBean> data = new ArrayList<>(); | 
| 44 | private DialogCallBack.SchoolCallBack mCallBack; | 45 | private DialogCallBack.SchoolCallBack mCallBack; | 
| 45 | 46 | ||
| 46 | // public SchoolListDialog(DialogCallBack.CallBackView callBack) { | 47 | // public SchoolListDialog(DialogCallBack.CallBackView callBack) { | 
| 47 | // this.mCallBack = callBack; | 48 | // this.mCallBack = callBack; | 
| 48 | // } | 49 | // } | 
| 49 | public SchoolListDialog(DialogCallBack.SchoolCallBack callBack) { | 50 | public SchoolListDialog(DialogCallBack.SchoolCallBack callBack) { | 
| 50 | this.mCallBack = callBack; | 51 | this.mCallBack = callBack; | 
| 51 | } | 52 | } | 
| 52 | 53 | ||
| 53 | public static SchoolListDialog getInstance(DialogCallBack.SchoolCallBack mCallBack) { | 54 | public static SchoolListDialog getInstance(DialogCallBack.SchoolCallBack mCallBack) { | 
| 54 | SchoolListDialog dialogFragment = new SchoolListDialog(mCallBack); | 55 | SchoolListDialog dialogFragment = new SchoolListDialog(mCallBack); | 
| 55 | dialogFragment.setCanceledBack(true); | 56 | dialogFragment.setCanceledBack(true); | 
| 56 | dialogFragment.setCanceledOnTouchOutside(true); | 57 | dialogFragment.setCanceledOnTouchOutside(true); | 
| 57 | dialogFragment.setRadius(CircleDimen.RADIUS); | 58 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 58 | dialogFragment.setWidth(0.5f); | 59 | dialogFragment.setWidth(0.5f); | 
| 59 | dialogFragment.setGravity(Gravity.CENTER); | 60 | dialogFragment.setGravity(Gravity.CENTER); | 
| 60 | dialogFragment.setBackgroundColor(Color.WHITE); | 61 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 61 | return dialogFragment; | 62 | return dialogFragment; | 
| 62 | } | 63 | } | 
| 63 | 64 | ||
| 64 | Handler handler = new Handler(){ | 65 | Handler handler = new Handler(){ | 
| 65 | @Override | 66 | @Override | 
| 66 | public void handleMessage(Message msg) { | 67 | public void handleMessage(Message msg) { | 
| 67 | super.handleMessage(msg); | 68 | super.handleMessage(msg); | 
| 68 | switch (msg.what){ | 69 | switch (msg.what){ | 
| 69 | case HttpCode.SCHOOL: | 70 | case HttpCode.SCHOOL: | 
| 70 | data.clear(); | 71 | data.clear(); | 
| 71 | data.addAll( (List<SchoolInfo.DataBean>)msg.obj); | 72 | data.addAll( (List<SchoolInfo.DataBean>)msg.obj); | 
| 72 | listadapter.notifyDataSetChanged(); | 73 | listadapter.notifyDataSetChanged(); | 
| 73 | break; | 74 | break; | 
| 74 | } | 75 | } | 
| 75 | } | 76 | } | 
| 76 | }; | 77 | }; | 
| 77 | 78 | ||
| 78 | 79 | ||
| 79 | @Override | 80 | @Override | 
| 80 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 81 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 81 | 82 | ||
| 82 | if (mView == null) { | 83 | if (mView == null) { | 
| 83 | mView = inflater.inflate(R.layout.custom_adilog_school_list, container, false); | 84 | mView = inflater.inflate(R.layout.custom_adilog_school_list, container, false); | 
| 84 | //mCallBack.provinceOnItemClick(context, inflater, container); | 85 | //mCallBack.provinceOnItemClick(context, inflater, container); | 
| 85 | } | 86 | } | 
| 86 | return mView; | 87 | return mView; | 
| 87 | } | 88 | } | 
| 88 | 89 | ||
| 89 | @Override | 90 | @Override | 
| 90 | public void onActivityCreated(Bundle savedInstanceState) { | 91 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 91 | super.onActivityCreated(savedInstanceState); | 92 | super.onActivityCreated(savedInstanceState); | 
| 92 | school_list = (ListView) getView().findViewById(R.id.listschooladapter); | 93 | school_list = (ListView) getView().findViewById(R.id.listschooladapter); | 
| 93 | school_sech = (EditText) getView().findViewById(R.id.et_school_sech); | 94 | school_sech = (EditText) getView().findViewById(R.id.et_school_sech); | 
| 94 | cance = (ImageView) getView().findViewById(R.id.cancel); | 95 | cance = (ImageView) getView().findViewById(R.id.cancel); | 
| 95 | String citys = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.CITYS); | 96 | String citys = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.CITYS); | 
| 96 | String grade = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.GRADENS); | 97 | String grade = SaveParam.getInstance().getLoginParam(getActivity(), SaveParam.GRADENS); | 
| 97 | listadapter = new SchoolAdapter(data, getActivity()); | 98 | listadapter = new SchoolAdapter(data, getActivity()); | 
| 98 | school_list.setAdapter(listadapter); | 99 | school_list.setAdapter(listadapter); | 
| 99 | school_list.setOnItemClickListener(this); | 100 | school_list.setOnItemClickListener(this); | 
| 100 | cance.setOnClickListener(new View.OnClickListener() { | 101 | cance.setOnClickListener(new View.OnClickListener() { | 
| 101 | @Override | 102 | @Override | 
| 102 | public void onClick(View v) { | 103 | public void onClick(View v) { | 
| 103 | dismiss(); | 104 | dismiss(); | 
| 104 | } | 105 | } | 
| 105 | }); | 106 | }); | 
| 106 | try { | 107 | try { | 
| 107 | int a = Integer.parseInt(citys); | 108 | int a = Integer.parseInt(citys); | 
| 108 | int b = Integer.parseInt(grade); | 109 | int b = Integer.parseInt(grade); | 
| 109 | HttpManager.getInstance().getschool(getActivity(),a,b,handler); | 110 | HttpManager.getInstance().getschool(getActivity(),a,b,handler); | 
| 110 | } catch (NumberFormatException e) { | 111 | } catch (NumberFormatException e) { | 
| 111 | e.printStackTrace(); | 112 | e.printStackTrace(); | 
| 112 | } | 113 | } | 
| 113 | intiEditView(); | 114 | intiEditView(); | 
| 114 | 115 | ||
| 115 | 116 | ||
| 116 | } | 117 | } | 
| 117 | private void intiEditView() { | 118 | private void intiEditView() { | 
| 118 | school_sech.addTextChangedListener(new TextWatcher() { | 119 | school_sech.addTextChangedListener(new TextWatcher() { | 
| 119 | @Override | 120 | @Override | 
| 120 | public void beforeTextChanged(CharSequence s, int start, int count, int after) { | 121 | public void beforeTextChanged(CharSequence s, int start, int count, int after) { | 
| 121 | 122 | ||
| 122 | } | 123 | } | 
| 123 | 124 | ||
| 124 | @Override | 125 | @Override | 
| 125 | public void onTextChanged(CharSequence s, int start, int before, int count) { | 126 | public void onTextChanged(CharSequence s, int start, int before, int count) { | 
| 126 | // mAdapter.getFilter().filter(s); | 127 | // mAdapter.getFilter().filter(s); | 
| 127 | 128 | ||
| 128 | listadapter.getFilter().filter(s); | 129 | listadapter.getFilter().filter(s); | 
| 129 | } | 130 | } | 
| 130 | 131 | ||
| 131 | @Override | 132 | @Override | 
| 132 | public void afterTextChanged(Editable s) { | 133 | public void afterTextChanged(Editable s) { | 
| 133 | 134 | ||
| 134 | } | 135 | } | 
| 135 | }); | 136 | }); | 
| 136 | } | 137 | } | 
| 137 | 138 | ||
| 138 | @Override | 139 | @Override | 
| 139 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 140 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 140 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.SCHOOOlID, ""+data.get(position).getSchoolId()); | 141 | SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.SCHOOOlID, ""+data.get(position).getSchoolId()); | 
| 141 | mCallBack.provinceO4nItemClick(data,position,4); | 142 | mCallBack.provinceO4nItemClick(data,position,4); | 
| 142 | dismiss(); | 143 | dismiss(); | 
| 143 | 144 | ||
| 144 | } | 145 | } | 
| 145 | } | 146 | } | 
| 146 | 147 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/customdialog/VerSionDialog.java
| 1 | package com.hjx.personalcenter.customdialog; | 1 | package com.hjx.personalcenter.customdialog; | 
| 2 | 2 | ||
| 3 | import android.annotation.SuppressLint; | ||
| 3 | import android.content.Context; | 4 | import android.content.Context; | 
| 4 | import android.graphics.Color; | 5 | import android.graphics.Color; | 
| 5 | import android.os.Bundle; | 6 | import android.os.Bundle; | 
| 6 | import android.os.Handler; | 7 | import android.os.Handler; | 
| 7 | import android.os.Message; | 8 | import android.os.Message; | 
| 8 | import android.util.Log; | 9 | import android.util.Log; | 
| 9 | import android.view.Gravity; | 10 | import android.view.Gravity; | 
| 10 | import android.view.LayoutInflater; | 11 | import android.view.LayoutInflater; | 
| 11 | import android.view.View; | 12 | import android.view.View; | 
| 12 | import android.view.ViewGroup; | 13 | import android.view.ViewGroup; | 
| 13 | import android.widget.AdapterView; | 14 | import android.widget.AdapterView; | 
| 14 | import android.widget.ImageView; | 15 | import android.widget.ImageView; | 
| 15 | import android.widget.ListView; | 16 | import android.widget.ListView; | 
| 16 | 17 | ||
| 17 | import com.hjx.personalcenter.R; | 18 | import com.hjx.personalcenter.R; | 
| 18 | import com.hjx.personalcenter.adapter.VersionAdapter; | 19 | import com.hjx.personalcenter.adapter.VersionAdapter; | 
| 19 | import com.hjx.personalcenter.db.SaveParam; | 20 | import com.hjx.personalcenter.db.SaveParam; | 
| 20 | import com.hjx.personalcenter.http.HttpCode; | 21 | import com.hjx.personalcenter.http.HttpCode; | 
| 21 | import com.hjx.personalcenter.http.HttpManager; | 22 | import com.hjx.personalcenter.http.HttpManager; | 
| 22 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 23 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 23 | import com.hjx.personalcenter.model.VersionInfo; | 24 | import com.hjx.personalcenter.model.VersionInfo; | 
| 24 | import com.mylhyl.circledialog.BaseCircleDialog; | 25 | import com.mylhyl.circledialog.BaseCircleDialog; | 
| 25 | import com.mylhyl.circledialog.res.values.CircleDimen; | 26 | import com.mylhyl.circledialog.res.values.CircleDimen; | 
| 26 | 27 | ||
| 27 | import java.util.ArrayList; | 28 | import java.util.ArrayList; | 
| 28 | import java.util.List; | 29 | import java.util.List; | 
| 29 | 30 | ||
| 30 | /** | 31 | /** | 
| 31 | * 自定义版本信息列表对话框 | 32 | * 自定义版本信息列表对话框 | 
| 32 | * Created by h on 2017/8/10. | 33 | * Created by h on 2017/8/10. | 
| 33 | */ | 34 | */ | 
| 34 | 35 | @SuppressLint("ValidFragment") | |
| 35 | public class VerSionDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 36 | public class VerSionDialog extends BaseCircleDialog implements AdapterView.OnItemClickListener { | 
| 36 | private VersionAdapter listadapter; | 37 | private VersionAdapter listadapter; | 
| 37 | private ImageView cance; | 38 | private ImageView cance; | 
| 38 | private ListView listView; | 39 | private ListView listView; | 
| 39 | private ArrayList<VersionInfo.DataBean> data = new ArrayList<>(); | 40 | private ArrayList<VersionInfo.DataBean> data = new ArrayList<>(); | 
| 40 | 41 | ||
| 41 | private DialogCallBack.VersionCallBack mCallBack; | 42 | private DialogCallBack.VersionCallBack mCallBack; | 
| 42 | 43 | ||
| 43 | Handler handler = new Handler(){ | 44 | Handler handler = new Handler(){ | 
| 44 | @Override | 45 | @Override | 
| 45 | public void handleMessage(Message msg) { | 46 | public void handleMessage(Message msg) { | 
| 46 | super.handleMessage(msg); | 47 | super.handleMessage(msg); | 
| 47 | switch (msg.what){ | 48 | switch (msg.what){ | 
| 48 | case HttpCode.VERSION_SUCESS: | 49 | case HttpCode.VERSION_SUCESS: | 
| 49 | data.clear(); | 50 | data.clear(); | 
| 50 | data.addAll( (List<VersionInfo.DataBean>)msg.obj); | 51 | data.addAll( (List<VersionInfo.DataBean>)msg.obj); | 
| 51 | listadapter.notifyDataSetChanged(); | 52 | listadapter.notifyDataSetChanged(); | 
| 52 | 53 | ||
| 53 | break; | 54 | break; | 
| 54 | } | 55 | } | 
| 55 | } | 56 | } | 
| 56 | }; | 57 | }; | 
| 57 | public VerSionDialog(DialogCallBack.VersionCallBack callBack) { | 58 | public VerSionDialog(DialogCallBack.VersionCallBack callBack) { | 
| 58 | this.mCallBack = callBack; | 59 | this.mCallBack = callBack; | 
| 59 | } | 60 | } | 
| 60 | 61 | ||
| 61 | public static VerSionDialog getInstance(DialogCallBack.VersionCallBack callBack) { | 62 | public static VerSionDialog getInstance(DialogCallBack.VersionCallBack callBack) { | 
| 62 | VerSionDialog dialogFragment = new VerSionDialog(callBack); | 63 | VerSionDialog dialogFragment = new VerSionDialog(callBack); | 
| 63 | dialogFragment.setCanceledBack(true); | 64 | dialogFragment.setCanceledBack(true); | 
| 64 | dialogFragment.setCanceledOnTouchOutside(true); | 65 | dialogFragment.setCanceledOnTouchOutside(true); | 
| 65 | dialogFragment.setRadius(CircleDimen.RADIUS); | 66 | dialogFragment.setRadius(CircleDimen.RADIUS); | 
| 66 | dialogFragment.setWidth(0.5f); | 67 | dialogFragment.setWidth(0.5f); | 
| 67 | dialogFragment.setGravity(Gravity.CENTER); | 68 | dialogFragment.setGravity(Gravity.CENTER); | 
| 68 | dialogFragment.setBackgroundColor(Color.WHITE); | 69 | dialogFragment.setBackgroundColor(Color.WHITE); | 
| 69 | return dialogFragment; | 70 | return dialogFragment; | 
| 70 | } | 71 | } | 
| 71 | 72 | ||
| 72 | @Override | 73 | @Override | 
| 73 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 74 | public View createView(Context context, LayoutInflater inflater, ViewGroup container) { | 
| 74 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); | 75 | return inflater.inflate(R.layout.custom_adilog_provicelist, container, false); | 
| 75 | } | 76 | } | 
| 76 | 77 | ||
| 77 | @Override | 78 | @Override | 
| 78 | public void onActivityCreated(Bundle savedInstanceState) { | 79 | public void onActivityCreated(Bundle savedInstanceState) { | 
| 79 | super.onActivityCreated(savedInstanceState); | 80 | super.onActivityCreated(savedInstanceState); | 
| 80 | listView = (ListView) getView().findViewById(R.id.listadapter); | 81 | listView = (ListView) getView().findViewById(R.id.listadapter); | 
| 81 | cance = (ImageView) getView().findViewById(R.id.cancel); | 82 | cance = (ImageView) getView().findViewById(R.id.cancel); | 
| 82 | listadapter = new VersionAdapter(data,getActivity()); | 83 | listadapter = new VersionAdapter(data,getActivity()); | 
| 83 | listView.setAdapter(listadapter); | 84 | listView.setAdapter(listadapter); | 
| 84 | listView.setOnItemClickListener(this); | 85 | listView.setOnItemClickListener(this); | 
| 85 | cance.setOnClickListener(new View.OnClickListener() { | 86 | cance.setOnClickListener(new View.OnClickListener() { | 
| 86 | @Override | 87 | @Override | 
| 87 | public void onClick(View v) { | 88 | public void onClick(View v) { | 
| 88 | dismiss(); | 89 | dismiss(); | 
| 89 | } | 90 | } | 
| 90 | }); | 91 | }); | 
| 91 | String subjectName = SaveParam.getInstance().getLoginParam(getActivity(),SaveParam.VERSION); | 92 | String subjectName = SaveParam.getInstance().getLoginParam(getActivity(),SaveParam.VERSION); | 
| 92 | Log.e("test","选择的科目"+subjectName); | 93 | Log.e("test","选择的科目"+subjectName); | 
| 93 | HttpManager.getInstance().versioninfo(getActivity(),subjectName,handler); | 94 | HttpManager.getInstance().versioninfo(getActivity(),subjectName,handler); | 
| 94 | 95 | ||
| 95 | } | 96 | } | 
| 96 | 97 | ||
| 97 | @Override | 98 | @Override | 
| 98 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 99 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 99 | //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); | 100 | //Toast.makeText(getActivity(), "你点击了第" + position + "个", Toast.LENGTH_LONG).show(); | 
| 100 | //SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.PROVINCES, ""+data.get(position).getRegionId()); | 101 | //SaveParam.getInstance().saveLoginParam(getActivity(), SaveParam.PROVINCES, ""+data.get(position).getRegionId()); | 
| 101 | mCallBack.versionOnItemClick(data,position,1); | 102 | mCallBack.versionOnItemClick(data,position,1); | 
| 102 | dismiss(); | 103 | dismiss(); | 
| 103 | 104 | ||
| 104 | } | 105 | } | 
| 105 | } | 106 | } | 
| 106 | 107 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/LoginFragment.java
| 1 | package com.hjx.personalcenter.fragment; | 1 | package com.hjx.personalcenter.fragment; | 
| 2 | 2 | ||
| 3 | import android.content.Intent; | 3 | import android.content.Intent; | 
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; | 
| 5 | import android.os.Handler; | 5 | import android.os.Handler; | 
| 6 | import android.os.Message; | 6 | import android.os.Message; | 
| 7 | import android.support.annotation.Nullable; | 7 | import android.support.annotation.Nullable; | 
| 8 | import android.support.v4.app.Fragment; | 8 | import android.support.v4.app.Fragment; | 
| 9 | import android.text.TextUtils; | 9 | import android.text.TextUtils; | 
| 10 | import android.view.LayoutInflater; | 10 | import android.view.LayoutInflater; | 
| 11 | import android.view.View; | 11 | import android.view.View; | 
| 12 | import android.view.ViewGroup; | 12 | import android.view.ViewGroup; | 
| 13 | import android.widget.Button; | 13 | import android.widget.Button; | 
| 14 | import android.widget.EditText; | 14 | import android.widget.EditText; | 
| 15 | import android.widget.TextView; | 15 | import android.widget.TextView; | 
| 16 | import android.widget.Toast; | 16 | import android.widget.Toast; | 
| 17 | 17 | ||
| 18 | import com.hjx.personalcenter.R; | 18 | import com.hjx.personalcenter.R; | 
| 19 | import com.hjx.personalcenter.activity.ForgotPasswordActivity; | 19 | import com.hjx.personalcenter.activity.ForgotPasswordActivity; | 
| 20 | import com.hjx.personalcenter.activity.MainActivity; | 20 | import com.hjx.personalcenter.activity.MainActivity; | 
| 21 | import com.hjx.personalcenter.activity.RegisterInfoActivity; | ||
| 21 | import com.hjx.personalcenter.customdialog.ElectronicCardDialog; | 22 | import com.hjx.personalcenter.customdialog.ElectronicCardDialog; | 
| 23 | import com.hjx.personalcenter.db.SaveParam; | ||
| 22 | import com.hjx.personalcenter.http.HttpCode; | 24 | import com.hjx.personalcenter.http.HttpCode; | 
| 23 | import com.hjx.personalcenter.http.HttpManager; | 25 | import com.hjx.personalcenter.http.HttpManager; | 
| 24 | import com.hjx.personalcenter.util.AlertUtils; | 26 | import com.hjx.personalcenter.util.AlertUtils; | 
| 25 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; | 27 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; | 
| 26 | 28 | ||
| 27 | import org.json.JSONException; | 29 | import org.json.JSONException; | 
| 28 | import org.json.JSONObject; | 30 | import org.json.JSONObject; | 
| 29 | 31 | ||
| 30 | /** | 32 | /** | 
| 31 | * 登录 | 33 | * 登录 | 
| 32 | * Created by h on 2017/8/8. | 34 | * Created by h on 2017/8/8. | 
| 33 | */ | 35 | */ | 
| 34 | 36 | ||
| 35 | public class LoginFragment extends Fragment implements View.OnClickListener { | 37 | public class LoginFragment extends Fragment implements View.OnClickListener { | 
| 36 | private View mView; | 38 | private View mView; | 
| 37 | private int type; | 39 | private int type; | 
| 38 | private TextView tv_forget_pwd; | 40 | private TextView tv_forget_pwd; | 
| 39 | private Button btn_login; | 41 | private Button btn_login; | 
| 40 | private EditText phonenumber,login_pwwd; | 42 | private EditText phonenumber,login_pwwd; | 
| 41 | public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | 43 | public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | 
| 42 | Intent intent = new Intent(); | 44 | Intent intent = new Intent(); | 
| 43 | public static LoginFragment newInstance(int type) { | 45 | public static LoginFragment newInstance(int type) { | 
| 44 | LoginFragment fragment = new LoginFragment(); | 46 | LoginFragment fragment = new LoginFragment(); | 
| 45 | Bundle bundle = new Bundle(); | 47 | Bundle bundle = new Bundle(); | 
| 46 | bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | 48 | bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | 
| 47 | fragment.setArguments(bundle); | 49 | fragment.setArguments(bundle); | 
| 48 | return fragment; | 50 | return fragment; | 
| 49 | 51 | ||
| 50 | } | 52 | } | 
| 51 | Handler handler = new Handler(){ | 53 | Handler handler = new Handler(){ | 
| 52 | @Override | 54 | @Override | 
| 53 | public void handleMessage(Message msg) { | 55 | public void handleMessage(Message msg) { | 
| 54 | super.handleMessage(msg); | 56 | super.handleMessage(msg); | 
| 55 | 57 | ||
| 56 | switch (msg.what){ | 58 | switch (msg.what){ | 
| 57 | case HttpCode.LOGIN_SUCESS: | 59 | case HttpCode.LOGIN_SUCESS: | 
| 58 | JSONObject jsonObject; | 60 | JSONObject jsonObject; | 
| 59 | String status; | 61 | String status; | 
| 60 | try { | 62 | try { | 
| 61 | jsonObject = new JSONObject((String) msg.obj); | 63 | jsonObject = new JSONObject((String) msg.obj); | 
| 62 | status = jsonObject.getString("status"); | 64 | status = jsonObject.getString("status"); | 
| 63 | if (status.equals("100")) { | 65 | if (status.equals("100")) { | 
| 64 | String access_token = jsonObject.getString("access_token"); | 66 | String access_token = jsonObject.getString("access_token"); | 
| 65 | String userId = jsonObject.getString("userId"); | 67 | String userId = jsonObject.getString("userId"); | 
| 66 | final String name = phonenumber.getText().toString().trim(); | 68 | final String name = phonenumber.getText().toString().trim(); | 
| 67 | final String pwd = login_pwwd.getText().toString().trim(); | 69 | final String pwd = login_pwwd.getText().toString().trim(); | 
| 68 | // | 70 | // | 
| 69 | try { | 71 | try { | 
| 70 | long auserID = Long.parseLong(userId); | 72 | long auserID = Long.parseLong(userId); | 
| 71 | //是否填写保卡 | ||
| 72 | HttpManager.getInstance().cardinfocheck(getActivity(),auserID,handler); | ||
| 73 | //登录成功,保存登录数据并且获取个人信息 | 73 | //登录成功,保存登录数据并且获取个人信息 | 
| 74 | HttpManager.getInstance().saveLoginInfo(getActivity(), name, pwd, access_token, "true", userId); | 74 | HttpManager.getInstance().saveLoginInfo(getActivity(), name, pwd, access_token, "true", userId); | 
| 75 | //检测注册信息是否完整 | ||
| 76 | HttpManager.getInstance().registerinfocheck(getActivity(),auserID,handler); | ||
| 77 | |||
| 78 | |||
| 79 | |||
| 75 | } catch (NumberFormatException e) { | 80 | } catch (NumberFormatException e) { | 
| 76 | e.printStackTrace(); | 81 | e.printStackTrace(); | 
| 77 | } | 82 | } | 
| 78 | 83 | ||
| 79 | 84 | ||
| 80 | } else if (status.equals("200")) { | 85 | } else if (status.equals("200")) { | 
| 81 | Toast.makeText(getActivity(), "用户名不存在!", Toast.LENGTH_LONG).show(); | 86 | Toast.makeText(getActivity(), "用户名不存在!", Toast.LENGTH_LONG).show(); | 
| 82 | return; | 87 | return; | 
| 83 | } else if (status.equals("204")) { | 88 | } else if (status.equals("204")) { | 
| 84 | Toast.makeText(getActivity(), "密码错误!", Toast.LENGTH_LONG).show(); | 89 | Toast.makeText(getActivity(), "密码错误!", Toast.LENGTH_LONG).show(); | 
| 85 | } else { | 90 | } else { | 
| 86 | Toast.makeText(getActivity(), "登录失败!请检查网络", Toast.LENGTH_LONG).show(); | 91 | Toast.makeText(getActivity(), "登录失败!请检查网络", Toast.LENGTH_LONG).show(); | 
| 87 | 92 | ||
| 88 | 93 | ||
| 89 | } | 94 | } | 
| 90 | } catch (JSONException e) { | 95 | } catch (JSONException e) { | 
| 91 | e.printStackTrace(); | 96 | e.printStackTrace(); | 
| 92 | } | 97 | } | 
| 93 | break; | 98 | break; | 
| 99 | case HttpCode.REGISTER_SUCESS: | ||
| 100 | try { | ||
| 101 | jsonObject = new JSONObject( (String) msg.obj); | ||
| 102 | status = jsonObject.optString("status"); | ||
| 103 | JSONObject isregisterinfo = (JSONObject) jsonObject.opt("data"); | ||
| 104 | boolean isRegisterInfoComplete =isregisterinfo.optBoolean("isRegisterInfoComplete"); | ||
| 105 | if (status.equals("1")){ | ||
| 106 | if (!isRegisterInfoComplete){ | ||
| 107 | Intent intent = new Intent(); | ||
| 108 | intent.setClass(getActivity(), RegisterInfoActivity.class); | ||
| 109 | getActivity().startActivity(intent); | ||
| 110 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | ||
| 111 | }else { | ||
| 112 | String userID = SaveParam.getInstance().getLoginParam(getActivity(),"userId"); | ||
| 113 | try { | ||
| 114 | long auserID = Long.parseLong(userID); | ||
| 115 | //是否填写保卡 | ||
| 116 | HttpManager.getInstance().cardinfocheck(getActivity(),auserID,handler); | ||
| 117 | } catch (NumberFormatException e) { | ||
| 118 | e.printStackTrace(); | ||
| 119 | } | ||
| 120 | |||
| 121 | |||
| 122 | } | ||
| 123 | |||
| 124 | }else{ | ||
| 125 | Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show(); | ||
| 126 | } | ||
| 127 | |||
| 128 | } catch (JSONException e) { | ||
| 129 | e.printStackTrace(); | ||
| 130 | } | ||
| 131 | |||
| 132 | break; | ||
| 94 | case HttpCode.CHECKCARD: | 133 | case HttpCode.CHECKCARD: | 
| 95 | try { | 134 | try { | 
| 96 | jsonObject = new JSONObject( (String) msg.obj); | 135 | jsonObject = new JSONObject( (String) msg.obj); | 
| 97 | status = jsonObject.optString("status"); | 136 | status = jsonObject.optString("status"); | 
| 98 | if (status.equals("1")){ | 137 | if (status.equals("1")){ | 
| 99 | Intent intent = new Intent(); | 138 | Intent intent = new Intent(); | 
| 100 | intent.setClass(getActivity(), MainActivity.class); | 139 | intent.setClass(getActivity(), MainActivity.class); | 
| 101 | getActivity().startActivity(intent); | 140 | getActivity().startActivity(intent); | 
| 102 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 141 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 
| 103 | }else if(status.equals("2001")){ | 142 | }else if(status.equals("2001")){ | 
| 104 | ElectronicCardDialog.getInstance().show(getChildFragmentManager(), "ElectronicCardDialog"); | 143 | ElectronicCardDialog.getInstance().show(getChildFragmentManager(), "ElectronicCardDialog"); | 
| 105 | }else{ | 144 | }else{ | 
| 106 | Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show(); | 145 | Toast.makeText(getActivity(), "请检查网络", Toast.LENGTH_LONG).show(); | 
| 107 | } | 146 | } | 
| 108 | 147 | ||
| 109 | } catch (JSONException e) { | 148 | } catch (JSONException e) { | 
| 110 | e.printStackTrace(); | 149 | e.printStackTrace(); | 
| 111 | } | 150 | } | 
| 112 | 151 | ||
| 113 | break; | 152 | break; | 
| 114 | } | 153 | } | 
| 115 | } | 154 | } | 
| 116 | }; | 155 | }; | 
| 117 | 156 | ||
| 118 | @Override | 157 | @Override | 
| 119 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 158 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 
| 120 | if (mView == null) { | 159 | if (mView == null) { | 
| 121 | mView = inflater.inflate(R.layout.fragment_loginandregister_login, container, false); | 160 | mView = inflater.inflate(R.layout.fragment_loginandregister_login, container, false); | 
| 122 | initView(mView); | 161 | initView(mView); | 
| 123 | initData(); | 162 | initData(); | 
| 124 | setLister(); | 163 | setLister(); | 
| 125 | 164 | ||
| 126 | 165 | ||
| 127 | } | 166 | } | 
| 128 | return mView; | 167 | return mView; | 
| 129 | } | 168 | } | 
| 130 | //初始化 | 169 | //初始化 | 
| 131 | private void initView(View mView) { | 170 | private void initView(View mView) { | 
| 132 | tv_forget_pwd = (TextView) mView.findViewById(R.id.tv_forget_pwd); | 171 | tv_forget_pwd = (TextView) mView.findViewById(R.id.tv_forget_pwd); | 
| 133 | phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber); | 172 | phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber); | 
| 134 | login_pwwd = (EditText) mView.findViewById(R.id.et_password); | 173 | login_pwwd = (EditText) mView.findViewById(R.id.et_password); | 
| 135 | btn_login = (Button) mView.findViewById(R.id.btn_login); | 174 | btn_login = (Button) mView.findViewById(R.id.btn_login); | 
| 136 | 175 | ||
| 137 | } | 176 | } | 
| 138 | private void initData() { | 177 | private void initData() { | 
| 139 | } | 178 | } | 
| 140 | private void setLister() { | 179 | private void setLister() { | 
| 141 | tv_forget_pwd.setOnClickListener(this); | 180 | tv_forget_pwd.setOnClickListener(this); | 
| 142 | btn_login.setOnClickListener(this); | 181 | btn_login.setOnClickListener(this); | 
| 143 | } | 182 | } | 
| 144 | 183 | ||
| 145 | 184 | ||
| 146 | @Override | 185 | @Override | 
| 147 | public void onClick(View v) { | 186 | public void onClick(View v) { | 
| 148 | switch (v.getId()){ | 187 | switch (v.getId()){ | 
| 149 | case R.id.tv_forget_pwd: | 188 | case R.id.tv_forget_pwd: | 
| 150 | intent.setClass(getActivity(),ForgotPasswordActivity.class); | 189 | intent.setClass(getActivity(),ForgotPasswordActivity.class); | 
| 151 | startActivity(intent); | 190 | startActivity(intent); | 
| 152 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 191 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 
| 153 | break; | 192 | break; | 
| 154 | case R.id.btn_login: | 193 | case R.id.btn_login: | 
| 155 | login(); | 194 | login(); | 
| 156 | break; | 195 | break; | 
| 157 | } | 196 | } | 
| 158 | 197 | ||
| 159 | } | 198 | } | 
| 160 | 199 | ||
| 161 | private void login() { | 200 | private void login() { | 
| 162 | final String name = phonenumber.getText().toString().trim(); | 201 | final String name = phonenumber.getText().toString().trim(); | 
| 163 | final String pwd = login_pwwd.getText().toString().trim(); | 202 | final String pwd = login_pwwd.getText().toString().trim(); | 
| 164 | if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) { | 203 | if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) { | 
| 165 | AlertUtils.showToast(getActivity(), "请输入手机号和密码"); | 204 | AlertUtils.showToast(getActivity(), "请输入手机号和密码"); | 
| 166 | return; | 205 | return; | 
| 167 | }else if (!PhoneNumCheckUtils.isPhone(name)){ | 206 | }else if (!PhoneNumCheckUtils.isPhone(name)){ | 
| 168 | AlertUtils.showToast(getActivity(), "请输入正确的手机号"); | 207 | AlertUtils.showToast(getActivity(), "请输入正确的手机号"); | 
| 169 | }else { | 208 | }else { | 
| 170 | //登录接口 | 209 | //登录接口 | 
| 171 | HttpManager.getInstance().login(name,pwd, getActivity(),handler); | 210 | HttpManager.getInstance().login(name,pwd, getActivity(),handler); | 
| 172 | } | 211 | } | 
| 173 | 212 | ||
| 174 | 213 | ||
| 175 | } | 214 | } | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/RegisterFragment.java
| 1 | package com.hjx.personalcenter.fragment; | 1 | package com.hjx.personalcenter.fragment; | 
| 2 | 2 | ||
| 3 | import android.content.Intent; | 3 | import android.content.Intent; | 
| 4 | import android.os.Bundle; | 4 | import android.os.Bundle; | 
| 5 | import android.os.Handler; | 5 | import android.os.Handler; | 
| 6 | import android.os.Message; | 6 | import android.os.Message; | 
| 7 | import android.support.annotation.Nullable; | 7 | import android.support.annotation.Nullable; | 
| 8 | import android.support.v4.app.Fragment; | 8 | import android.support.v4.app.Fragment; | 
| 9 | import android.text.TextUtils; | 9 | import android.text.TextUtils; | 
| 10 | import android.text.method.HideReturnsTransformationMethod; | 10 | import android.text.method.HideReturnsTransformationMethod; | 
| 11 | import android.text.method.PasswordTransformationMethod; | 11 | import android.text.method.PasswordTransformationMethod; | 
| 12 | import android.view.LayoutInflater; | 12 | import android.view.LayoutInflater; | 
| 13 | import android.view.View; | 13 | import android.view.View; | 
| 14 | import android.view.ViewGroup; | 14 | import android.view.ViewGroup; | 
| 15 | import android.widget.Button; | 15 | import android.widget.Button; | 
| 16 | import android.widget.EditText; | 16 | import android.widget.EditText; | 
| 17 | import android.widget.ImageView; | 17 | import android.widget.ImageView; | 
| 18 | 18 | ||
| 19 | import com.hjx.personalcenter.R; | 19 | import com.hjx.personalcenter.R; | 
| 20 | import com.hjx.personalcenter.activity.RegisterInfoActivity; | 20 | import com.hjx.personalcenter.activity.RegisterInfoActivity; | 
| 21 | import com.hjx.personalcenter.db.Content; | 21 | import com.hjx.personalcenter.db.Content; | 
| 22 | import com.hjx.personalcenter.http.HttpCode; | 22 | import com.hjx.personalcenter.http.HttpCode; | 
| 23 | import com.hjx.personalcenter.http.HttpManager; | 23 | import com.hjx.personalcenter.http.HttpManager; | 
| 24 | import com.hjx.personalcenter.util.AlertUtils; | 24 | import com.hjx.personalcenter.util.AlertUtils; | 
| 25 | import com.hjx.personalcenter.util.PasswordCheckUtils; | 25 | import com.hjx.personalcenter.util.PasswordCheckUtils; | 
| 26 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; | 26 | import com.hjx.personalcenter.util.PhoneNumCheckUtils; | 
| 27 | 27 | ||
| 28 | import org.json.JSONException; | 28 | import org.json.JSONException; | 
| 29 | import org.json.JSONObject; | 29 | import org.json.JSONObject; | 
| 30 | 30 | ||
| 31 | import java.util.TimerTask; | 31 | import java.util.TimerTask; | 
| 32 | 32 | ||
| 33 | /** | 33 | /** | 
| 34 | * 注册 | 34 | * 注册 | 
| 35 | * Created by Administrator on 2016/11/7. | 35 | * Created by Administrator on 2016/11/7. | 
| 36 | */ | 36 | */ | 
| 37 | 37 | ||
| 38 | public class RegisterFragment extends Fragment implements View.OnClickListener { | 38 | public class RegisterFragment extends Fragment implements View.OnClickListener { | 
| 39 | private View mView; | 39 | private View mView; | 
| 40 | 40 | ||
| 41 | private Button btn_register,get_authcode; | 41 | private Button btn_register,get_authcode; | 
| 42 | private EditText phonenumber,password,anth_6num;//;//密码 | 42 | private EditText phonenumber,password,anth_6num;//;//密码 | 
| 43 | private ImageView openeyes; | 43 | private ImageView openeyes; | 
| 44 | private String sourceStr ="android"; | 44 | private String sourceStr ="android"; | 
| 45 | private String typeStr = "register"; | 45 | private String typeStr = "register"; | 
| 46 | private int delayTime=60; | 46 | private int delayTime=60; | 
| 47 | private java.util.Timer Delaytimer; | 47 | private java.util.Timer Delaytimer; | 
| 48 | private int type; | 48 | private int type; | 
| 49 | public static Boolean showPassword = false; | 49 | public static Boolean showPassword = false; | 
| 50 | public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | 50 | public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | 
| 51 | 51 | ||
| 52 | public static RegisterFragment newInstance(int type) { | 52 | public static RegisterFragment newInstance(int type) { | 
| 53 | RegisterFragment fragment = new RegisterFragment(); | 53 | RegisterFragment fragment = new RegisterFragment(); | 
| 54 | Bundle bundle = new Bundle(); | 54 | Bundle bundle = new Bundle(); | 
| 55 | bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | 55 | bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | 
| 56 | fragment.setArguments(bundle); | 56 | fragment.setArguments(bundle); | 
| 57 | return fragment; | 57 | return fragment; | 
| 58 | 58 | ||
| 59 | } | 59 | } | 
| 60 | Handler handler = new Handler() { | 60 | Handler handler = new Handler() { | 
| 61 | @Override | 61 | @Override | 
| 62 | public void handleMessage(Message msg) { | 62 | public void handleMessage(Message msg) { | 
| 63 | super.handleMessage(msg); | 63 | super.handleMessage(msg); | 
| 64 | try { | 64 | try { | 
| 65 | JSONObject jsonObject; | 65 | JSONObject jsonObject; | 
| 66 | String status; | 66 | String status; | 
| 67 | switch (msg.what) { | 67 | switch (msg.what) { | 
| 68 | case HttpCode.REGISTERED_SUCESS: | 68 | case HttpCode.REGISTERED_SUCESS: | 
| 69 | jsonObject = (JSONObject) msg.obj; | 69 | jsonObject = (JSONObject) msg.obj; | 
| 70 | status = jsonObject.getString("status"); | 70 | status = jsonObject.getString("status"); | 
| 71 | //AlertUtils.showToast(RegisterActivity.this, jsonObject.optString("message")); | 71 | //AlertUtils.showToast(RegisterActivity.this, jsonObject.optString("message")); | 
| 72 | String access_token = jsonObject.getString("access_token"); | 72 | String access_token = jsonObject.getString("access_token"); | 
| 73 | String userId = jsonObject.getString("userId"); | 73 | String userId = jsonObject.getString("userId"); | 
| 74 | if (status.equals("100")) { | 74 | if (status.equals("100")) { | 
| 75 | String usernameStr = phonenumber.getText().toString().trim(); | 75 | String usernameStr = phonenumber.getText().toString().trim(); | 
| 76 | String passwordStr = password.getText().toString().trim(); | 76 | String passwordStr = password.getText().toString().trim(); | 
| 77 | HttpManager.getInstance().saveLoginInfo(getActivity(),usernameStr,passwordStr,access_token,"true",userId); | 77 | HttpManager.getInstance().saveLoginInfo(getActivity(),usernameStr,passwordStr,access_token,"true",userId); | 
| 78 | AlertUtils.showToast(getActivity(), "注册成功!"); | 78 | AlertUtils.showToast(getActivity(), "注册成功!"); | 
| 79 | Content.accountflag =1; | 79 | Content.accountflag =1; | 
| 80 | //检查信息是否填写完整 | ||
| 81 | Intent intent = new Intent(); | 80 | Intent intent = new Intent(); | 
| 82 | intent.setClass(getActivity(),RegisterInfoActivity.class); | 81 | intent.setClass(getActivity(),RegisterInfoActivity.class); | 
| 83 | startActivity(intent); | 82 | startActivity(intent); | 
| 84 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 83 | getActivity().overridePendingTransition(R.anim.rightin, R.anim.rightout); | 
| 85 | getActivity().finish(); | 84 | getActivity().finish(); | 
| 86 | } | 85 | } | 
| 87 | break; | 86 | break; | 
| 88 | case HttpCode.REGISTERED_FAIL: | 87 | case HttpCode.REGISTERED_FAIL: | 
| 89 | AlertUtils.showToast(getActivity(), "注册失败"); | 88 | AlertUtils.showToast(getActivity(), "注册失败"); | 
| 90 | break; | 89 | break; | 
| 91 | case HttpCode.AUTHCODE_SUCESS: | 90 | case HttpCode.AUTHCODE_SUCESS: | 
| 92 | jsonObject = (JSONObject) msg.obj; | 91 | jsonObject = (JSONObject) msg.obj; | 
| 93 | status = jsonObject.optString("status"); | 92 | status = jsonObject.optString("status"); | 
| 94 | if (status.equals("100")) { | 93 | if (status.equals("100")) { | 
| 95 | AlertUtils.showToast(getActivity(), "验证码发送成功"); | 94 | AlertUtils.showToast(getActivity(), "验证码发送成功"); | 
| 96 | } | 95 | } | 
| 97 | 96 | ||
| 98 | break; | 97 | break; | 
| 99 | case HttpCode.AUTHCODE_FAIL: | 98 | case HttpCode.AUTHCODE_FAIL: | 
| 100 | jsonObject = (JSONObject) msg.obj; | 99 | jsonObject = (JSONObject) msg.obj; | 
| 101 | AlertUtils.showToast(getActivity(), "验证码发送失败"); | 100 | AlertUtils.showToast(getActivity(), "验证码发送失败"); | 
| 102 | break; | 101 | break; | 
| 103 | case HttpCode.IS_REFISTER: | 102 | case HttpCode.IS_REFISTER: | 
| 104 | jsonObject = (JSONObject) msg.obj; | 103 | jsonObject = (JSONObject) msg.obj; | 
| 105 | status = jsonObject.getString("status"); | 104 | status = jsonObject.getString("status"); | 
| 106 | if (!status.equals("true")) { | 105 | if (!status.equals("true")) { | 
| 107 | getauthcode(); | 106 | getauthcode(); | 
| 108 | 107 | ||
| 109 | }else { | 108 | }else { | 
| 110 | AlertUtils.showToast(getActivity(), "该手机号已经注册过了"); | 109 | AlertUtils.showToast(getActivity(), "该手机号已经注册过了"); | 
| 111 | } | 110 | } | 
| 112 | break; | 111 | break; | 
| 113 | case 21: | 112 | case 21: | 
| 114 | if(delayTime<=0){ | 113 | if(delayTime<=0){ | 
| 115 | if(Delaytimer!=null){ | 114 | if(Delaytimer!=null){ | 
| 116 | Delaytimer.cancel(); | 115 | Delaytimer.cancel(); | 
| 117 | } | 116 | } | 
| 118 | get_authcode.setEnabled(true); | 117 | get_authcode.setEnabled(true); | 
| 119 | get_authcode.setClickable(true); | 118 | get_authcode.setClickable(true); | 
| 120 | get_authcode.setText("获取验证码"); | 119 | get_authcode.setText("获取验证码"); | 
| 121 | delayTime=60; | 120 | delayTime=60; | 
| 122 | }else{ | 121 | }else{ | 
| 123 | get_authcode.setEnabled(false); | 122 | get_authcode.setEnabled(false); | 
| 124 | get_authcode.setClickable(false); | 123 | get_authcode.setClickable(false); | 
| 125 | get_authcode.setText(delayTime + " s"); | 124 | get_authcode.setText(delayTime + " s"); | 
| 126 | } | 125 | } | 
| 127 | break; | 126 | break; | 
| 128 | } | 127 | } | 
| 129 | } catch (JSONException e) { | 128 | } catch (JSONException e) { | 
| 130 | e.printStackTrace(); | 129 | e.printStackTrace(); | 
| 131 | } | 130 | } | 
| 132 | } | 131 | } | 
| 133 | }; | 132 | }; | 
| 134 | @Override | 133 | @Override | 
| 135 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 134 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 
| 136 | if (mView == null) { | 135 | if (mView == null) { | 
| 137 | mView = inflater.inflate(R.layout.fragment_loginandregister_register, container, false); | 136 | mView = inflater.inflate(R.layout.fragment_loginandregister_register, container, false); | 
| 138 | initView(mView); | 137 | initView(mView); | 
| 139 | initData(); | 138 | initData(); | 
| 140 | setLister(); | 139 | setLister(); | 
| 141 | 140 | ||
| 142 | 141 | ||
| 143 | } | 142 | } | 
| 144 | return mView; | 143 | return mView; | 
| 145 | } | 144 | } | 
| 146 | 145 | ||
| 147 | private void initView(View mView) { | 146 | private void initView(View mView) { | 
| 148 | get_authcode = (Button) mView.findViewById(R.id.btn_authcode); | 147 | get_authcode = (Button) mView.findViewById(R.id.btn_authcode); | 
| 149 | anth_6num = (EditText) mView.findViewById(R.id.et_authcode); | 148 | anth_6num = (EditText) mView.findViewById(R.id.et_authcode); | 
| 150 | phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber); | 149 | phonenumber = (EditText) mView.findViewById(R.id.et_phonenumber); | 
| 151 | password = (EditText) mView.findViewById(R.id.et_password); | 150 | password = (EditText) mView.findViewById(R.id.et_password); | 
| 152 | openeyes= (ImageView) mView.findViewById(R.id.iv_pwd_change); | 151 | openeyes= (ImageView) mView.findViewById(R.id.iv_pwd_change); | 
| 153 | btn_register = (Button) mView.findViewById(R.id.btn_register); | 152 | btn_register = (Button) mView.findViewById(R.id.btn_register); | 
| 154 | 153 | ||
| 155 | } | 154 | } | 
| 156 | private void initData() { | 155 | private void initData() { | 
| 157 | } | 156 | } | 
| 158 | private void setLister() { | 157 | private void setLister() { | 
| 159 | get_authcode.setOnClickListener(this); | 158 | get_authcode.setOnClickListener(this); | 
| 160 | openeyes.setOnClickListener(this); | 159 | openeyes.setOnClickListener(this); | 
| 161 | btn_register.setOnClickListener(this); | 160 | btn_register.setOnClickListener(this); | 
| 162 | } | 161 | } | 
| 163 | 162 | ||
| 164 | 163 | ||
| 165 | @Override | 164 | @Override | 
| 166 | public void onClick(View v) { | 165 | public void onClick(View v) { | 
| 167 | switch (v.getId()){ | 166 | switch (v.getId()){ | 
| 168 | case R.id.btn_register: | 167 | case R.id.btn_register: | 
| 169 | //测试 | 168 | //测试 | 
| 170 | // | 169 | // | 
| 171 | 170 | ||
| 172 | String usernameStr = phonenumber.getText().toString().trim(); | 171 | String usernameStr = phonenumber.getText().toString().trim(); | 
| 173 | String authcodeStr = anth_6num.getText().toString().trim(); | 172 | String authcodeStr = anth_6num.getText().toString().trim(); | 
| 174 | String passwordStr = password.getText().toString().trim(); | 173 | String passwordStr = password.getText().toString().trim(); | 
| 175 | if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)||TextUtils.isEmpty(passwordStr)) { | 174 | if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)||TextUtils.isEmpty(passwordStr)) { | 
| 176 | AlertUtils.showToast(getActivity(), "手机号,密码和验证码不能为空"); | 175 | AlertUtils.showToast(getActivity(), "手机号,密码和验证码不能为空"); | 
| 177 | return; | 176 | return; | 
| 178 | } else if(passwordStr.length()<8){ | 177 | } else if(passwordStr.length()<8){ | 
| 179 | AlertUtils.showToast(getActivity(), "密码不能少于8位"); | 178 | AlertUtils.showToast(getActivity(), "密码不能少于8位"); | 
| 180 | }else if (!PhoneNumCheckUtils.isPhone(usernameStr)){ | 179 | }else if (!PhoneNumCheckUtils.isPhone(usernameStr)){ | 
| 181 | AlertUtils.showToast(getActivity(), "手机号码输入错误"); | 180 | AlertUtils.showToast(getActivity(), "手机号码输入错误"); | 
| 182 | 181 | ||
| 183 | }else if(!passwordStr.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){ | 182 | }else if(!passwordStr.matches(PasswordCheckUtils.PASSWORD_CHAR_AND_NUMBER)){ | 
| 184 | AlertUtils.showToast(getActivity(), "密码由英文和数字组成"); | 183 | AlertUtils.showToast(getActivity(), "密码由英文和数字组成"); | 
| 185 | }else { | 184 | }else { | 
| 186 | register(); | 185 | register(); | 
| 187 | } | 186 | } | 
| 188 | 187 | ||
| 189 | break; | 188 | break; | 
| 190 | case R.id.iv_pwd_change: | 189 | case R.id.iv_pwd_change: | 
| 191 | if(showPassword){//显示密码 | 190 | if(showPassword){//显示密码 | 
| 192 | showPassword = !showPassword; | 191 | showPassword = !showPassword; | 
| 193 | openeyes.setImageResource(R.mipmap.pwd_open); | 192 | openeyes.setImageResource(R.mipmap.pwd_open); | 
| 194 | password.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); | 193 | password.setTransformationMethod(HideReturnsTransformationMethod.getInstance()); | 
| 195 | password.setSelection(password.getText().toString().length()); | 194 | password.setSelection(password.getText().toString().length()); | 
| 196 | }else{//隐藏密码 | 195 | }else{//隐藏密码 | 
| 197 | showPassword = !showPassword; | 196 | showPassword = !showPassword; | 
| 198 | openeyes.setImageResource(R.mipmap.pwd_hide); | 197 | openeyes.setImageResource(R.mipmap.pwd_hide); | 
| 199 | password.setTransformationMethod(PasswordTransformationMethod.getInstance()); | 198 | password.setTransformationMethod(PasswordTransformationMethod.getInstance()); | 
| 200 | password.setSelection(password.getText().toString().length()); | 199 | password.setSelection(password.getText().toString().length()); | 
| 201 | } | 200 | } | 
| 202 | break; | 201 | break; | 
| 203 | case R.id.btn_authcode: | 202 | case R.id.btn_authcode: | 
| 204 | usernameStr = phonenumber.getText().toString().trim(); | 203 | usernameStr = phonenumber.getText().toString().trim(); | 
| 205 | if (!PhoneNumCheckUtils.isPhone(usernameStr)){ | 204 | if (!PhoneNumCheckUtils.isPhone(usernameStr)){ | 
| 206 | AlertUtils.showToast(getActivity(), "请输入正确的手机号"); | 205 | AlertUtils.showToast(getActivity(), "请输入正确的手机号"); | 
| 207 | }else { | 206 | }else { | 
| 208 | anth_6num.requestFocus(); | 207 | anth_6num.requestFocus(); | 
| 209 | ifregister(); | 208 | ifregister(); | 
| 210 | } | 209 | } | 
| 211 | 210 | ||
| 212 | break; | 211 | break; | 
| 213 | } | 212 | } | 
| 214 | 213 | ||
| 215 | } | 214 | } | 
| 216 | //获取验证码 | 215 | //获取验证码 | 
| 217 | private void getauthcode() { | 216 | private void getauthcode() { | 
| 218 | String usernameStr = phonenumber.getText().toString().trim(); | 217 | String usernameStr = phonenumber.getText().toString().trim(); | 
| 219 | HttpManager.getInstance().authCode(typeStr, usernameStr, handler, getActivity()); | 218 | HttpManager.getInstance().authCode(typeStr, usernameStr, handler, getActivity()); | 
| 220 | valiDelay(); | 219 | valiDelay(); | 
| 221 | } | 220 | } | 
| 222 | 221 | ||
| 223 | private void ifregister() { | 222 | private void ifregister() { | 
| 224 | String usernameStr = phonenumber.getText().toString().trim(); | 223 | String usernameStr = phonenumber.getText().toString().trim(); | 
| 225 | HttpManager.getInstance().isregistered(usernameStr, handler, getActivity()); | 224 | HttpManager.getInstance().isregistered(usernameStr, handler, getActivity()); | 
| 226 | } | 225 | } | 
| 227 | 226 | ||
| 228 | private void register() { | 227 | private void register() { | 
| 229 | String usernameStr = phonenumber.getText().toString().trim(); | 228 | String usernameStr = phonenumber.getText().toString().trim(); | 
| 230 | String authcodeStr = anth_6num.getText().toString().trim(); | 229 | String authcodeStr = anth_6num.getText().toString().trim(); | 
| 231 | String passwordStr = password.getText().toString().trim(); | 230 | String passwordStr = password.getText().toString().trim(); | 
| 232 | HttpManager.getInstance().register(getActivity(), usernameStr, passwordStr, authcodeStr, sourceStr,handler); | 231 | HttpManager.getInstance().register(getActivity(), usernameStr, passwordStr, authcodeStr, sourceStr,handler); | 
| 233 | } | 232 | } | 
| 234 | // 线程类 定时器 | 233 | // 线程类 定时器 | 
| 235 | public void valiDelay() { | 234 | public void valiDelay() { | 
| 236 | 235 | ||
| 237 | Delaytimer = new java.util.Timer(true); | 236 | Delaytimer = new java.util.Timer(true); | 
| 238 | 237 | ||
| 239 | 238 | ||
| 240 | TimerTask task = new TimerTask() { | 239 | TimerTask task = new TimerTask() { | 
| 241 | public void run() { | 240 | public void run() { | 
| 242 | //每次需要执行的代码放到这里面。 | 241 | //每次需要执行的代码放到这里面。 | 
| 243 | delayTime--; | 242 | delayTime--; | 
| 244 | handler.sendEmptyMessage(21); | 243 | handler.sendEmptyMessage(21); | 
| 245 | } | 244 | } | 
| 246 | }; | 245 | }; | 
| 247 | Delaytimer.schedule(task, 1000,1000); | 246 | Delaytimer.schedule(task, 1000,1000); | 
| 248 | } | 247 | } | 
| 249 | } | 248 | } | 
| 250 | 249 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/fragment/VersionsInfoFragment.java
| 1 | package com.hjx.personalcenter.fragment; | 1 | package com.hjx.personalcenter.fragment; | 
| 2 | 2 | ||
| 3 | import android.os.Bundle; | 3 | import android.os.Bundle; | 
| 4 | import android.support.annotation.Nullable; | 4 | import android.support.annotation.Nullable; | 
| 5 | import android.support.v4.app.Fragment; | 5 | import android.support.v4.app.Fragment; | 
| 6 | import android.view.LayoutInflater; | 6 | import android.view.LayoutInflater; | 
| 7 | import android.view.View; | 7 | import android.view.View; | 
| 8 | import android.view.ViewGroup; | 8 | import android.view.ViewGroup; | 
| 9 | import android.widget.AdapterView; | 9 | import android.widget.AdapterView; | 
| 10 | import android.widget.GridView; | 10 | import android.widget.GridView; | 
| 11 | import android.widget.SimpleAdapter; | ||
| 12 | 11 | ||
| 13 | import com.hjx.personalcenter.R; | 12 | import com.hjx.personalcenter.R; | 
| 13 | import com.hjx.personalcenter.adapter.GridAdapter; | ||
| 14 | import com.hjx.personalcenter.customdialog.VerSionDialog; | 14 | import com.hjx.personalcenter.customdialog.VerSionDialog; | 
| 15 | import com.hjx.personalcenter.db.SaveParam; | 15 | import com.hjx.personalcenter.db.SaveParam; | 
| 16 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 16 | import com.hjx.personalcenter.interfaces.DialogCallBack; | 
| 17 | import com.hjx.personalcenter.model.VersionInfo; | 17 | import com.hjx.personalcenter.model.DefautPublishInfo; | 
| 18 | import com.hjx.personalcenter.util.AlertUtils; | ||
| 19 | 18 | ||
| 20 | import java.util.ArrayList; | 19 | import java.util.ArrayList; | 
| 21 | import java.util.HashMap; | ||
| 22 | import java.util.List; | ||
| 23 | import java.util.Map; | ||
| 24 | 20 | ||
| 25 | /** | 21 | /** | 
| 26 | * Created by h on 2017/8/12. | 22 | * Created by h on 2017/8/12. | 
| 27 | */ | 23 | */ | 
| 28 | 24 | ||
| 29 | public class VersionsInfoFragment extends Fragment implements AdapterView.OnItemClickListener,DialogCallBack.VersionCallBack { | 25 | public class VersionsInfoFragment extends Fragment implements AdapterView.OnItemClickListener{ | 
| 30 | private GridView gridView; | 26 | private GridView gridView; | 
| 31 | private List<Map<String, Object>> data_list; | 27 | private ArrayList<DefautPublishInfo> defautPublishInfos = new ArrayList<>(); | 
| 32 | private SimpleAdapter sim_adapter; | 28 | private GridAdapter sim_adapter; | 
| 33 | private View mView; | 29 | private View mView; | 
| 34 | private int type; | 30 | private int type; | 
| 35 | public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | 31 | public static String TABLAYOUT_FRAGMENT = "tab_fragment"; | 
| 36 | 32 | ||
| 37 | public static VersionsInfoFragment newInstance(int type) { | 33 | public static VersionsInfoFragment newInstance(int type) { | 
| 38 | VersionsInfoFragment fragment = new VersionsInfoFragment(); | 34 | VersionsInfoFragment fragment = new VersionsInfoFragment(); | 
| 39 | Bundle bundle = new Bundle(); | 35 | Bundle bundle = new Bundle(); | 
| 40 | bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | 36 | bundle.putSerializable(TABLAYOUT_FRAGMENT, type); | 
| 41 | fragment.setArguments(bundle); | 37 | fragment.setArguments(bundle); | 
| 42 | return fragment; | 38 | return fragment; | 
| 43 | 39 | ||
| 44 | } | 40 | } | 
| 45 | // 图片封装为一个数组 | ||
| 46 | private int[] icon = { R.mipmap.ic_launcher, R.mipmap.ic_launcher, | ||
| 47 | R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, | ||
| 48 | R.mipmap.ic_launcher, R.mipmap.ic_launcher, R.mipmap.ic_launcher, | ||
| 49 | R.mipmap.ic_launcher}; | ||
| 50 | private String[] subject = { "语文", "数学", "英语", "物理", "化学", "生物", "政治", | ||
| 51 | "历史", "地理" }; | ||
| 52 | private String[] publish = { "人民教育出版社", "人民教育出版社", "人民教育出版社", | ||
| 53 | "人民教育出版社", "人民教育出版社", "人民教育出版社", "人民教育出版社", | ||
| 54 | "人民教育出版社", "人民教育出版社" }; | ||
| 55 | @Override | 41 | @Override | 
| 56 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 42 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { | 
| 57 | if (mView == null) { | 43 | if (mView == null) { | 
| 58 | mView = inflater.inflate(R.layout.fragment_changge_version_info, container, false); | 44 | mView = inflater.inflate(R.layout.fragment_changge_version_info, container, false); | 
| 59 | initView(mView); | 45 | initView(mView); | 
| 60 | initData(); | 46 | initData(); | 
| 61 | setLister(); | 47 | setLister(); | 
| 62 | 48 | ||
| 63 | 49 | ||
| 64 | } | 50 | } | 
| 65 | return mView; | 51 | return mView; | 
| 66 | } | 52 | } | 
| 67 | //初始化 | 53 | //初始化 | 
| 68 | private void initView(View mView) { | 54 | private void initView(View mView) { | 
| 69 | gridView =(GridView) mView.findViewById(R.id.grideview); | 55 | gridView =(GridView) mView.findViewById(R.id.grideview); | 
| 70 | 56 | ||
| 71 | } | 57 | } | 
| 72 | private void initData() { | 58 | private void initData() { | 
| 73 | data_list = new ArrayList<Map<String, Object>>(); | 59 | DefautPublishInfo defautPublishInfo = new DefautPublishInfo(); | 
| 74 | getData(); | 60 | defautPublishInfo.setImagurl("http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/8480ff7b-42f1-4d64-b848-c8f4f3afd385.png"); | 
| 75 | String [] from ={"image","text","text1"}; | 61 | defautPublishInfo.setSubjuct("语文"); | 
| 76 | int [] to = {R.id.image,R.id.text}; | 62 | defautPublishInfo.setPublish("人民教育出版社"); | 
| 77 | sim_adapter = new SimpleAdapter(getActivity(), data_list, R.layout.fragment_changge_version_info_itmes, from, to); | 63 | DefautPublishInfo defautPublishInfo1 = new DefautPublishInfo(); | 
| 64 | defautPublishInfo1.setImagurl("http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/8480ff7b-42f1-4d64-b848-c8f4f3afd385.png"); | ||
| 65 | defautPublishInfo1.setSubjuct("数学"); | ||
| 66 | defautPublishInfo1.setPublish("人民教育出版社"); | ||
| 67 | DefautPublishInfo defautPublishInfo2 = new DefautPublishInfo(); | ||
| 68 | defautPublishInfo2.setImagurl("http://hjxprodbucket.oss.aliyuncs.com/static/upload/boss_api/announcement/2017-08-29/8480ff7b-42f1-4d64-b848-c8f4f3afd385.png"); | ||
| 69 | defautPublishInfo2.setSubjuct("英语"); | ||
| 70 | defautPublishInfo2.setPublish("人民教育出版社"); | ||
| 71 | defautPublishInfos.add(defautPublishInfo); | ||
| 72 | defautPublishInfos.add(defautPublishInfo1); | ||
| 73 | defautPublishInfos.add(defautPublishInfo2); | ||
| 74 | sim_adapter = new GridAdapter(defautPublishInfos,getActivity()); | ||
| 78 | //配置适配器 | 75 | //配置适配器 | 
| 79 | gridView.setAdapter(sim_adapter); | 76 | gridView.setAdapter(sim_adapter); | 
| 80 | } | 77 | } | 
| 81 | public List<Map<String, Object>> getData(){ | ||
| 82 | //cion和iconName的长度是相同的,这里任选其一都可以 | ||
| 83 | for(int i=0;i<icon.length;i++){ | ||
| 84 | Map<String, Object> map = new HashMap<String, Object>(); | ||
| 85 | map.put("image", icon[i]); | ||
| 86 | map.put("text", subject[i]); | ||
| 87 | map.put("text1", publish[i]); | ||
| 88 | data_list.add(map); | ||
| 89 | } | ||
| 90 | 78 | ||
| 91 | return data_list; | ||
| 92 | } | ||
| 93 | private void setLister() { | 79 | private void setLister() { | 
| 94 | gridView.setOnItemClickListener(this); | 80 | gridView.setOnItemClickListener(this); | 
| 95 | } | 81 | } | 
| 96 | 82 | ||
| 97 | @Override | 83 | @Override | 
| 98 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 84 | public void onItemClick(AdapterView<?> parent, View view, int position, long id) { | 
| 99 | switch (position){ | 85 | switch (position){ | 
| 100 | 86 | ||
| 101 | case 0: | 87 | case 0: | 
| 102 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"语文"); | 88 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"语文"); | 
| 103 | break; | 89 | break; | 
| 104 | case 1: | 90 | case 1: | 
| 105 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"数学"); | 91 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"数学"); | 
| 106 | break; | 92 | break; | 
| 107 | case 2: | 93 | case 2: | 
| 108 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"英语"); | 94 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"英语"); | 
| 109 | break; | 95 | break; | 
| 110 | case 3: | 96 | case 3: | 
| 111 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"物理"); | 97 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"物理"); | 
| 112 | break; | 98 | break; | 
| 113 | case 4: | 99 | case 4: | 
| 114 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"化学"); | 100 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"化学"); | 
| 115 | break; | 101 | break; | 
| 116 | case 5: | 102 | case 5: | 
| 117 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"生物"); | 103 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"生物"); | 
| 118 | break; | 104 | break; | 
| 119 | case 6: | 105 | case 6: | 
| 120 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"政治"); | 106 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"政治"); | 
| 121 | break; | 107 | break; | 
| 122 | case 7: | 108 | case 7: | 
| 123 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"历史"); | 109 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"历史"); | 
| 124 | break; | 110 | break; | 
| 125 | case 8: | 111 | case 8: | 
| 126 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"地理"); | 112 | SaveParam.getInstance().saveLoginParam(getActivity(),SaveParam.VERSION,"地理"); | 
| 127 | break; | 113 | break; | 
| 128 | } | 114 | } | 
| 129 | 115 | ||
| 130 | VerSionDialog.getInstance((DialogCallBack.VersionCallBack) this).show(getChildFragmentManager(), "VerSionDialog"); | 116 | VerSionDialog.getInstance((DialogCallBack.VersionCallBack) this).show(getChildFragmentManager(), "VerSionDialog"); | 
| 131 | 117 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/http/HttpCode.java
| 1 | package com.hjx.personalcenter.http; | 1 | package com.hjx.personalcenter.http; | 
| 2 | 2 | ||
| 3 | /** | 3 | /** | 
| 4 | * Created by wei on 2017/6/21. | 4 | * Created by wei on 2017/6/21. | 
| 5 | */ | 5 | */ | 
| 6 | 6 | ||
| 7 | public class HttpCode { | 7 | public class HttpCode { | 
| 8 | //查询保卡信息 | 8 | //查询保卡信息 | 
| 9 | public static final int SUCHCARDINFO = 0; | 9 | public static final int SUCHCARDINFO = 0; | 
| 10 | //是否填写保卡信息 | 10 | //是否填写保卡信息 | 
| 11 | public static final int CHECKCARD = 1; | 11 | public static final int CHECKCARD = 1; | 
| 12 | //注册 | 12 | //注册 | 
| 13 | public static final int REGISTERED_SUCESS = 2; | 13 | public static final int REGISTERED_SUCESS = 2; | 
| 14 | public static final int REGISTERED_FAIL = 3; | 14 | public static final int REGISTERED_FAIL = 3; | 
| 15 | //注册验证码 | 15 | //注册验证码 | 
| 16 | public static final int AUTHCODE_SUCESS = 4; | 16 | public static final int AUTHCODE_SUCESS = 4; | 
| 17 | public static final int AUTHCODE_FAIL = 5; | 17 | public static final int AUTHCODE_FAIL = 5; | 
| 18 | //忘记密码验证码 | 18 | //忘记密码验证码 | 
| 19 | public static final int AUTHCODE_SUCESS1 = 6; | 19 | public static final int AUTHCODE_SUCESS1 = 6; | 
| 20 | public static final int AUTHCODE_FAIL1 = 7; | 20 | public static final int AUTHCODE_FAIL1 = 7; | 
| 21 | //是否已经注册 | 21 | //是否已经注册 | 
| 22 | public static final int IS_REFISTER = 8; | 22 | public static final int IS_REFISTER = 8; | 
| 23 | //忘记密码 | 23 | //忘记密码 | 
| 24 | public static final int PASSWORD_SUCESS = 9; | 24 | public static final int PASSWORD_SUCESS = 9; | 
| 25 | public static final int PASSWORD_FAIL = 10; | 25 | public static final int PASSWORD_FAIL = 10; | 
| 26 | //s省 | 26 | //s省 | 
| 27 | public static final int PROVICES = 11; | 27 | public static final int PROVICES = 11; | 
| 28 | //市 | 28 | //市 | 
| 29 | public static final int CITYS = 12; | 29 | public static final int CITYS = 12; | 
| 30 | //区 | 30 | //区 | 
| 31 | public static final int COUNTRY = 13; | 31 | public static final int COUNTRY = 13; | 
| 32 | //学校 | 32 | //学校 | 
| 33 | public static final int SCHOOL = 14; | 33 | public static final int SCHOOL = 14; | 
| 34 | //年级 | 34 | //年级 | 
| 35 | public static final int GRADER = 15; | 35 | public static final int GRADER = 15; | 
| 36 | //获取个人信息 | 36 | //获取个人信息 | 
| 37 | public static final int GETINFO = 16; | 37 | public static final int GETINFO = 16; | 
| 38 | //获取个性签名 | 38 | //获取个性签名 | 
| 39 | public static final int SIGN = 17; | 39 | public static final int SIGN = 17; | 
| 40 | //登录 | 40 | //登录 | 
| 41 | public static final int LOGIN_SUCESS = 18; | 41 | public static final int LOGIN_SUCESS = 18; | 
| 42 | //获取子账户信息 | 42 | //获取子账户信息 | 
| 43 | public static final int CHILDS_SUCESS = 19; | 43 | public static final int CHILDS_SUCESS = 19; | 
| 44 | //版本升级 | 44 | //版本升级 | 
| 45 | public static final int APPUPDATE_SUCESS = 20; | 45 | public static final int APPUPDATE_SUCESS = 20; | 
| 46 | //获取版本信息 | 46 | //获取版本信息 | 
| 47 | public static final int VERSION_SUCESS = 22; | 47 | public static final int VERSION_SUCESS = 22; | 
| 48 | //注册信息是否完整 | ||
| 49 | public static final int REGISTER_SUCESS = 23; | ||
| 48 | 50 | ||
| 49 | 51 | ||
| 50 | 52 | ||
| 51 | 53 | ||
| 52 | } | 54 | } | 
| 53 | 55 | 
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.provider.Settings; | ||
| 10 | import android.support.v4.app.FragmentActivity; | ||
| 11 | import android.util.Log; | 9 | import android.util.Log; | 
| 12 | import android.view.Gravity; | ||
| 13 | import android.view.View; | ||
| 14 | import android.widget.Toast; | 10 | import android.widget.Toast; | 
| 15 | 11 | ||
| 16 | import com.google.gson.Gson; | 12 | import com.google.gson.Gson; | 
| 17 | import com.hjx.personalcenter.R; | 13 | import com.hjx.personalcenter.R; | 
| 18 | import com.hjx.personalcenter.activity.LoginAndRegisterActivity; | 14 | import com.hjx.personalcenter.activity.LoginAndRegisterActivity; | 
| 19 | import com.hjx.personalcenter.activity.TheStartPageActivity; | 15 | import com.hjx.personalcenter.activity.TheStartPageActivity; | 
| 20 | import com.hjx.personalcenter.db.Content; | 16 | import com.hjx.personalcenter.db.Content; | 
| 21 | import com.hjx.personalcenter.db.SaveParam; | 17 | import com.hjx.personalcenter.db.SaveParam; | 
| 22 | import com.hjx.personalcenter.gson.GsonTool; | 18 | import com.hjx.personalcenter.gson.GsonTool; | 
| 23 | import com.hjx.personalcenter.model.AppVersion; | 19 | import com.hjx.personalcenter.model.AppVersion; | 
| 24 | import com.hjx.personalcenter.model.CardInfo; | 20 | import com.hjx.personalcenter.model.CardInfo; | 
| 25 | import com.hjx.personalcenter.model.ChildsInfo; | 21 | import com.hjx.personalcenter.model.ChildsInfo; | 
| 26 | import com.hjx.personalcenter.model.CityInfo; | 22 | import com.hjx.personalcenter.model.CityInfo; | 
| 27 | import com.hjx.personalcenter.model.CountyInfo; | 23 | import com.hjx.personalcenter.model.CountyInfo; | 
| 28 | import com.hjx.personalcenter.model.GradeInfo; | 24 | import com.hjx.personalcenter.model.GradeInfo; | 
| 29 | import com.hjx.personalcenter.model.PesonalInfo; | 25 | import com.hjx.personalcenter.model.PesonalInfo; | 
| 30 | import com.hjx.personalcenter.model.ProvinceInfo; | 26 | import com.hjx.personalcenter.model.ProvinceInfo; | 
| 31 | import com.hjx.personalcenter.model.SchoolInfo; | 27 | import com.hjx.personalcenter.model.SchoolInfo; | 
| 32 | import com.hjx.personalcenter.model.SignInfo; | 28 | import com.hjx.personalcenter.model.SignInfo; | 
| 33 | import com.hjx.personalcenter.model.VersionInfo; | 29 | import com.hjx.personalcenter.model.VersionInfo; | 
| 34 | import com.hjx.personalcenter.util.AlertUtils; | 30 | import com.hjx.personalcenter.util.AlertUtils; | 
| 35 | import com.hjx.personalcenter.util.DialogPermission; | 31 | import com.hjx.personalcenter.util.DialogPermission; | 
| 36 | import com.loopj.android.http.AsyncHttpResponseHandler; | 32 | import com.loopj.android.http.AsyncHttpResponseHandler; | 
| 37 | import com.loopj.android.http.JsonHttpResponseHandler; | 33 | import com.loopj.android.http.JsonHttpResponseHandler; | 
| 38 | import com.loopj.android.http.RequestParams; | 34 | import com.loopj.android.http.RequestParams; | 
| 39 | import com.mylhyl.circledialog.CircleDialog; | ||
| 40 | import com.mylhyl.circledialog.callback.ConfigText; | ||
| 41 | import com.mylhyl.circledialog.params.TextParams; | ||
| 42 | 35 | ||
| 43 | import org.apache.http.Header; | 36 | import org.apache.http.Header; | 
| 44 | import org.apache.http.entity.ByteArrayEntity; | 37 | import org.apache.http.entity.ByteArrayEntity; | 
| 45 | import org.apache.http.message.BasicHeader; | 38 | import org.apache.http.message.BasicHeader; | 
| 46 | import org.apache.http.protocol.HTTP; | 39 | import org.apache.http.protocol.HTTP; | 
| 47 | import org.json.JSONException; | 40 | import org.json.JSONException; | 
| 48 | import org.json.JSONObject; | 41 | import org.json.JSONObject; | 
| 49 | 42 | ||
| 50 | import java.io.File; | 43 | import java.io.File; | 
| 51 | import java.io.FileNotFoundException; | 44 | import java.io.FileNotFoundException; | 
| 52 | import java.io.UnsupportedEncodingException; | 45 | import java.io.UnsupportedEncodingException; | 
| 53 | import java.util.ArrayList; | 46 | import java.util.ArrayList; | 
| 54 | import java.util.List; | 47 | import java.util.List; | 
| 55 | 48 | ||
| 56 | public class HttpManager { | 49 | public class HttpManager { | 
| 57 | private static HttpManager instance; | 50 | private static HttpManager instance; | 
| 58 | private ProgressDialog mProgress = null; | 51 | private ProgressDialog mProgress = null; | 
| 59 | 52 | ||
| 60 | public static HttpManager getInstance() { | 53 | public static HttpManager getInstance() { | 
| 61 | if (instance == null) { | 54 | if (instance == null) { | 
| 62 | instance = new HttpManager(); | 55 | instance = new HttpManager(); | 
| 63 | } | 56 | } | 
| 64 | return instance; | 57 | return instance; | 
| 65 | } | 58 | } | 
| 66 | 59 | ||
| 67 | 60 | ||
| 68 | //登录接口 | 61 | //登录接口 | 
| 69 | 62 | ||
| 70 | public void login(final String username, final String password, final Context mContext, final Handler handler) { | 63 | public void login(final String username, final String password, final Context mContext, final Handler handler) { | 
| 71 | mProgress = DialogPermission.showProgress(mContext, null, "正在登录...", | 64 | mProgress = DialogPermission.showProgress(mContext, null, "正在登录...", | 
| 72 | false, true, null); | 65 | false, true, null); | 
| 73 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 66 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 74 | HttpClient.getInstance().get(HttpUrl.loginUrl + "?username=" + username + "&password=" + password, new AsyncHttpResponseHandler() { | 67 | HttpClient.getInstance().get(HttpUrl.loginUrl + "?username=" + username + "&password=" + password, new AsyncHttpResponseHandler() { | 
| 75 | @Override | 68 | @Override | 
| 76 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 69 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 77 | closeProgress(); | 70 | closeProgress(); | 
| 78 | Message msg = Message.obtain(); | 71 | Message msg = Message.obtain(); | 
| 79 | msg.what = HttpCode.LOGIN_SUCESS; | 72 | msg.what = HttpCode.LOGIN_SUCESS; | 
| 80 | msg.obj = new String(arg2); | 73 | msg.obj = new String(arg2); | 
| 81 | handler.sendMessage(msg); | 74 | handler.sendMessage(msg); | 
| 82 | 75 | ||
| 83 | 76 | ||
| 84 | } | 77 | } | 
| 85 | 78 | ||
| 86 | @Override | 79 | @Override | 
| 87 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 80 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 88 | closeProgress(); | 81 | closeProgress(); | 
| 89 | new CircleDialog.Builder((FragmentActivity) mContext) | 82 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 90 | .setCanceledOnTouchOutside(false) | ||
| 91 | .setCancelable(false) | ||
| 92 | .setWidth(0.5f) | ||
| 93 | .configText(new ConfigText() { | ||
| 94 | @Override | ||
| 95 | public void onConfig(TextParams params) { | ||
| 96 | params.gravity = Gravity.CENTER; | ||
| 97 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 98 | } | ||
| 99 | }) | ||
| 100 | .setText("当前无网络,请检查网络设置") | ||
| 101 | .setNegative("继续使用", null) | ||
| 102 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 103 | @Override | ||
| 104 | public void onClick(View v) { | ||
| 105 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 106 | mContext.startActivity(intent); | ||
| 107 | } | ||
| 108 | }) | ||
| 109 | .show(); | ||
| 110 | } | 83 | } | 
| 111 | }); | 84 | }); | 
| 112 | } | 85 | } | 
| 113 | 86 | ||
| 114 | //注册接口 | 87 | //注册接口 | 
| 115 | public void register(final Context context, String username, String password, String smscode, String source, final Handler handler) { | 88 | public void register(final Context context, String username, String password, String smscode, String source, final Handler handler) { | 
| 116 | mProgress = DialogPermission.showProgress(context, null, "正在注册...", | 89 | mProgress = DialogPermission.showProgress(context, null, "正在注册...", | 
| 117 | false, true, null); | 90 | false, true, null); | 
| 118 | JSONObject jsonObject = new JSONObject(); | 91 | JSONObject jsonObject = new JSONObject(); | 
| 119 | ByteArrayEntity entity = null; | 92 | ByteArrayEntity entity = null; | 
| 120 | try { | 93 | try { | 
| 121 | jsonObject.put(HttpKey.USERNAME, username); | 94 | jsonObject.put(HttpKey.USERNAME, username); | 
| 122 | jsonObject.put(HttpKey.PASSWORD, password); | 95 | jsonObject.put(HttpKey.PASSWORD, password); | 
| 123 | jsonObject.put(HttpKey.SMSCODE, smscode); | 96 | jsonObject.put(HttpKey.SMSCODE, smscode); | 
| 124 | jsonObject.put(HttpKey.SOURCE, source); | 97 | jsonObject.put(HttpKey.SOURCE, source); | 
| 125 | Log.e("test", "jsonObject" + jsonObject); | 98 | Log.e("test", "jsonObject" + jsonObject); | 
| 126 | entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8")); | 99 | entity = new ByteArrayEntity(jsonObject.toString().getBytes("UTF-8")); | 
| 127 | entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); | 100 | entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); | 
| 128 | } catch (JSONException e) { | 101 | } catch (JSONException e) { | 
| 129 | e.printStackTrace(); | 102 | e.printStackTrace(); | 
| 130 | } catch (UnsupportedEncodingException e) { | 103 | } catch (UnsupportedEncodingException e) { | 
| 131 | e.printStackTrace(); | 104 | e.printStackTrace(); | 
| 132 | } | 105 | } | 
| 133 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 106 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 134 | HttpClient.getInstance().post(context, HttpUrl.registeredUrl, entity, "application/json", new JsonHttpResponseHandler() { | 107 | HttpClient.getInstance().post(context, HttpUrl.registeredUrl, entity, "application/json", new JsonHttpResponseHandler() { | 
| 135 | @Override | 108 | @Override | 
| 136 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 109 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 
| 137 | super.onSuccess(statusCode, headers, response); | 110 | super.onSuccess(statusCode, headers, response); | 
| 138 | closeProgress(); | 111 | closeProgress(); | 
| 139 | Log.e("test", "onSuccess" + response); | 112 | Log.e("test", "onSuccess" + response); | 
| 140 | Message msg = Message.obtain(); | 113 | Message msg = Message.obtain(); | 
| 141 | msg.what = HttpCode.REGISTERED_SUCESS; | 114 | msg.what = HttpCode.REGISTERED_SUCESS; | 
| 142 | msg.obj = response; | 115 | msg.obj = response; | 
| 143 | handler.sendMessage(msg); | 116 | handler.sendMessage(msg); | 
| 144 | 117 | ||
| 145 | } | 118 | } | 
| 146 | 119 | ||
| 147 | @Override | 120 | @Override | 
| 148 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 121 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 
| 149 | super.onFailure(statusCode, headers, throwable, errorResponse); | 122 | super.onFailure(statusCode, headers, throwable, errorResponse); | 
| 150 | closeProgress(); | 123 | closeProgress(); | 
| 151 | Log.e("test", "onFailure" + errorResponse); | 124 | Log.e("test", "onFailure" + errorResponse); | 
| 152 | new CircleDialog.Builder((FragmentActivity) context) | 125 | AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 153 | .setCanceledOnTouchOutside(false) | ||
| 154 | .setCancelable(false) | ||
| 155 | .setWidth(0.5f) | ||
| 156 | .configText(new ConfigText() { | ||
| 157 | @Override | ||
| 158 | public void onConfig(TextParams params) { | ||
| 159 | params.gravity = Gravity.CENTER; | ||
| 160 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 161 | } | ||
| 162 | }) | ||
| 163 | .setText("当前无网络,请检查网络设置") | ||
| 164 | .setNegative("继续使用", null) | ||
| 165 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 166 | @Override | ||
| 167 | public void onClick(View v) { | ||
| 168 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 169 | context.startActivity(intent); | ||
| 170 | } | ||
| 171 | }) | ||
| 172 | .show(); | ||
| 173 | } | 126 | } | 
| 174 | 127 | ||
| 175 | }); | 128 | }); | 
| 176 | } | 129 | } | 
| 177 | 130 | ||
| 178 | //注册验证码 | 131 | //注册验证码 | 
| 179 | public void authCode(final String type, final String mobile, final Handler handler, final Context mContext) { | 132 | public void authCode(final String type, final String mobile, final Handler handler, final Context mContext) { | 
| 180 | RequestParams params = new RequestParams(); | 133 | RequestParams params = new RequestParams(); | 
| 181 | params.put(HttpKey.TYPE, type); | 134 | params.put(HttpKey.TYPE, type); | 
| 182 | params.put(HttpKey.MOBIL, mobile); | 135 | params.put(HttpKey.MOBIL, mobile); | 
| 183 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 136 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 184 | HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() { | 137 | HttpClient.getInstance().post(HttpUrl.authCodedUrl, params, new JsonHttpResponseHandler() { | 
| 185 | 138 | ||
| 186 | @Override | 139 | @Override | 
| 187 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 140 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 
| 188 | Log.e("test", "onSuccess-----" + response); | 141 | Log.e("test", "onSuccess-----" + response); | 
| 189 | Message msg = Message.obtain(); | 142 | Message msg = Message.obtain(); | 
| 190 | msg.what = HttpCode.AUTHCODE_SUCESS; | 143 | msg.what = HttpCode.AUTHCODE_SUCESS; | 
| 191 | msg.obj = response; | 144 | msg.obj = response; | 
| 192 | handler.sendMessage(msg); | 145 | handler.sendMessage(msg); | 
| 193 | } | 146 | } | 
| 194 | 147 | ||
| 195 | @Override | 148 | @Override | 
| 196 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 149 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 
| 197 | new CircleDialog.Builder((FragmentActivity) mContext) | 150 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 198 | .setCanceledOnTouchOutside(false) | ||
| 199 | .setCancelable(false) | ||
| 200 | .setWidth(0.5f) | ||
| 201 | .configText(new ConfigText() { | ||
| 202 | @Override | ||
| 203 | public void onConfig(TextParams params) { | ||
| 204 | params.gravity = Gravity.CENTER; | ||
| 205 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 206 | } | ||
| 207 | }) | ||
| 208 | .setText("当前无网络,请检查网络设置") | ||
| 209 | .setNegative("继续使用", null) | ||
| 210 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 211 | @Override | ||
| 212 | public void onClick(View v) { | ||
| 213 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 214 | mContext.startActivity(intent); | ||
| 215 | } | ||
| 216 | }) | ||
| 217 | .show(); | ||
| 218 | } | 151 | } | 
| 219 | }); | 152 | }); | 
| 220 | } | 153 | } | 
| 221 | 154 | ||
| 222 | 155 | ||
| 223 | //手机号是否注册 | 156 | //手机号是否注册 | 
| 224 | public void isregistered(final String mobile, final Handler handler, final Context mContext) { | 157 | public void isregistered(final String mobile, final Handler handler, final Context mContext) { | 
| 225 | RequestParams params = new RequestParams(); | 158 | RequestParams params = new RequestParams(); | 
| 226 | params.put(HttpKey.USERNAME, mobile); | 159 | params.put(HttpKey.USERNAME, mobile); | 
| 227 | HttpClient.getInstance().get(HttpUrl.isRegiterUrl + "?mobile=" + mobile, new JsonHttpResponseHandler() { | 160 | HttpClient.getInstance().get(HttpUrl.isRegiterUrl + "?mobile=" + mobile, new JsonHttpResponseHandler() { | 
| 228 | @Override | 161 | @Override | 
| 229 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 162 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 
| 230 | Log.e("test", "isregistered" + response.toString()); | 163 | Log.e("test", "isregistered" + response.toString()); | 
| 231 | Message msg = Message.obtain(); | 164 | Message msg = Message.obtain(); | 
| 232 | msg.what = HttpCode.IS_REFISTER; | 165 | msg.what = HttpCode.IS_REFISTER; | 
| 233 | msg.obj = response; | 166 | msg.obj = response; | 
| 234 | handler.sendMessage(msg); | 167 | handler.sendMessage(msg); | 
| 235 | 168 | ||
| 236 | } | 169 | } | 
| 237 | 170 | ||
| 238 | @Override | 171 | @Override | 
| 239 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 172 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 
| 240 | new CircleDialog.Builder((FragmentActivity) mContext) | 173 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 241 | .setCanceledOnTouchOutside(false) | ||
| 242 | .setCancelable(false) | ||
| 243 | .setWidth(0.5f) | ||
| 244 | .configText(new ConfigText() { | ||
| 245 | @Override | ||
| 246 | public void onConfig(TextParams params) { | ||
| 247 | params.gravity = Gravity.CENTER; | ||
| 248 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 249 | } | ||
| 250 | }) | ||
| 251 | .setText("当前无网络,请检查网络设置") | ||
| 252 | .setNegative("继续使用", null) | ||
| 253 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 254 | @Override | ||
| 255 | public void onClick(View v) { | ||
| 256 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 257 | mContext.startActivity(intent); | ||
| 258 | } | ||
| 259 | }) | ||
| 260 | .show(); | ||
| 261 | 174 | ||
| 262 | } | 175 | } | 
| 263 | }); | 176 | }); | 
| 264 | } | 177 | } | 
| 265 | 178 | ||
| 266 | //修改密码 | 179 | //修改密码 | 
| 267 | public void changepwd(final Context context, String username, String old_pwd1, String newpassword3) { | 180 | public void changepwd(final Context context, String username, String old_pwd1, String newpassword3) { | 
| 268 | RequestParams params = new RequestParams(); | 181 | RequestParams params = new RequestParams(); | 
| 269 | params.put(HttpKey.USERNAME, username); | 182 | params.put(HttpKey.USERNAME, username); | 
| 270 | params.put(HttpKey.OLDPASS, old_pwd1); | 183 | params.put(HttpKey.OLDPASS, old_pwd1); | 
| 271 | params.put(HttpKey.NEWPASS, newpassword3); | 184 | params.put(HttpKey.NEWPASS, newpassword3); | 
| 272 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 185 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 273 | HttpClient.getInstance().setTimeout(10 * 1000); | 186 | HttpClient.getInstance().setTimeout(10 * 1000); | 
| 274 | HttpClient.getInstance().post(HttpUrl.changepassword, params, new AsyncHttpResponseHandler() { | 187 | HttpClient.getInstance().post(HttpUrl.changepassword, params, new AsyncHttpResponseHandler() { | 
| 275 | @Override | 188 | @Override | 
| 276 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 189 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 277 | try { | 190 | try { | 
| 278 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 191 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 279 | String status = jsonObject.optString("status"); | 192 | String status = jsonObject.optString("status"); | 
| 280 | if (status.equals("100")) { | 193 | if (status.equals("100")) { | 
| 281 | Log.e("test", "onSuccess" + new String(bytes)); | 194 | Log.e("test", "onSuccess" + new String(bytes)); | 
| 282 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); | 195 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); | 
| 283 | SaveParam.getInstance().clearData((Activity) context); | 196 | SaveParam.getInstance().clearData((Activity) context); | 
| 284 | Intent intent = new Intent(); | 197 | Intent intent = new Intent(); | 
| 285 | intent.setClass(context, LoginAndRegisterActivity.class); | 198 | intent.setClass(context, LoginAndRegisterActivity.class); | 
| 286 | ((Activity) context).startActivity(intent); | 199 | ((Activity) context).startActivity(intent); | 
| 287 | ((Activity) context).finish(); | 200 | ((Activity) context).finish(); | 
| 288 | } else { | 201 | } else { | 
| 289 | Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show(); | 202 | Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show(); | 
| 290 | } | 203 | } | 
| 291 | } catch (JSONException e) { | 204 | } catch (JSONException e) { | 
| 292 | e.printStackTrace(); | 205 | e.printStackTrace(); | 
| 293 | } | 206 | } | 
| 294 | } | 207 | } | 
| 295 | 208 | ||
| 296 | @Override | 209 | @Override | 
| 297 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 210 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 298 | Log.e("test", "onFailure" + new String(bytes)); | 211 | Log.e("test", "onFailure" + new String(bytes)); | 
| 299 | new CircleDialog.Builder((FragmentActivity) context) | 212 | AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 300 | .setCanceledOnTouchOutside(false) | ||
| 301 | .setCancelable(false) | ||
| 302 | .setWidth(0.5f) | ||
| 303 | .configText(new ConfigText() { | ||
| 304 | @Override | ||
| 305 | public void onConfig(TextParams params) { | ||
| 306 | params.gravity = Gravity.CENTER; | ||
| 307 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 308 | } | ||
| 309 | }) | ||
| 310 | .setText("当前无网络,请检查网络设置") | ||
| 311 | .setNegative("继续使用", null) | ||
| 312 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 313 | @Override | ||
| 314 | public void onClick(View v) { | ||
| 315 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 316 | context.startActivity(intent); | ||
| 317 | } | ||
| 318 | }) | ||
| 319 | .show(); | ||
| 320 | } | 213 | } | 
| 321 | }); | 214 | }); | 
| 322 | 215 | ||
| 323 | } | 216 | } | 
| 324 | 217 | ||
| 325 | //忘记密码 | 218 | //忘记密码 | 
| 326 | public void forgetpassword(final Context context, String forot_pwd_phone1, String forot_pwd_pwd3, String forot_pwd_anthcode1, Handler handler) { | 219 | public void forgetpassword(final Context context, String forot_pwd_phone1, String forot_pwd_pwd3, String forot_pwd_anthcode1, Handler handler) { | 
| 327 | RequestParams params = new RequestParams(); | 220 | RequestParams params = new RequestParams(); | 
| 328 | params.put(HttpKey.USERNAME, forot_pwd_phone1); | 221 | params.put(HttpKey.USERNAME, forot_pwd_phone1); | 
| 329 | params.put(HttpKey.PASSWORD, forot_pwd_pwd3); | 222 | params.put(HttpKey.PASSWORD, forot_pwd_pwd3); | 
| 330 | params.put(HttpKey.AUTHCODE, forot_pwd_anthcode1); | 223 | params.put(HttpKey.AUTHCODE, forot_pwd_anthcode1); | 
| 331 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 224 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 332 | HttpClient.getInstance().post(HttpUrl.forgetpassword, params, new AsyncHttpResponseHandler() { | 225 | HttpClient.getInstance().post(HttpUrl.forgetpassword, params, new AsyncHttpResponseHandler() { | 
| 333 | @Override | 226 | @Override | 
| 334 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 227 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 335 | try { | 228 | try { | 
| 336 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 229 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 337 | String status = jsonObject.optString("status"); | 230 | String status = jsonObject.optString("status"); | 
| 338 | if (status.equals("100")) { | 231 | if (status.equals("100")) { | 
| 339 | Log.e("test", "onSuccess" + new String(bytes)); | 232 | Log.e("test", "onSuccess" + new String(bytes)); | 
| 340 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); | 233 | Toast.makeText(context, "密码修改成功!", Toast.LENGTH_LONG).show(); | 
| 341 | ((Activity) context).finish(); | 234 | ((Activity) context).finish(); | 
| 342 | } else { | 235 | } else { | 
| 343 | Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show(); | 236 | Toast.makeText(context, "密码修改失败!", Toast.LENGTH_LONG).show(); | 
| 344 | } | 237 | } | 
| 345 | } catch (JSONException e) { | 238 | } catch (JSONException e) { | 
| 346 | e.printStackTrace(); | 239 | e.printStackTrace(); | 
| 347 | } | 240 | } | 
| 348 | } | 241 | } | 
| 349 | 242 | ||
| 350 | @Override | 243 | @Override | 
| 351 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 244 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 352 | Log.e("test", "onFailure" + new String(bytes)); | 245 | Log.e("test", "onFailure" + new String(bytes)); | 
| 353 | new CircleDialog.Builder((FragmentActivity) context) | 246 | AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 354 | .setCanceledOnTouchOutside(false) | ||
| 355 | .setCancelable(false) | ||
| 356 | .setWidth(0.5f) | ||
| 357 | .configText(new ConfigText() { | ||
| 358 | @Override | ||
| 359 | public void onConfig(TextParams params) { | ||
| 360 | params.gravity = Gravity.CENTER; | ||
| 361 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 362 | } | ||
| 363 | }) | ||
| 364 | .setText("当前无网络,请检查网络设置") | ||
| 365 | .setNegative("继续使用", null) | ||
| 366 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 367 | @Override | ||
| 368 | public void onClick(View v) { | ||
| 369 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 370 | context.startActivity(intent); | ||
| 371 | } | ||
| 372 | }) | ||
| 373 | .show(); | ||
| 374 | } | 247 | } | 
| 375 | }); | 248 | }); | 
| 376 | 249 | ||
| 377 | } | 250 | } | 
| 378 | 251 | ||
| 379 | //保存用户登录信息 | 252 | //保存用户登录信息 | 
| 380 | public void saveLoginInfo(Context context, String username, String password, String access_token, String loginStatus, String userId) { | 253 | public void saveLoginInfo(Context context, String username, String password, String access_token, String loginStatus, String userId) { | 
| 381 | SaveParam.getInstance().saveLoginParam(context, "username", username); | 254 | SaveParam.getInstance().saveLoginParam(context, "username", username); | 
| 382 | SaveParam.getInstance().saveLoginParam(context, "password", password); | 255 | SaveParam.getInstance().saveLoginParam(context, "password", password); | 
| 383 | SaveParam.getInstance().saveLoginParam(context, "access_token", access_token); | 256 | SaveParam.getInstance().saveLoginParam(context, "access_token", access_token); | 
| 384 | SaveParam.getInstance().saveLoginParam(context, "login", loginStatus); | 257 | SaveParam.getInstance().saveLoginParam(context, "login", loginStatus); | 
| 385 | SaveParam.getInstance().saveLoginParam(context, "userId", userId); | 258 | SaveParam.getInstance().saveLoginParam(context, "userId", userId); | 
| 386 | 259 | ||
| 387 | 260 | ||
| 388 | } | 261 | } | 
| 389 | 262 | ||
| 390 | //提交保卡信息 | 263 | //提交保卡信息 | 
| 391 | public void subcardinfo(final Context context, long userId, String customerName, String customerAddress, | 264 | public void subcardinfo(final Context context, long userId, String customerName, String customerAddress, | 
| 392 | String buyAddress, String buyTime, String alterSaleCall, | 265 | String buyAddress, String buyTime, String alterSaleCall, | 
| 393 | String productModel, String deviceNumber, String macAddress, | 266 | String productModel, String deviceNumber, String macAddress, | 
| 394 | String mobilePhone) { | 267 | String mobilePhone) { | 
| 395 | mProgress = DialogPermission.showProgress(context, null, "正在绑定保卡...", | 268 | mProgress = DialogPermission.showProgress(context, null, "正在绑定保卡...", | 
| 396 | false, true, null); | 269 | false, true, null); | 
| 397 | RequestParams params = new RequestParams(); | 270 | RequestParams params = new RequestParams(); | 
| 398 | 271 | ||
| 399 | params.put(HttpKey.USEID, userId); | 272 | params.put(HttpKey.USEID, userId); | 
| 400 | params.put(HttpKey.CUSTOMENAME, customerName); | 273 | params.put(HttpKey.CUSTOMENAME, customerName); | 
| 401 | params.put(HttpKey.CUSTOMADRESS, customerAddress); | 274 | params.put(HttpKey.CUSTOMADRESS, customerAddress); | 
| 402 | params.put(HttpKey.BUYADREES, buyAddress); | 275 | params.put(HttpKey.BUYADREES, buyAddress); | 
| 403 | params.put(HttpKey.BUYTIME, buyTime); | 276 | params.put(HttpKey.BUYTIME, buyTime); | 
| 404 | params.put(HttpKey.ALTERSALECALL, alterSaleCall); | 277 | params.put(HttpKey.ALTERSALECALL, alterSaleCall); | 
| 405 | params.put(HttpKey.PRODUCTMODEL, productModel); | 278 | params.put(HttpKey.PRODUCTMODEL, productModel); | 
| 406 | params.put(HttpKey.DEVICENUMBER, deviceNumber); | 279 | params.put(HttpKey.DEVICENUMBER, deviceNumber); | 
| 407 | params.put(HttpKey.MACADRESS, macAddress); | 280 | params.put(HttpKey.MACADRESS, macAddress); | 
| 408 | params.put(HttpKey.MOBILPHONE, mobilePhone); | 281 | params.put(HttpKey.MOBILPHONE, mobilePhone); | 
| 409 | 282 | ||
| 410 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 283 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 411 | 284 | ||
| 412 | Log.e("test", "params" + params); | 285 | Log.e("test", "params" + params); | 
| 413 | HttpClient.getInstance().setTimeout(5 * 1000); | 286 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 414 | HttpClient.getInstance().post(context, HttpUrl.subcardinfo, params, new AsyncHttpResponseHandler() { | 287 | HttpClient.getInstance().post(context, HttpUrl.subcardinfo, params, new AsyncHttpResponseHandler() { | 
| 415 | @Override | 288 | @Override | 
| 416 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 289 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 417 | JSONObject jsonObject = null; | 290 | JSONObject jsonObject = null; | 
| 418 | closeProgress(); | 291 | closeProgress(); | 
| 419 | try { | 292 | try { | 
| 420 | jsonObject = new JSONObject(new String(bytes)); | 293 | jsonObject = new JSONObject(new String(bytes)); | 
| 421 | String status = jsonObject.optString("status"); | 294 | String status = jsonObject.optString("status"); | 
| 422 | if (status.equals("1")) { | 295 | if (status.equals("1")) { | 
| 423 | Log.e("test", "onSuccess" + jsonObject); | 296 | Log.e("test", "onSuccess" + jsonObject); | 
| 424 | Toast.makeText(context, "保卡绑定成功!", Toast.LENGTH_LONG).show(); | 297 | Toast.makeText(context, "保卡绑定成功!", Toast.LENGTH_LONG).show(); | 
| 425 | Intent intent = new Intent(); | 298 | Intent intent = new Intent(); | 
| 426 | intent.setClass((Activity) context, TheStartPageActivity.class); | 299 | intent.setClass((Activity) context, TheStartPageActivity.class); | 
| 427 | ((Activity) context).startActivity(intent); | 300 | ((Activity) context).startActivity(intent); | 
| 428 | ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout); | 301 | ((Activity) context).overridePendingTransition(R.anim.rightin, R.anim.rightout); | 
| 429 | ((Activity) context).finish(); | 302 | ((Activity) context).finish(); | 
| 430 | } else { | 303 | } else { | 
| 431 | Toast.makeText(context, "保卡绑定失败!", Toast.LENGTH_LONG).show(); | 304 | Toast.makeText(context, "保卡绑定失败!", Toast.LENGTH_LONG).show(); | 
| 432 | } | 305 | } | 
| 433 | } catch (JSONException e) { | 306 | } catch (JSONException e) { | 
| 434 | e.printStackTrace(); | 307 | e.printStackTrace(); | 
| 435 | } | 308 | } | 
| 436 | 309 | ||
| 437 | 310 | ||
| 438 | } | 311 | } | 
| 439 | 312 | ||
| 440 | @Override | 313 | @Override | 
| 441 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 314 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 442 | Log.e("test", "onFailure" + (throwable)); | 315 | Log.e("test", "onFailure" + (throwable)); | 
| 443 | closeProgress(); | 316 | closeProgress(); | 
| 444 | new CircleDialog.Builder((FragmentActivity) context) | 317 | AlertUtils.showToast(context, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 445 | .setCanceledOnTouchOutside(false) | ||
| 446 | .setCancelable(false) | ||
| 447 | .setWidth(0.5f) | ||
| 448 | .configText(new ConfigText() { | ||
| 449 | @Override | ||
| 450 | public void onConfig(TextParams params) { | ||
| 451 | params.gravity = Gravity.CENTER; | ||
| 452 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 453 | } | ||
| 454 | }) | ||
| 455 | .setText("当前无网络,请检查网络设置") | ||
| 456 | .setNegative("继续使用", null) | ||
| 457 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 458 | @Override | ||
| 459 | public void onClick(View v) { | ||
| 460 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 461 | context.startActivity(intent); | ||
| 462 | } | ||
| 463 | }) | ||
| 464 | .show(); | ||
| 465 | 318 | ||
| 466 | } | 319 | } | 
| 467 | }); | 320 | }); | 
| 468 | 321 | ||
| 469 | } | 322 | } | 
| 470 | 323 | ||
| 471 | //获取保卡信息 | 324 | //获取保卡信息 | 
| 472 | public void getcardinfo(final Context mContext, long userId, final Handler handler) { | 325 | public void getcardinfo(final Context mContext, long userId, final Handler handler) { | 
| 473 | mProgress = DialogPermission.showProgress(mContext, null, "正在获取保卡信息...", | 326 | mProgress = DialogPermission.showProgress(mContext, null, "正在获取保卡信息...", | 
| 474 | false, true, null); | 327 | false, true, null); | 
| 475 | HttpClient.getInstance().setTimeout(5 * 1000); | 328 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 476 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 329 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 477 | HttpClient.getInstance().get(HttpUrl.getcardinfo + "?userId=" + userId, new AsyncHttpResponseHandler() { | 330 | HttpClient.getInstance().get(HttpUrl.getcardinfo + "?userId=" + userId, new AsyncHttpResponseHandler() { | 
| 478 | @Override | 331 | @Override | 
| 479 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 332 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 480 | closeProgress(); | 333 | closeProgress(); | 
| 481 | Log.e("test", "保卡信息" + new String(arg2)); | 334 | Log.e("test", "保卡信息" + new String(arg2)); | 
| 482 | try { | 335 | try { | 
| 483 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 336 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 484 | int status = jsonObject.optInt("status"); | 337 | int status = jsonObject.optInt("status"); | 
| 485 | if (status == 1) { | 338 | if (status == 1) { | 
| 486 | CardInfo cardInfo = GsonTool.getPerson(new String(arg2), CardInfo.class);//解析json数据 | 339 | CardInfo cardInfo = GsonTool.getPerson(new String(arg2), CardInfo.class);//解析json数据 | 
| 487 | CardInfo.DataBean schoolInfoBeanList = cardInfo.getData(); | 340 | CardInfo.DataBean schoolInfoBeanList = cardInfo.getData(); | 
| 488 | Message msg = Message.obtain(); | 341 | Message msg = Message.obtain(); | 
| 489 | msg.what = HttpCode.SUCHCARDINFO; | 342 | msg.what = HttpCode.SUCHCARDINFO; | 
| 490 | msg.obj = schoolInfoBeanList; | 343 | msg.obj = schoolInfoBeanList; | 
| 491 | handler.sendMessage(msg); | 344 | handler.sendMessage(msg); | 
| 492 | 345 | ||
| 493 | 346 | ||
| 494 | } else { | 347 | } else { | 
| 495 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 348 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 496 | 349 | ||
| 497 | } | 350 | } | 
| 498 | } catch (JSONException e) { | 351 | } catch (JSONException e) { | 
| 499 | e.printStackTrace(); | 352 | e.printStackTrace(); | 
| 500 | } | 353 | } | 
| 501 | 354 | ||
| 502 | } | 355 | } | 
| 503 | 356 | ||
| 504 | @Override | 357 | @Override | 
| 505 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 358 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 506 | closeProgress(); | 359 | closeProgress(); | 
| 507 | new CircleDialog.Builder((FragmentActivity) mContext) | 360 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 508 | .setCanceledOnTouchOutside(false) | ||
| 509 | .setCancelable(false) | ||
| 510 | .setWidth(0.5f) | ||
| 511 | .configText(new ConfigText() { | ||
| 512 | @Override | ||
| 513 | public void onConfig(TextParams params) { | ||
| 514 | params.gravity = Gravity.CENTER; | ||
| 515 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 516 | } | ||
| 517 | }) | ||
| 518 | .setText("当前无网络,请检查网络设置") | ||
| 519 | .setNegative("继续使用", null) | ||
| 520 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 521 | @Override | ||
| 522 | public void onClick(View v) { | ||
| 523 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 524 | mContext.startActivity(intent); | ||
| 525 | } | ||
| 526 | }) | ||
| 527 | .show(); | ||
| 528 | } | 361 | } | 
| 529 | }); | 362 | }); | 
| 530 | } | 363 | } | 
| 531 | 364 | ||
| 532 | //修改保卡信息电话 | 365 | //修改保卡信息电话 | 
| 533 | public void changecardinfophone(final Context mContext, long userId, final String customerPhone, String authCode) { | 366 | public void changecardinfophone(final Context mContext, long userId, final String customerPhone, String authCode) { | 
| 534 | RequestParams params = new RequestParams(); | 367 | RequestParams params = new RequestParams(); | 
| 535 | params.put("userId", userId); | 368 | params.put("userId", userId); | 
| 536 | params.put("customerPhone", customerPhone); | 369 | params.put("customerPhone", customerPhone); | 
| 537 | params.put("authCode", authCode); | 370 | params.put("authCode", authCode); | 
| 538 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 371 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 539 | HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() { | 372 | HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() { | 
| 540 | @Override | 373 | @Override | 
| 541 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 374 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 542 | try { | 375 | try { | 
| 543 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 376 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 544 | String status = jsonObject.optString("status"); | 377 | String status = jsonObject.optString("status"); | 
| 545 | if (status.equals("1")) { | 378 | if (status.equals("1")) { | 
| 546 | Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show(); | 379 | Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show(); | 
| 547 | if (Content.authcodeflag==2){ | 380 | if (Content.authcodeflag==2){ | 
| 548 | SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.CARDPHONE, customerPhone); | 381 | SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.CARDPHONE, customerPhone); | 
| 549 | }else if (Content.authcodeflag==1){ | 382 | }else if (Content.authcodeflag==1){ | 
| 550 | SaveParam.getInstance().saveLoginParam(mContext, "username", customerPhone); | 383 | SaveParam.getInstance().saveLoginParam(mContext, "username", customerPhone); | 
| 551 | }else { | 384 | }else { | 
| 552 | AlertUtils.showToast(mContext, "修改未知的手机号"); | 385 | AlertUtils.showToast(mContext, "修改未知的手机号"); | 
| 553 | } | 386 | } | 
| 554 | ((Activity) mContext).finish(); | 387 | ((Activity) mContext).finish(); | 
| 555 | } else if (status.equals("1001")) { | 388 | } else if (status.equals("1001")) { | 
| 556 | Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show(); | 389 | Toast.makeText(mContext, "验证码输入错误", Toast.LENGTH_LONG).show(); | 
| 557 | } else { | 390 | } else { | 
| 558 | AlertUtils.showToast(mContext, "您好,服务器异常,请稍后重试"); | 391 | AlertUtils.showToast(mContext, "您好,服务器异常,请稍后重试"); | 
| 559 | } | 392 | } | 
| 560 | } catch (JSONException e) { | 393 | } catch (JSONException e) { | 
| 561 | e.printStackTrace(); | 394 | e.printStackTrace(); | 
| 562 | } | 395 | } | 
| 563 | } | 396 | } | 
| 564 | 397 | ||
| 565 | @Override | 398 | @Override | 
| 566 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 399 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 567 | Log.e("test", "onFailure" + new String(bytes)); | 400 | Log.e("test", "onFailure" + new String(bytes)); | 
| 568 | new CircleDialog.Builder((FragmentActivity) mContext) | 401 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 569 | .setCanceledOnTouchOutside(false) | ||
| 570 | .setCancelable(false) | ||
| 571 | .setWidth(0.5f) | ||
| 572 | .configText(new ConfigText() { | ||
| 573 | @Override | ||
| 574 | public void onConfig(TextParams params) { | ||
| 575 | params.gravity = Gravity.CENTER; | ||
| 576 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 577 | } | ||
| 578 | }) | ||
| 579 | .setText("当前无网络,请检查网络设置") | ||
| 580 | .setNegative("继续使用", null) | ||
| 581 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 582 | @Override | ||
| 583 | public void onClick(View v) { | ||
| 584 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 585 | mContext.startActivity(intent); | ||
| 586 | } | ||
| 587 | }) | ||
| 588 | .show(); | ||
| 589 | } | 402 | } | 
| 590 | }); | 403 | }); | 
| 591 | } | 404 | } | 
| 592 | 405 | ||
| 593 | //修改保卡信息地址 | 406 | //修改保卡信息地址 | 
| 594 | public void changecardadressinfo(final Context mContext, long userId, final String customerPhone, String authCode, final String customerAddress) { | 407 | public void changecardadressinfo(final Context mContext, long userId, final String customerPhone, String authCode, final String customerAddress) { | 
| 595 | RequestParams params = new RequestParams(); | 408 | RequestParams params = new RequestParams(); | 
| 596 | params.put("userId", userId); | 409 | params.put("userId", userId); | 
| 597 | params.put("customerPhone", customerPhone); | 410 | params.put("customerPhone", customerPhone); | 
| 598 | params.put("authCode", authCode); | 411 | params.put("authCode", authCode); | 
| 599 | params.put("customerAddress", customerAddress); | 412 | params.put("customerAddress", customerAddress); | 
| 600 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 413 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 601 | HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() { | 414 | HttpClient.getInstance().post(HttpUrl.changecardinfo, params, new AsyncHttpResponseHandler() { | 
| 602 | @Override | 415 | @Override | 
| 603 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 416 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 604 | try { | 417 | try { | 
| 605 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 418 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 606 | String status = jsonObject.optString("status"); | 419 | String status = jsonObject.optString("status"); | 
| 607 | if (status.equals("1")) { | 420 | if (status.equals("1")) { | 
| 608 | Toast.makeText(mContext, "手机号修改成功", Toast.LENGTH_LONG).show(); | 421 | Toast.makeText(mContext, "修改成功", Toast.LENGTH_LONG).show(); | 
| 609 | SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.ADRESSCUNSTEM, customerAddress); | 422 | SaveParam.getInstance().saveCustomizeParam(mContext, SaveParam.ADRESSCUNSTEM, customerAddress); | 
| 610 | ((Activity) mContext).finish(); | 423 | ((Activity) mContext).finish(); | 
| 611 | } else { | 424 | } else { | 
| 612 | AlertUtils.showToast(mContext, "您好,服务器异常,请稍后重试"); | 425 | AlertUtils.showToast(mContext, "您好,服务器异常,请稍后重试"); | 
| 613 | } | 426 | } | 
| 614 | } catch (JSONException e) { | 427 | } catch (JSONException e) { | 
| 615 | e.printStackTrace(); | 428 | e.printStackTrace(); | 
| 616 | } | 429 | } | 
| 617 | } | 430 | } | 
| 618 | 431 | ||
| 619 | @Override | 432 | @Override | 
| 620 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 433 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 621 | Log.e("test", "onFailure" + new String(bytes)); | 434 | Log.e("test", "onFailure" + new String(bytes)); | 
| 622 | new CircleDialog.Builder((FragmentActivity) mContext) | 435 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 623 | .setCanceledOnTouchOutside(false) | ||
| 624 | .setCancelable(false) | ||
| 625 | .setWidth(0.5f) | ||
| 626 | .configText(new ConfigText() { | ||
| 627 | @Override | ||
| 628 | public void onConfig(TextParams params) { | ||
| 629 | params.gravity = Gravity.CENTER; | ||
| 630 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 631 | } | ||
| 632 | }) | ||
| 633 | .setText("当前无网络,请检查网络设置") | ||
| 634 | .setNegative("继续使用", null) | ||
| 635 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 636 | @Override | ||
| 637 | public void onClick(View v) { | ||
| 638 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 639 | mContext.startActivity(intent); | ||
| 640 | } | ||
| 641 | }) | ||
| 642 | .show(); | ||
| 643 | } | 436 | } | 
| 644 | }); | 437 | }); | 
| 645 | } | 438 | } | 
| 646 | 439 | ||
| 647 | //验证是否保卡信息 | 440 | //验证是否保卡信息 | 
| 648 | public void cardinfocheck(final Context mContext, long userId, final Handler handler) { | 441 | public void cardinfocheck(final Context mContext, long userId, final Handler handler) { | 
| 649 | mProgress = DialogPermission.showProgress(mContext, null, "正在验证保卡信息...", | 442 | mProgress = DialogPermission.showProgress(mContext, null, "正在验证保卡信息...", | 
| 650 | false, true, null); | 443 | false, true, null); | 
| 651 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 444 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 652 | HttpClient.getInstance().get(HttpUrl.cardcheck + "?userId=" + userId, new AsyncHttpResponseHandler() { | 445 | HttpClient.getInstance().get(HttpUrl.cardcheck + "?userId=" + userId, new AsyncHttpResponseHandler() { | 
| 653 | @Override | 446 | @Override | 
| 654 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 447 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 655 | Log.e("test", "---" + new String(arg2)); | 448 | Log.e("test", "---" + new String(arg2)); | 
| 656 | closeProgress(); | 449 | closeProgress(); | 
| 657 | Message msg = Message.obtain(); | 450 | Message msg = Message.obtain(); | 
| 658 | msg.what = HttpCode.CHECKCARD; | 451 | msg.what = HttpCode.CHECKCARD; | 
| 659 | msg.obj = new String(arg2); | 452 | msg.obj = new String(arg2); | 
| 660 | handler.sendMessage(msg); | 453 | handler.sendMessage(msg); | 
| 661 | 454 | ||
| 662 | 455 | ||
| 663 | } | 456 | } | 
| 664 | 457 | ||
| 665 | @Override | 458 | @Override | 
| 666 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 459 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 667 | closeProgress(); | 460 | closeProgress(); | 
| 668 | new CircleDialog.Builder((FragmentActivity) mContext) | 461 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 669 | .setCanceledOnTouchOutside(false) | ||
| 670 | .setCancelable(false) | ||
| 671 | .setWidth(0.5f) | ||
| 672 | .configText(new ConfigText() { | ||
| 673 | @Override | ||
| 674 | public void onConfig(TextParams params) { | ||
| 675 | params.gravity = Gravity.CENTER; | ||
| 676 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 677 | } | ||
| 678 | }) | ||
| 679 | .setText("当前无网络,请检查网络设置") | ||
| 680 | .setNegative("继续使用", null) | ||
| 681 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 682 | @Override | ||
| 683 | public void onClick(View v) { | ||
| 684 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 685 | mContext.startActivity(intent); | ||
| 686 | } | ||
| 687 | }) | ||
| 688 | .show(); | ||
| 689 | //Toast.makeText(mContext, "请检查网络。。" + arg3, Toast.LENGTH_LONG).show(); | 462 | //Toast.makeText(mContext, "请检查网络。。" + arg3, Toast.LENGTH_LONG).show(); | 
| 690 | } | 463 | } | 
| 691 | }); | 464 | }); | 
| 692 | } | 465 | } | 
| 693 | 466 | ||
| 694 | ///获取年级 | 467 | ///获取年级 | 
| 695 | public void getgrade(final Context mContext, final Handler handler) { | 468 | public void getgrade(final Context mContext, final Handler handler) { | 
| 696 | HttpClient.getInstance().addHeader("Accept", "application/json"); | 469 | HttpClient.getInstance().addHeader("Accept", "application/json"); | 
| 697 | HttpClient.getInstance().get(HttpUrl.gradesUrl, new AsyncHttpResponseHandler() { | 470 | HttpClient.getInstance().get(HttpUrl.gradesUrl, new AsyncHttpResponseHandler() { | 
| 698 | @Override | 471 | @Override | 
| 699 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 472 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 700 | Log.e("test", "年级" + new String(arg2)); | 473 | Log.e("test", "年级" + new String(arg2)); | 
| 701 | GradeInfo gradeInfo = GsonTool.getPerson(new String(arg2), GradeInfo.class);//解析json数据 | 474 | GradeInfo gradeInfo = GsonTool.getPerson(new String(arg2), GradeInfo.class);//解析json数据 | 
| 702 | List<GradeInfo.DataBean.ChildrenBean> gradeInfoLists = new ArrayList<GradeInfo.DataBean.ChildrenBean>(); | 475 | List<GradeInfo.DataBean.ChildrenBean> gradeInfoLists = new ArrayList<GradeInfo.DataBean.ChildrenBean>(); | 
| 703 | for (int i = 0; i < gradeInfo.getData().size() - 2; i++) { | 476 | for (int i = 0; i < gradeInfo.getData().size() - 2; i++) { | 
| 704 | String name = gradeInfo.getData().get(i).getName(); | 477 | String name = gradeInfo.getData().get(i).getName(); | 
| 705 | int id = gradeInfo.getData().get(i).getId(); | 478 | int id = gradeInfo.getData().get(i).getId(); | 
| 706 | List<GradeInfo.DataBean.ChildrenBean> gradeinfoList = gradeInfo.getData().get(i).getChildren(); | 479 | List<GradeInfo.DataBean.ChildrenBean> gradeinfoList = gradeInfo.getData().get(i).getChildren(); | 
| 707 | for (int j = 0; j < gradeinfoList.size(); j++) { | 480 | for (int j = 0; j < gradeinfoList.size(); j++) { | 
| 708 | String secondname = gradeinfoList.get(j).getName(); | 481 | String secondname = gradeinfoList.get(j).getName(); | 
| 709 | int secondid = gradeinfoList.get(j).getId(); | 482 | int secondid = gradeinfoList.get(j).getId(); | 
| 710 | GradeInfo.DataBean.ChildrenBean dataBean = new GradeInfo.DataBean.ChildrenBean(); | 483 | GradeInfo.DataBean.ChildrenBean dataBean = new GradeInfo.DataBean.ChildrenBean(); | 
| 711 | dataBean.setName(secondname); | 484 | dataBean.setName(secondname); | 
| 712 | dataBean.setId(secondid); | 485 | dataBean.setId(secondid); | 
| 713 | gradeInfoLists.add(dataBean); | 486 | gradeInfoLists.add(dataBean); | 
| 714 | } | 487 | } | 
| 715 | 488 | ||
| 716 | } | 489 | } | 
| 717 | 490 | ||
| 718 | Message message = Message.obtain(); | 491 | Message message = Message.obtain(); | 
| 719 | message.what = HttpCode.GRADER; | 492 | message.what = HttpCode.GRADER; | 
| 720 | message.obj = gradeInfoLists; | 493 | message.obj = gradeInfoLists; | 
| 721 | handler.sendMessage(message); | 494 | handler.sendMessage(message); | 
| 722 | 495 | ||
| 723 | 496 | ||
| 724 | } | 497 | } | 
| 725 | 498 | ||
| 726 | @Override | 499 | @Override | 
| 727 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 500 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 728 | new CircleDialog.Builder((FragmentActivity) mContext) | 501 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 729 | .setCanceledOnTouchOutside(false) | ||
| 730 | .setCancelable(false) | ||
| 731 | .setWidth(0.5f) | ||
| 732 | .configText(new ConfigText() { | ||
| 733 | @Override | ||
| 734 | public void onConfig(TextParams params) { | ||
| 735 | params.gravity = Gravity.CENTER; | ||
| 736 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 737 | } | ||
| 738 | }) | ||
| 739 | .setText("当前无网络,请检查网络设置") | ||
| 740 | .setNegative("继续使用", null) | ||
| 741 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 742 | @Override | ||
| 743 | public void onClick(View v) { | ||
| 744 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 745 | mContext.startActivity(intent); | ||
| 746 | } | ||
| 747 | }) | ||
| 748 | .show(); | ||
| 749 | } | 502 | } | 
| 750 | }); | 503 | }); | 
| 751 | } | 504 | } | 
| 752 | 505 | ||
| 753 | /** | 506 | /** | 
| 754 | * 获取学校 | 507 | * 获取学校 | 
| 755 | * | 508 | * | 
| 756 | * @param mContext | 509 | * @param mContext | 
| 757 | * @param regionId | 510 | * @param regionId | 
| 758 | * @param gradeId | 511 | * @param gradeId | 
| 759 | * @param handler | 512 | * @param handler | 
| 760 | */ | 513 | */ | 
| 761 | public void getschool(final Context mContext, int regionId, int gradeId, final Handler handler) { | 514 | public void getschool(final Context mContext, int regionId, int gradeId, final Handler handler) { | 
| 762 | HttpClient.getInstance().addHeader("Accept", "application/json"); | 515 | HttpClient.getInstance().addHeader("Accept", "application/json"); | 
| 763 | HttpClient.getInstance().get(HttpUrl.schoolUrl + "?regionId=" + regionId + "&gradeId=" + gradeId, new AsyncHttpResponseHandler() { | 516 | HttpClient.getInstance().get(HttpUrl.schoolUrl + "?regionId=" + regionId + "&gradeId=" + gradeId, new AsyncHttpResponseHandler() { | 
| 764 | @Override | 517 | @Override | 
| 765 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 518 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 766 | Log.e("test", "学校" + new String(arg2)); | 519 | Log.e("test", "学校" + new String(arg2)); | 
| 767 | try { | 520 | try { | 
| 768 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 521 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 769 | int status = jsonObject.optInt("status"); | 522 | int status = jsonObject.optInt("status"); | 
| 770 | if (status == 1) { | 523 | if (status == 1) { | 
| 771 | SchoolInfo schoolInfo = GsonTool.getPerson(new String(arg2), SchoolInfo.class);//解析json数据 | 524 | SchoolInfo schoolInfo = GsonTool.getPerson(new String(arg2), SchoolInfo.class);//解析json数据 | 
| 772 | List<SchoolInfo.DataBean> schoolInfoBeanList = schoolInfo.getData(); | 525 | List<SchoolInfo.DataBean> schoolInfoBeanList = schoolInfo.getData(); | 
| 773 | Message message = Message.obtain(); | 526 | Message message = Message.obtain(); | 
| 774 | message.what = HttpCode.SCHOOL; | 527 | message.what = HttpCode.SCHOOL; | 
| 775 | message.obj = schoolInfoBeanList; | 528 | message.obj = schoolInfoBeanList; | 
| 776 | handler.sendMessage(message); | 529 | handler.sendMessage(message); | 
| 777 | 530 | ||
| 778 | 531 | ||
| 779 | } else { | 532 | } else { | 
| 780 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 533 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 781 | 534 | ||
| 782 | } | 535 | } | 
| 783 | } catch (JSONException e) { | 536 | } catch (JSONException e) { | 
| 784 | e.printStackTrace(); | 537 | e.printStackTrace(); | 
| 785 | } | 538 | } | 
| 786 | 539 | ||
| 787 | } | 540 | } | 
| 788 | 541 | ||
| 789 | @Override | 542 | @Override | 
| 790 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 543 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 791 | new CircleDialog.Builder((FragmentActivity) mContext) | 544 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 792 | .setCanceledOnTouchOutside(false) | ||
| 793 | .setCancelable(false) | ||
| 794 | .setWidth(0.5f) | ||
| 795 | .configText(new ConfigText() { | ||
| 796 | @Override | ||
| 797 | public void onConfig(TextParams params) { | ||
| 798 | params.gravity = Gravity.CENTER; | ||
| 799 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 800 | } | ||
| 801 | }) | ||
| 802 | .setText("当前无网络,请检查网络设置") | ||
| 803 | .setNegative("继续使用", null) | ||
| 804 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 805 | @Override | ||
| 806 | public void onClick(View v) { | ||
| 807 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 808 | mContext.startActivity(intent); | ||
| 809 | } | ||
| 810 | }) | ||
| 811 | .show(); | ||
| 812 | } | 545 | } | 
| 813 | }); | 546 | }); | 
| 814 | } | 547 | } | 
| 815 | 548 | ||
| 816 | 549 | ||
| 817 | /** | 550 | /** | 
| 818 | * 获取个人信息 | 551 | * 获取个人信息 | 
| 819 | * | 552 | * | 
| 820 | * @param mContext | 553 | * @param mContext | 
| 821 | * @param userId | 554 | * @param userId | 
| 822 | * @param handler | 555 | * @param handler | 
| 823 | */ | 556 | */ | 
| 824 | public void getpresonalinfo(final Context mContext, long userId, int type, final Handler handler) { | 557 | public void getpresonalinfo(final Context mContext, long userId, int type, final Handler handler) { | 
| 825 | mProgress = DialogPermission.showProgress(mContext, null, "正在获取个人信息...", | 558 | mProgress = DialogPermission.showProgress(mContext, null, "正在获取个人信息...", | 
| 826 | false, true, null); | 559 | false, true, null); | 
| 827 | HttpClient.getInstance().addHeader("Accept", "application/json"); | 560 | HttpClient.getInstance().addHeader("Accept", "application/json"); | 
| 828 | HttpClient.getInstance().setConnectTimeout(5 * 1000); | 561 | HttpClient.getInstance().setConnectTimeout(5 * 1000); | 
| 829 | HttpClient.getInstance().get(HttpUrl.getpresonalinfo + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() { | 562 | HttpClient.getInstance().get(HttpUrl.getpresonalinfo + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() { | 
| 830 | @Override | 563 | @Override | 
| 831 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 564 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 832 | closeProgress(); | 565 | closeProgress(); | 
| 833 | Log.e("test", "个人信息" + new String(arg2)); | 566 | Log.e("test", "个人信息" + new String(arg2)); | 
| 834 | try { | 567 | try { | 
| 835 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 568 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 836 | int status = jsonObject.optInt("status"); | 569 | int status = jsonObject.optInt("status"); | 
| 837 | if (status == 1) { | 570 | if (status == 1) { | 
| 838 | PesonalInfo pesonalInfo = GsonTool.getPerson(new String(arg2), PesonalInfo.class);//解析json数据 | 571 | PesonalInfo pesonalInfo = GsonTool.getPerson(new String(arg2), PesonalInfo.class);//解析json数据 | 
| 839 | PesonalInfo.DataBean pesonalInfoBeanList = pesonalInfo.getData(); | 572 | PesonalInfo.DataBean pesonalInfoBeanList = pesonalInfo.getData(); | 
| 840 | Message message = Message.obtain(); | 573 | Message message = Message.obtain(); | 
| 841 | message.what = HttpCode.GETINFO; | 574 | message.what = HttpCode.GETINFO; | 
| 842 | message.obj = pesonalInfoBeanList; | 575 | message.obj = pesonalInfoBeanList; | 
| 843 | handler.sendMessage(message); | 576 | handler.sendMessage(message); | 
| 844 | 577 | ||
| 845 | 578 | ||
| 846 | } else { | 579 | } else { | 
| 847 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 580 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 848 | 581 | ||
| 849 | } | 582 | } | 
| 850 | } catch (JSONException e) { | 583 | } catch (JSONException e) { | 
| 851 | e.printStackTrace(); | 584 | e.printStackTrace(); | 
| 852 | } | 585 | } | 
| 853 | 586 | ||
| 854 | 587 | ||
| 855 | } | 588 | } | 
| 856 | 589 | ||
| 857 | @Override | 590 | @Override | 
| 858 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 591 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 859 | closeProgress(); | 592 | closeProgress(); | 
| 860 | new CircleDialog.Builder((FragmentActivity) mContext) | 593 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 861 | .setCanceledOnTouchOutside(false) | ||
| 862 | .setCancelable(false) | ||
| 863 | .setWidth(0.5f) | ||
| 864 | .configText(new ConfigText() { | ||
| 865 | @Override | ||
| 866 | public void onConfig(TextParams params) { | ||
| 867 | params.gravity = Gravity.CENTER; | ||
| 868 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 869 | } | ||
| 870 | }) | ||
| 871 | .setText("当前无网络,请检查网络设置") | ||
| 872 | .setNegative("继续使用", null) | ||
| 873 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 874 | @Override | ||
| 875 | public void onClick(View v) { | ||
| 876 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 877 | mContext.startActivity(intent); | ||
| 878 | } | ||
| 879 | }) | ||
| 880 | .show(); | ||
| 881 | } | 594 | } | 
| 882 | }); | 595 | }); | 
| 883 | } | 596 | } | 
| 884 | 597 | ||
| 885 | //修改个人信息 | 598 | //修改个人信息 | 
| 886 | public void changepresonalinfo(final Context mContext, Long id, int type | 599 | public void changepresonalinfo(final Context mContext, Long id, int type | 
| 887 | , String name, String birthday, int gradeId, long regionId, | 600 | , String name, String birthday, int gradeId, long regionId, | 
| 888 | Object schoolId, String qq, String gender | 601 | Object schoolId, String qq, String gender | 
| 889 | , String regionName, String devicenumber) throws UnsupportedEncodingException { | 602 | , String regionName, String devicenumber) throws UnsupportedEncodingException { | 
| 890 | mProgress = DialogPermission.showProgress(mContext, null, "正在保存个人信息...", | 603 | mProgress = DialogPermission.showProgress(mContext, null, "正在保存个人信息...", | 
| 891 | false, true, null); | 604 | false, true, null); | 
| 892 | RequestParams params = new RequestParams(); | 605 | RequestParams params = new RequestParams(); | 
| 893 | 606 | ||
| 894 | params.put(HttpKey.USEID, id); | 607 | params.put(HttpKey.USEID, id); | 
| 895 | params.put(HttpKey.TYPE, type); | 608 | params.put(HttpKey.TYPE, type); | 
| 896 | params.put(HttpKey.NAME, name); | 609 | params.put(HttpKey.NAME, name); | 
| 897 | params.put(HttpKey.BIRDays, birthday); | 610 | params.put(HttpKey.BIRDays, birthday); | 
| 898 | params.put(HttpKey.GRADE, gradeId); | 611 | params.put(HttpKey.GRADE, gradeId); | 
| 899 | params.put(HttpKey.REGION, regionId); | 612 | params.put(HttpKey.REGION, regionId); | 
| 900 | params.put(HttpKey.SCHOOL, schoolId); | 613 | params.put(HttpKey.SCHOOL, schoolId); | 
| 901 | params.put(HttpKey.QQ, qq); | 614 | params.put(HttpKey.QQ, qq); | 
| 902 | params.put(HttpKey.GENDER, gender); | 615 | params.put(HttpKey.GENDER, gender); | 
| 903 | params.put(HttpKey.REGIONNAME, regionName); | 616 | params.put(HttpKey.REGIONNAME, regionName); | 
| 904 | params.put(HttpKey.DEVINUMBER, devicenumber); | 617 | params.put(HttpKey.DEVINUMBER, devicenumber); | 
| 905 | Log.e("test", "个人信息" + params); | 618 | Log.e("test", "个人信息" + params); | 
| 906 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 619 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 907 | HttpClient.getInstance().post(mContext, HttpUrl.changepresonalinfo, params, new JsonHttpResponseHandler() { | 620 | HttpClient.getInstance().post(mContext, HttpUrl.changepresonalinfo, params, new JsonHttpResponseHandler() { | 
| 908 | @Override | 621 | @Override | 
| 909 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 622 | public void onSuccess(int statusCode, Header[] headers, JSONObject response) { | 
| 910 | super.onSuccess(statusCode, headers, response); | 623 | super.onSuccess(statusCode, headers, response); | 
| 911 | closeProgress(); | 624 | closeProgress(); | 
| 912 | String status = response.optString("status"); | 625 | String status = response.optString("status"); | 
| 913 | if (status.equals("1")) { | 626 | if (status.equals("1")) { | 
| 914 | Toast.makeText(mContext, "个人信息保存成功", Toast.LENGTH_LONG).show(); | 627 | Toast.makeText(mContext, "个人信息保存成功", Toast.LENGTH_LONG).show(); | 
| 915 | ((Activity) mContext).finish(); | 628 | ((Activity) mContext).finish(); | 
| 916 | } else { | 629 | } else { | 
| 917 | AlertUtils.showToast(mContext, "您好,服务器异常,请稍后重试"); | 630 | AlertUtils.showToast(mContext, "您好,服务器异常,请稍后重试"); | 
| 918 | } | 631 | } | 
| 919 | 632 | ||
| 920 | } | 633 | } | 
| 921 | 634 | ||
| 922 | @Override | 635 | @Override | 
| 923 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 636 | public void onFailure(int statusCode, Header[] headers, Throwable throwable, JSONObject errorResponse) { | 
| 924 | super.onFailure(statusCode, headers, throwable, errorResponse); | 637 | super.onFailure(statusCode, headers, throwable, errorResponse); | 
| 925 | closeProgress(); | 638 | closeProgress(); | 
| 926 | Log.e("test", "onFailure" + errorResponse); | 639 | Log.e("test", "onFailure" + errorResponse); | 
| 927 | new CircleDialog.Builder((FragmentActivity) mContext) | 640 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 928 | .setCanceledOnTouchOutside(false) | ||
| 929 | .setCancelable(false) | ||
| 930 | .setWidth(0.5f) | ||
| 931 | .configText(new ConfigText() { | ||
| 932 | @Override | ||
| 933 | public void onConfig(TextParams params) { | ||
| 934 | params.gravity = Gravity.CENTER; | ||
| 935 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 936 | } | ||
| 937 | }) | ||
| 938 | .setText("当前无网络,请检查网络设置") | ||
| 939 | .setNegative("继续使用", null) | ||
| 940 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 941 | @Override | ||
| 942 | public void onClick(View v) { | ||
| 943 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 944 | mContext.startActivity(intent); | ||
| 945 | } | ||
| 946 | }) | ||
| 947 | .show(); | ||
| 948 | } | 641 | } | 
| 949 | 642 | ||
| 950 | }); | 643 | }); | 
| 951 | } | 644 | } | 
| 952 | 645 | ||
| 953 | //修改个性签名 | 646 | //修改个性签名 | 
| 954 | public void changsignature(final Context mContext, long userId, int type, final String signature) { | 647 | public void changsignature(final Context mContext, long userId, int type, final String signature) { | 
| 955 | RequestParams params = new RequestParams(); | 648 | RequestParams params = new RequestParams(); | 
| 956 | params.put("userId", userId); | 649 | params.put("userId", userId); | 
| 957 | params.put("type", type); | 650 | params.put("type", type); | 
| 958 | params.put("signature", signature); | 651 | params.put("signature", signature); | 
| 959 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 652 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 960 | HttpClient.getInstance().post(HttpUrl.signature, params, new AsyncHttpResponseHandler() { | 653 | HttpClient.getInstance().post(HttpUrl.signature, params, new AsyncHttpResponseHandler() { | 
| 961 | @Override | 654 | @Override | 
| 962 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 655 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 963 | try { | 656 | try { | 
| 964 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 657 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 965 | String status = jsonObject.optString("status"); | 658 | String status = jsonObject.optString("status"); | 
| 966 | if (status.equals("1")) { | 659 | if (status.equals("1")) { | 
| 967 | Toast.makeText(mContext, "个性签名修改成功", Toast.LENGTH_LONG).show(); | 660 | Toast.makeText(mContext, "个性签名修改成功", Toast.LENGTH_LONG).show(); | 
| 968 | } else { | 661 | } else { | 
| 969 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 662 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 
| 970 | } | 663 | } | 
| 971 | } catch (JSONException e) { | 664 | } catch (JSONException e) { | 
| 972 | e.printStackTrace(); | 665 | e.printStackTrace(); | 
| 973 | } | 666 | } | 
| 974 | } | 667 | } | 
| 975 | 668 | ||
| 976 | @Override | 669 | @Override | 
| 977 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 670 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 978 | Log.e("test", "onFailure" + new String(bytes)); | 671 | Log.e("test", "onFailure" + new String(bytes)); | 
| 979 | new CircleDialog.Builder((FragmentActivity) mContext) | 672 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 980 | .setCanceledOnTouchOutside(false) | ||
| 981 | .setCancelable(false) | ||
| 982 | .setWidth(0.5f) | ||
| 983 | .configText(new ConfigText() { | ||
| 984 | @Override | ||
| 985 | public void onConfig(TextParams params) { | ||
| 986 | params.gravity = Gravity.CENTER; | ||
| 987 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 988 | } | ||
| 989 | }) | ||
| 990 | .setText("当前无网络,请检查网络设置") | ||
| 991 | .setNegative("继续使用", null) | ||
| 992 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 993 | @Override | ||
| 994 | public void onClick(View v) { | ||
| 995 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 996 | mContext.startActivity(intent); | ||
| 997 | } | ||
| 998 | }) | ||
| 999 | .show(); | ||
| 1000 | } | 673 | } | 
| 1001 | }); | 674 | }); | 
| 1002 | } | 675 | } | 
| 1003 | 676 | ||
| 1004 | /** | 677 | /** | 
| 1005 | * 获取个性签名 | 678 | * 获取个性签名 | 
| 1006 | * | 679 | * | 
| 1007 | * @param mContext | 680 | * @param mContext | 
| 1008 | * @param userId | 681 | * @param userId | 
| 1009 | * @param handler | 682 | * @param handler | 
| 1010 | */ | 683 | */ | 
| 1011 | public void getsignatures(final Context mContext, long userId, int type, final Handler handler) { | 684 | public void getsignatures(final Context mContext, long userId, int type, final Handler handler) { | 
| 1012 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 685 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1013 | HttpClient.getInstance().get(HttpUrl.getsignature + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() { | 686 | HttpClient.getInstance().get(HttpUrl.getsignature + "?userId=" + userId + "&type=" + type, new AsyncHttpResponseHandler() { | 
| 1014 | @Override | 687 | @Override | 
| 1015 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 688 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1016 | Log.e("test", "个性签名" + new String(arg2)); | 689 | Log.e("test", "个性签名" + new String(arg2)); | 
| 1017 | try { | 690 | try { | 
| 1018 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 691 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1019 | int status = jsonObject.optInt("status"); | 692 | int status = jsonObject.optInt("status"); | 
| 1020 | if (status == 1) { | 693 | if (status == 1) { | 
| 1021 | SignInfo signInfo = GsonTool.getPerson(new String(arg2), SignInfo.class);//解析json数据 | 694 | SignInfo signInfo = GsonTool.getPerson(new String(arg2), SignInfo.class);//解析json数据 | 
| 1022 | SignInfo.DataBean signInfoBeanList = signInfo.getData(); | 695 | SignInfo.DataBean signInfoBeanList = signInfo.getData(); | 
| 1023 | Message message = Message.obtain(); | 696 | Message message = Message.obtain(); | 
| 1024 | message.what = HttpCode.SIGN; | 697 | message.what = HttpCode.SIGN; | 
| 1025 | message.obj = signInfoBeanList; | 698 | message.obj = signInfoBeanList; | 
| 1026 | handler.sendMessage(message); | 699 | handler.sendMessage(message); | 
| 1027 | 700 | ||
| 1028 | 701 | ||
| 1029 | } else if (status == 1000) { | 702 | } else if (status == 1000) { | 
| 1030 | AlertUtils.showToast(mContext, "您还没有签名哦"); | 703 | AlertUtils.showToast(mContext, "您还没有签名哦"); | 
| 1031 | 704 | ||
| 1032 | } else { | 705 | } else { | 
| 1033 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 706 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 1034 | } | 707 | } | 
| 1035 | } catch (JSONException e) { | 708 | } catch (JSONException e) { | 
| 1036 | e.printStackTrace(); | 709 | e.printStackTrace(); | 
| 1037 | } | 710 | } | 
| 1038 | 711 | ||
| 1039 | 712 | ||
| 1040 | } | 713 | } | 
| 1041 | 714 | ||
| 1042 | @Override | 715 | @Override | 
| 1043 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 716 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1044 | Log.e("test", "失败原因" + arg3); | 717 | Log.e("test", "失败原因" + arg3); | 
| 1045 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 718 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1046 | } | 719 | } | 
| 1047 | }); | 720 | }); | 
| 1048 | } | 721 | } | 
| 1049 | 722 | ||
| 1050 | /** | 723 | /** | 
| 1051 | * 用户反馈 | 724 | * 用户反馈 | 
| 1052 | * | 725 | * | 
| 1053 | * @param mContext | 726 | * @param mContext | 
| 1054 | * @param userId | 727 | * @param userId | 
| 1055 | * @param content | 728 | * @param content | 
| 1056 | * @param contact | 729 | * @param contact | 
| 1057 | * @param imgs | 730 | * @param imgs | 
| 1058 | * @param feedtype | 731 | * @param feedtype | 
| 1059 | * @throws UnsupportedEncodingException | 732 | * @throws UnsupportedEncodingException | 
| 1060 | */ | 733 | */ | 
| 1061 | public void feedback(final Context mContext, String userId, String content, | 734 | public void feedback(final Context mContext, String userId, String content, | 
| 1062 | String contact, String imgs, String feedtype) throws UnsupportedEncodingException { | 735 | String contact, String imgs, String feedtype) throws UnsupportedEncodingException { | 
| 1063 | mProgress = DialogPermission.showProgress(mContext, null, "正在提交反馈内容...", | 736 | mProgress = DialogPermission.showProgress(mContext, null, "正在提交反馈内容...", | 
| 1064 | false, true, null); | 737 | false, true, null); | 
| 1065 | File file = new File(imgs); | 738 | File file = new File(imgs); | 
| 1066 | if (file.exists() && file.length() > 0) { | 739 | if (file.exists() && file.length() > 0) { | 
| 1067 | RequestParams params = new RequestParams(); | 740 | RequestParams params = new RequestParams(); | 
| 1068 | try { | 741 | try { | 
| 1069 | params.put("userId", userId); | 742 | params.put("userId", userId); | 
| 1070 | params.put("content", content); | 743 | params.put("content", content); | 
| 1071 | params.put("contact", contact); | 744 | params.put("contact", contact); | 
| 1072 | params.put("imgs", file); | 745 | params.put("imgs", file); | 
| 1073 | params.put("feedtype", feedtype); | 746 | params.put("feedtype", feedtype); | 
| 1074 | } catch (FileNotFoundException e) { | 747 | } catch (FileNotFoundException e) { | 
| 1075 | e.printStackTrace(); | 748 | e.printStackTrace(); | 
| 1076 | } | 749 | } | 
| 1077 | Log.e("test", "onSuccess" + params); | 750 | Log.e("test", "onSuccess" + params); | 
| 1078 | HttpClient.getInstance().post(HttpUrl.feedbackURL, params, new AsyncHttpResponseHandler() { | 751 | HttpClient.getInstance().post(HttpUrl.feedbackURL, params, new AsyncHttpResponseHandler() { | 
| 1079 | @Override | 752 | @Override | 
| 1080 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 753 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 1081 | closeProgress(); | 754 | closeProgress(); | 
| 1082 | Log.e("test", "onSuccess" + new String(bytes)); | 755 | Log.e("test", "onSuccess" + new String(bytes)); | 
| 1083 | try { | 756 | try { | 
| 1084 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 757 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 1085 | String status = jsonObject.optString("status"); | 758 | String status = jsonObject.optString("status"); | 
| 1086 | if (status.equals("1")) { | 759 | if (status.equals("1")) { | 
| 1087 | Toast.makeText(mContext, "您的宝贵意见已经提交成功。", Toast.LENGTH_LONG).show(); | 760 | Toast.makeText(mContext, "您的宝贵意见已经提交成功。", Toast.LENGTH_LONG).show(); | 
| 1088 | ((Activity) mContext).finish(); | 761 | ((Activity) mContext).finish(); | 
| 1089 | } else { | 762 | } else { | 
| 1090 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 763 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 
| 1091 | } | 764 | } | 
| 1092 | } catch (JSONException e) { | 765 | } catch (JSONException e) { | 
| 1093 | e.printStackTrace(); | 766 | e.printStackTrace(); | 
| 1094 | } | 767 | } | 
| 1095 | } | 768 | } | 
| 1096 | 769 | ||
| 1097 | @Override | 770 | @Override | 
| 1098 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 771 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 1099 | closeProgress(); | 772 | closeProgress(); | 
| 1100 | Log.e("test", "错误信息" + new String(bytes)); | 773 | Log.e("test", "错误信息" + new String(bytes)); | 
| 1101 | new CircleDialog.Builder((FragmentActivity) mContext) | 774 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1102 | .setCanceledOnTouchOutside(false) | ||
| 1103 | .setCancelable(false) | ||
| 1104 | .setWidth(0.5f) | ||
| 1105 | .configText(new ConfigText() { | ||
| 1106 | @Override | ||
| 1107 | public void onConfig(TextParams params) { | ||
| 1108 | params.gravity = Gravity.CENTER; | ||
| 1109 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1110 | } | ||
| 1111 | }) | ||
| 1112 | .setText("当前无网络,请检查网络设置") | ||
| 1113 | .setNegative("继续使用", null) | ||
| 1114 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1115 | @Override | ||
| 1116 | public void onClick(View v) { | ||
| 1117 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1118 | mContext.startActivity(intent); | ||
| 1119 | } | ||
| 1120 | }) | ||
| 1121 | .show(); | ||
| 1122 | 775 | ||
| 1123 | } | 776 | } | 
| 1124 | }); | 777 | }); | 
| 1125 | } else { | 778 | } else { | 
| 1126 | Toast.makeText(mContext, "文件不存在", Toast.LENGTH_LONG).show(); | 779 | Toast.makeText(mContext, "文件不存在", Toast.LENGTH_LONG).show(); | 
| 1127 | } | 780 | } | 
| 1128 | } | 781 | } | 
| 1129 | 782 | ||
| 1130 | /** | 783 | /** | 
| 1131 | * 查询子账户信息 | 784 | * 查询子账户信息 | 
| 1132 | * | 785 | * | 
| 1133 | * @param mContext | 786 | * @param mContext | 
| 1134 | * @param userId | 787 | * @param userId | 
| 1135 | * @param handler | 788 | * @param handler | 
| 1136 | */ | 789 | */ | 
| 1137 | public void getchildAccountinfo(final Context mContext, long userId, String deviceNumber, final Handler handler) { | 790 | public void getchildAccountinfo(final Context mContext, long userId, String deviceNumber, final Handler handler) { | 
| 1138 | mProgress = DialogPermission.showProgress(mContext, null, "正在获取信息...", | 791 | mProgress = DialogPermission.showProgress(mContext, null, "正在获取信息...", | 
| 1139 | false, true, null); | 792 | false, true, null); | 
| 1140 | 793 | ||
| 1141 | Log.e("test", "ID" + userId + "deviceNumber" + deviceNumber); | 794 | Log.e("test", "ID" + userId + "deviceNumber" + deviceNumber); | 
| 1142 | HttpClient.getInstance().setTimeout(5 * 1000); | 795 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1143 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 796 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1144 | HttpClient.getInstance().get(HttpUrl.childUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() { | 797 | HttpClient.getInstance().get(HttpUrl.childUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber, new AsyncHttpResponseHandler() { | 
| 1145 | @Override | 798 | @Override | 
| 1146 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 799 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1147 | closeProgress(); | 800 | closeProgress(); | 
| 1148 | Log.e("test", "子账户信息" + new String(arg2)); | 801 | Log.e("test", "子账户信息" + new String(arg2)); | 
| 1149 | try { | 802 | try { | 
| 1150 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 803 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1151 | int status = jsonObject.optInt("status"); | 804 | int status = jsonObject.optInt("status"); | 
| 1152 | if (status == 1) { | 805 | if (status == 1) { | 
| 1153 | ChildsInfo childsInfo = GsonTool.getPerson(new String(arg2), ChildsInfo.class);//解析json数据 | 806 | ChildsInfo childsInfo = GsonTool.getPerson(new String(arg2), ChildsInfo.class);//解析json数据 | 
| 1154 | Log.e("test", "子账户信息" + childsInfo); | 807 | Log.e("test", "子账户信息" + childsInfo); | 
| 1155 | List<ChildsInfo.DataBean> schoolInfoBeanList = childsInfo.getData(); | 808 | List<ChildsInfo.DataBean> schoolInfoBeanList = childsInfo.getData(); | 
| 1156 | Log.e("test", "子账户信息" + schoolInfoBeanList); | 809 | Log.e("test", "子账户信息" + schoolInfoBeanList); | 
| 1157 | Message msg = Message.obtain(); | 810 | Message msg = Message.obtain(); | 
| 1158 | msg.what = HttpCode.CHILDS_SUCESS; | 811 | msg.what = HttpCode.CHILDS_SUCESS; | 
| 1159 | msg.obj = schoolInfoBeanList; | 812 | msg.obj = schoolInfoBeanList; | 
| 1160 | handler.sendMessage(msg); | 813 | handler.sendMessage(msg); | 
| 1161 | 814 | ||
| 1162 | }else { | 815 | }else { | 
| 1163 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后再试!"); | 816 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后再试!"); | 
| 1164 | 817 | ||
| 1165 | } | 818 | } | 
| 1166 | } catch (JSONException e) { | 819 | } catch (JSONException e) { | 
| 1167 | e.printStackTrace(); | 820 | e.printStackTrace(); | 
| 1168 | 821 | ||
| 1169 | } | 822 | } | 
| 1170 | 823 | ||
| 1171 | } | 824 | } | 
| 1172 | 825 | ||
| 1173 | @Override | 826 | @Override | 
| 1174 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 827 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1175 | closeProgress(); | 828 | closeProgress(); | 
| 1176 | // Log.e("test", "错误信息" + new String(arg2)); | 829 | // Log.e("test", "错误信息" + new String(arg2)); | 
| 1177 | new CircleDialog.Builder((FragmentActivity) mContext) | 830 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1178 | .setCanceledOnTouchOutside(false) | ||
| 1179 | .setCancelable(false) | ||
| 1180 | .setWidth(0.5f) | ||
| 1181 | .configText(new ConfigText() { | ||
| 1182 | @Override | ||
| 1183 | public void onConfig(TextParams params) { | ||
| 1184 | params.gravity = Gravity.CENTER; | ||
| 1185 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1186 | } | ||
| 1187 | }) | ||
| 1188 | .setText("当前无网络,请检查网络设置") | ||
| 1189 | .setNegative("继续使用", null) | ||
| 1190 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1191 | @Override | ||
| 1192 | public void onClick(View v) { | ||
| 1193 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1194 | mContext.startActivity(intent); | ||
| 1195 | } | ||
| 1196 | }) | ||
| 1197 | .show(); | ||
| 1198 | } | 831 | } | 
| 1199 | }); | 832 | }); | 
| 1200 | 833 | ||
| 1201 | } | 834 | } | 
| 1202 | 835 | ||
| 1203 | /** | 836 | /** | 
| 1204 | * 删除子账户信息 | 837 | * 删除子账户信息 | 
| 1205 | * | 838 | * | 
| 1206 | * @param mContext | 839 | * @param mContext | 
| 1207 | * @param subAccountId | 840 | * @param subAccountId | 
| 1208 | */ | 841 | */ | 
| 1209 | public void deletechildAccountinfo(final Context mContext, String subAccountId) { | 842 | public void deletechildAccountinfo(final Context mContext, String subAccountId) { | 
| 1210 | mProgress = DialogPermission.showProgress(mContext, null, "正在删除子账户...", | 843 | mProgress = DialogPermission.showProgress(mContext, null, "正在删除子账户...", | 
| 1211 | false, true, null); | 844 | false, true, null); | 
| 1212 | HttpClient.getInstance().setTimeout(5 * 1000); | 845 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1213 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 846 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1214 | HttpClient.getInstance().get(HttpUrl.deletechildUserURL + "?subAccountId=" + subAccountId, new AsyncHttpResponseHandler() { | 847 | HttpClient.getInstance().get(HttpUrl.deletechildUserURL + "?subAccountId=" + subAccountId, new AsyncHttpResponseHandler() { | 
| 1215 | @Override | 848 | @Override | 
| 1216 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 849 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1217 | closeProgress(); | 850 | closeProgress(); | 
| 1218 | Log.e("test", "子账户信息" + new String(arg2)); | 851 | Log.e("test", "子账户信息" + new String(arg2)); | 
| 1219 | try { | 852 | try { | 
| 1220 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 853 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1221 | int status = jsonObject.optInt("status"); | 854 | int status = jsonObject.optInt("status"); | 
| 1222 | if (status == 1) { | 855 | if (status == 1) { | 
| 1223 | AlertUtils.showToast(mContext, "子账号删除成功!"); | 856 | AlertUtils.showToast(mContext, "子账号删除成功!"); | 
| 1224 | ((Activity) mContext).finish(); | 857 | ((Activity) mContext).finish(); | 
| 1225 | } else { | 858 | } else { | 
| 1226 | AlertUtils.showToast(mContext, "你好,子账号删除失败!"); | 859 | AlertUtils.showToast(mContext, "你好,子账号删除失败!"); | 
| 1227 | 860 | ||
| 1228 | } | 861 | } | 
| 1229 | } catch (JSONException e) { | 862 | } catch (JSONException e) { | 
| 1230 | e.printStackTrace(); | 863 | e.printStackTrace(); | 
| 1231 | } | 864 | } | 
| 1232 | 865 | ||
| 1233 | } | 866 | } | 
| 1234 | 867 | ||
| 1235 | @Override | 868 | @Override | 
| 1236 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 869 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1237 | closeProgress(); | 870 | closeProgress(); | 
| 1238 | Log.e("test", "错误信息" + new String(arg2)); | 871 | Log.e("test", "错误信息" + new String(arg2)); | 
| 1239 | new CircleDialog.Builder((FragmentActivity) mContext) | 872 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1240 | .setCanceledOnTouchOutside(false) | ||
| 1241 | .setCancelable(false) | ||
| 1242 | .setWidth(0.5f) | ||
| 1243 | .configText(new ConfigText() { | ||
| 1244 | @Override | ||
| 1245 | public void onConfig(TextParams params) { | ||
| 1246 | params.gravity = Gravity.CENTER; | ||
| 1247 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1248 | } | ||
| 1249 | }) | ||
| 1250 | .setText("当前无网络,请检查网络设置") | ||
| 1251 | .setNegative("继续使用", null) | ||
| 1252 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1253 | @Override | ||
| 1254 | public void onClick(View v) { | ||
| 1255 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1256 | mContext.startActivity(intent); | ||
| 1257 | } | ||
| 1258 | }) | ||
| 1259 | .show(); | ||
| 1260 | } | 873 | } | 
| 1261 | }); | 874 | }); | 
| 1262 | 875 | ||
| 1263 | } | 876 | } | 
| 1264 | 877 | ||
| 1265 | /** | 878 | /** | 
| 1266 | * 添加子账户信息 | 879 | * 添加子账户信息 | 
| 1267 | */ | 880 | */ | 
| 1268 | public void addchildAccountinfo(final Context mContext, long parentId, String image, | 881 | public void addchildAccountinfo(final Context mContext, long parentId, String image, | 
| 1269 | String name, Long grade, Object school, Long region | 882 | String name, Long grade, Object school, Long region | 
| 1270 | , String deviceNumber, String regionName) { | 883 | , String deviceNumber, String regionName) { | 
| 1271 | mProgress = DialogPermission.showProgress(mContext, null, "正在添加子账户...", | 884 | mProgress = DialogPermission.showProgress(mContext, null, "正在添加子账户...", | 
| 1272 | false, true, null); | 885 | false, true, null); | 
| 1273 | RequestParams params = new RequestParams(); | 886 | RequestParams params = new RequestParams(); | 
| 1274 | 887 | ||
| 1275 | params.put(HttpKey.PARENTID, parentId); | 888 | params.put(HttpKey.PARENTID, parentId); | 
| 1276 | params.put(HttpKey.IMAGE, image); | 889 | params.put(HttpKey.IMAGE, image); | 
| 1277 | params.put(HttpKey.NAME, name); | 890 | params.put(HttpKey.NAME, name); | 
| 1278 | params.put(HttpKey.GRADE, grade); | 891 | params.put(HttpKey.GRADE, grade); | 
| 1279 | params.put(HttpKey.SCHOOL, school); | 892 | params.put(HttpKey.SCHOOL, school); | 
| 1280 | params.put(HttpKey.REGION, region); | 893 | params.put(HttpKey.REGION, region); | 
| 1281 | params.put(HttpKey.DEVINUMBER, deviceNumber); | 894 | params.put(HttpKey.DEVINUMBER, deviceNumber); | 
| 1282 | params.put(HttpKey.REGIONNAME, regionName); | 895 | params.put(HttpKey.REGIONNAME, regionName); | 
| 1283 | 896 | ||
| 1284 | Log.e("test", "子账户信息" + params); | 897 | Log.e("test", "子账户信息" + params); | 
| 1285 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 898 | HttpClient.getInstance().addHeader("Accept", "*/*"); | 
| 1286 | HttpClient.getInstance().setTimeout(5 * 1000); | 899 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1287 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 900 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1288 | HttpClient.getInstance().post(HttpUrl.addchildUserURL, params, new AsyncHttpResponseHandler() { | 901 | HttpClient.getInstance().post(HttpUrl.addchildUserURL, params, new AsyncHttpResponseHandler() { | 
| 1289 | @Override | 902 | @Override | 
| 1290 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 903 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1291 | closeProgress(); | 904 | closeProgress(); | 
| 1292 | 905 | ||
| 1293 | Log.e("test", "子账户信息" + new String(arg2)); | 906 | Log.e("test", "子账户信息" + new String(arg2)); | 
| 1294 | try { | 907 | try { | 
| 1295 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 908 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1296 | int status = jsonObject.optInt("status"); | 909 | int status = jsonObject.optInt("status"); | 
| 1297 | if (status == 1) { | 910 | if (status == 1) { | 
| 1298 | AlertUtils.showToast(mContext, "子账号添加成功!"); | 911 | AlertUtils.showToast(mContext, "子账号添加成功!"); | 
| 1299 | ((Activity) mContext).finish(); | 912 | ((Activity) mContext).finish(); | 
| 1300 | } else { | 913 | } else { | 
| 1301 | AlertUtils.showToast(mContext, "你好,子账号添加失败!"); | 914 | AlertUtils.showToast(mContext, "你好,子账号添加失败!"); | 
| 1302 | 915 | ||
| 1303 | } | 916 | } | 
| 1304 | } catch (JSONException e) { | 917 | } catch (JSONException e) { | 
| 1305 | e.printStackTrace(); | 918 | e.printStackTrace(); | 
| 1306 | } | 919 | } | 
| 1307 | 920 | ||
| 1308 | } | 921 | } | 
| 1309 | 922 | ||
| 1310 | @Override | 923 | @Override | 
| 1311 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 924 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1312 | closeProgress(); | 925 | closeProgress(); | 
| 1313 | Log.e("test", "错误信息" + new String(arg2)); | 926 | Log.e("test", "错误信息" + new String(arg2)); | 
| 1314 | new CircleDialog.Builder((FragmentActivity) mContext) | 927 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1315 | .setCanceledOnTouchOutside(false) | ||
| 1316 | .setCancelable(false) | ||
| 1317 | .setWidth(0.5f) | ||
| 1318 | .configText(new ConfigText() { | ||
| 1319 | @Override | ||
| 1320 | public void onConfig(TextParams params) { | ||
| 1321 | params.gravity = Gravity.CENTER; | ||
| 1322 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1323 | } | ||
| 1324 | }) | ||
| 1325 | .setText("当前无网络,请检查网络设置") | ||
| 1326 | .setNegative("继续使用", null) | ||
| 1327 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1328 | @Override | ||
| 1329 | public void onClick(View v) { | ||
| 1330 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1331 | mContext.startActivity(intent); | ||
| 1332 | } | ||
| 1333 | }) | ||
| 1334 | .show(); | ||
| 1335 | } | 928 | } | 
| 1336 | }); | 929 | }); | 
| 1337 | 930 | ||
| 1338 | } | 931 | } | 
| 1339 | 932 | ||
| 1340 | /** | 933 | /** | 
| 1341 | * 切换子账户信息 | 934 | * 切换子账户信息 | 
| 1342 | * | 935 | * | 
| 1343 | * @param mContext | 936 | * @param mContext | 
| 1344 | * @param subAccountId | 937 | * @param subAccountId | 
| 1345 | */ | 938 | */ | 
| 1346 | public void changechildAccountinfo(final Context mContext, String subAccountId, long userId | 939 | public void changechildAccountinfo(final Context mContext, String subAccountId, long userId | 
| 1347 | , String deviceNumber, int type) { | 940 | , String deviceNumber, int type) { | 
| 1348 | mProgress = DialogPermission.showProgress(mContext, null, "正在切换子账户...", | 941 | mProgress = DialogPermission.showProgress(mContext, null, "正在切换子账户...", | 
| 1349 | false, true, null); | 942 | false, true, null); | 
| 1350 | HttpClient.getInstance().setTimeout(5 * 1000); | 943 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1351 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 944 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1352 | HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?subAccountId=" + subAccountId + "&userId=" + userId | 945 | HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?subAccountId=" + subAccountId + "&userId=" + userId | 
| 1353 | + "&deviceNumber=" + deviceNumber + "&type=" + type, new AsyncHttpResponseHandler() { | 946 | + "&deviceNumber=" + deviceNumber + "&type=" + type, new AsyncHttpResponseHandler() { | 
| 1354 | @Override | 947 | @Override | 
| 1355 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 948 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1356 | closeProgress(); | 949 | closeProgress(); | 
| 1357 | Log.e("test", "子账户信息" + new String(arg2)); | 950 | Log.e("test", "子账户信息" + new String(arg2)); | 
| 1358 | try { | 951 | try { | 
| 1359 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 952 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1360 | int status = jsonObject.optInt("status"); | 953 | int status = jsonObject.optInt("status"); | 
| 1361 | if (status == 1) { | 954 | if (status == 1) { | 
| 1362 | AlertUtils.showToast(mContext, "子账号切换成功!"); | 955 | AlertUtils.showToast(mContext, "子账号切换成功!"); | 
| 1363 | ((Activity) mContext).finish(); | 956 | ((Activity) mContext).finish(); | 
| 1364 | 957 | ||
| 1365 | } else { | 958 | } else { | 
| 1366 | AlertUtils.showToast(mContext, "你好,子账号切换失败!"); | 959 | AlertUtils.showToast(mContext, "你好,子账号切换失败!"); | 
| 1367 | 960 | ||
| 1368 | } | 961 | } | 
| 1369 | } catch (JSONException e) { | 962 | } catch (JSONException e) { | 
| 1370 | e.printStackTrace(); | 963 | e.printStackTrace(); | 
| 1371 | } | 964 | } | 
| 1372 | 965 | ||
| 1373 | } | 966 | } | 
| 1374 | 967 | ||
| 1375 | @Override | 968 | @Override | 
| 1376 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 969 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1377 | closeProgress(); | 970 | closeProgress(); | 
| 1378 | Log.e("test", "错误信息" + new String(arg2)); | 971 | Log.e("test", "错误信息" + new String(arg2)); | 
| 1379 | new CircleDialog.Builder((FragmentActivity) mContext) | 972 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1380 | .setCanceledOnTouchOutside(false) | ||
| 1381 | .setCancelable(false) | ||
| 1382 | .setWidth(0.5f) | ||
| 1383 | .configText(new ConfigText() { | ||
| 1384 | @Override | ||
| 1385 | public void onConfig(TextParams params) { | ||
| 1386 | params.gravity = Gravity.CENTER; | ||
| 1387 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1388 | } | ||
| 1389 | }) | ||
| 1390 | .setText("当前无网络,请检查网络设置") | ||
| 1391 | .setNegative("继续使用", null) | ||
| 1392 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1393 | @Override | ||
| 1394 | public void onClick(View v) { | ||
| 1395 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1396 | mContext.startActivity(intent); | ||
| 1397 | } | ||
| 1398 | }) | ||
| 1399 | .show(); | ||
| 1400 | } | 973 | } | 
| 1401 | }); | 974 | }); | 
| 1402 | 975 | ||
| 1403 | } | 976 | } | 
| 1404 | 977 | ||
| 1405 | /** | 978 | /** | 
| 1406 | * 切换主账户信息 | 979 | * 切换主账户信息 | 
| 1407 | * | 980 | * | 
| 1408 | * @param mContext | 981 | * @param mContext | 
| 1409 | * @param type | 982 | * @param type | 
| 1410 | */ | 983 | */ | 
| 1411 | public void Accountinfo(final Context mContext, long userId | 984 | public void Accountinfo(final Context mContext, long userId | 
| 1412 | , String deviceNumber, int type) { | 985 | , String deviceNumber, int type) { | 
| 1413 | mProgress = DialogPermission.showProgress(mContext, null, "正在切换主账户...", | 986 | mProgress = DialogPermission.showProgress(mContext, null, "正在切换主账户...", | 
| 1414 | false, true, null); | 987 | false, true, null); | 
| 1415 | HttpClient.getInstance().setTimeout(5 * 1000); | 988 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1416 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 989 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1417 | HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber | 990 | HttpClient.getInstance().get(HttpUrl.changechildUserURL + "?userId=" + userId + "&deviceNumber=" + deviceNumber | 
| 1418 | + "&type=" + type, new AsyncHttpResponseHandler() { | 991 | + "&type=" + type, new AsyncHttpResponseHandler() { | 
| 1419 | @Override | 992 | @Override | 
| 1420 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 993 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1421 | closeProgress(); | 994 | closeProgress(); | 
| 1422 | Log.e("test", "子账户信息" + new String(arg2)); | 995 | Log.e("test", "子账户信息" + new String(arg2)); | 
| 1423 | try { | 996 | try { | 
| 1424 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 997 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1425 | int status = jsonObject.optInt("status"); | 998 | int status = jsonObject.optInt("status"); | 
| 1426 | if (status == 1) { | 999 | if (status == 1) { | 
| 1427 | AlertUtils.showToast(mContext, "主账号切换成功!"); | 1000 | AlertUtils.showToast(mContext, "主账号切换成功!"); | 
| 1428 | ((Activity) mContext).finish(); | 1001 | ((Activity) mContext).finish(); | 
| 1429 | 1002 | ||
| 1430 | } else { | 1003 | } else { | 
| 1431 | AlertUtils.showToast(mContext, "你好,主账号切换失败!"); | 1004 | AlertUtils.showToast(mContext, "你好,主账号切换失败!"); | 
| 1432 | 1005 | ||
| 1433 | } | 1006 | } | 
| 1434 | } catch (JSONException e) { | 1007 | } catch (JSONException e) { | 
| 1435 | e.printStackTrace(); | 1008 | e.printStackTrace(); | 
| 1436 | } | 1009 | } | 
| 1437 | 1010 | ||
| 1438 | } | 1011 | } | 
| 1439 | 1012 | ||
| 1440 | @Override | 1013 | @Override | 
| 1441 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 1014 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1442 | closeProgress(); | 1015 | closeProgress(); | 
| 1443 | Log.e("test", "错误信息" + new String(arg2)); | 1016 | Log.e("test", "错误信息" + new String(arg2)); | 
| 1444 | new CircleDialog.Builder((FragmentActivity) mContext) | 1017 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1445 | .setCanceledOnTouchOutside(false) | ||
| 1446 | .setCancelable(false) | ||
| 1447 | .setWidth(0.5f) | ||
| 1448 | .configText(new ConfigText() { | ||
| 1449 | @Override | ||
| 1450 | public void onConfig(TextParams params) { | ||
| 1451 | params.gravity = Gravity.CENTER; | ||
| 1452 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1453 | } | ||
| 1454 | }) | ||
| 1455 | .setText("当前无网络,请检查网络设置") | ||
| 1456 | .setNegative("继续使用", null) | ||
| 1457 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1458 | @Override | ||
| 1459 | public void onClick(View v) { | ||
| 1460 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1461 | mContext.startActivity(intent); | ||
| 1462 | } | ||
| 1463 | }) | ||
| 1464 | .show(); | ||
| 1465 | } | 1018 | } | 
| 1466 | }); | 1019 | }); | 
| 1467 | 1020 | ||
| 1468 | } | 1021 | } | 
| 1469 | 1022 | ||
| 1470 | /** | 1023 | /** | 
| 1471 | * 头像拍张 | 1024 | * 头像拍张 | 
| 1472 | * | 1025 | * | 
| 1473 | * @param mContext | 1026 | * @param mContext | 
| 1474 | * @param userId | 1027 | * @param userId | 
| 1475 | * @param img | 1028 | * @param img | 
| 1476 | * @throws UnsupportedEncodingException | 1029 | * @throws UnsupportedEncodingException | 
| 1477 | */ | 1030 | */ | 
| 1478 | public void header(final Context mContext, String userId, String type, String img) throws UnsupportedEncodingException { | 1031 | public void header(final Context mContext, String userId, String type, String img) throws UnsupportedEncodingException { | 
| 1479 | File file = new File(img); | 1032 | File file = new File(img); | 
| 1480 | if (file.exists() && file.length() > 0) { | 1033 | if (file.exists() && file.length() > 0) { | 
| 1481 | RequestParams params = new RequestParams(); | 1034 | RequestParams params = new RequestParams(); | 
| 1482 | try { | 1035 | try { | 
| 1483 | params.put("userId", userId); | 1036 | params.put("userId", userId); | 
| 1484 | params.put("type", type); | 1037 | params.put("type", type); | 
| 1485 | params.put("img", file); | 1038 | params.put("img", file); | 
| 1486 | } catch (FileNotFoundException e) { | 1039 | } catch (FileNotFoundException e) { | 
| 1487 | e.printStackTrace(); | 1040 | e.printStackTrace(); | 
| 1488 | } | 1041 | } | 
| 1489 | Log.e("test", "params" + params); | 1042 | Log.e("test", "params" + params); | 
| 1490 | HttpClient.getInstance().setTimeout(5 * 1000); | 1043 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1491 | HttpClient.getInstance().post(HttpUrl.headerURL, params, new AsyncHttpResponseHandler() { | 1044 | HttpClient.getInstance().post(HttpUrl.headerURL, params, new AsyncHttpResponseHandler() { | 
| 1492 | @Override | 1045 | @Override | 
| 1493 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 1046 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 1494 | Log.e("test", "onSuccess" + new String(bytes)); | 1047 | Log.e("test", "onSuccess" + new String(bytes)); | 
| 1495 | try { | 1048 | try { | 
| 1496 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 1049 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 1497 | String status = jsonObject.optString("status"); | 1050 | String status = jsonObject.optString("status"); | 
| 1498 | JSONObject jsonObject1 =jsonObject.getJSONObject("data"); | 1051 | JSONObject jsonObject1 =jsonObject.getJSONObject("data"); | 
| 1499 | String imagUrl = jsonObject1.optString("imgUrl"); | 1052 | String imagUrl = jsonObject1.optString("imgUrl"); | 
| 1500 | SaveParam.getInstance().saveLoginParam(mContext,SaveParam.HEADURL,imagUrl); | 1053 | SaveParam.getInstance().saveLoginParam(mContext,SaveParam.HEADURL,imagUrl); | 
| 1501 | if (status.equals("1")) { | 1054 | if (status.equals("1")) { | 
| 1502 | Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show(); | 1055 | Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show(); | 
| 1503 | } else { | 1056 | } else { | 
| 1504 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 1057 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 
| 1505 | } | 1058 | } | 
| 1506 | } catch (JSONException e) { | 1059 | } catch (JSONException e) { | 
| 1507 | e.printStackTrace(); | 1060 | e.printStackTrace(); | 
| 1508 | } | 1061 | } | 
| 1509 | } | 1062 | } | 
| 1510 | 1063 | ||
| 1511 | @Override | 1064 | @Override | 
| 1512 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 1065 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 1513 | closeProgress(); | 1066 | closeProgress(); | 
| 1514 | Log.e("test", "错误信息" + new String(bytes)); | 1067 | Log.e("test", "错误信息" + new String(bytes)); | 
| 1515 | new CircleDialog.Builder((FragmentActivity) mContext) | 1068 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1516 | .setCanceledOnTouchOutside(false) | ||
| 1517 | .setCancelable(false) | ||
| 1518 | .setWidth(0.5f) | ||
| 1519 | .configText(new ConfigText() { | ||
| 1520 | @Override | ||
| 1521 | public void onConfig(TextParams params) { | ||
| 1522 | params.gravity = Gravity.CENTER; | ||
| 1523 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1524 | } | ||
| 1525 | }) | ||
| 1526 | .setText("当前无网络,请检查网络设置") | ||
| 1527 | .setNegative("继续使用", null) | ||
| 1528 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1529 | @Override | ||
| 1530 | public void onClick(View v) { | ||
| 1531 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1532 | mContext.startActivity(intent); | ||
| 1533 | } | ||
| 1534 | }) | ||
| 1535 | .show(); | ||
| 1536 | 1069 | ||
| 1537 | } | 1070 | } | 
| 1538 | }); | 1071 | }); | 
| 1539 | } else { | 1072 | } else { | 
| 1540 | Toast.makeText(mContext, "文件不存在", Toast.LENGTH_LONG).show(); | 1073 | Toast.makeText(mContext, "文件不存在", Toast.LENGTH_LONG).show(); | 
| 1541 | } | 1074 | } | 
| 1542 | } | 1075 | } | 
| 1543 | /** | 1076 | /** | 
| 1544 | * 头像默认 | 1077 | * 头像默认 | 
| 1545 | * | 1078 | * | 
| 1546 | * @param mContext | 1079 | * @param mContext | 
| 1547 | * @param userId | 1080 | * @param userId | 
| 1548 | * @param | 1081 | * @param | 
| 1549 | * @throws UnsupportedEncodingException | 1082 | * @throws UnsupportedEncodingException | 
| 1550 | */ | 1083 | */ | 
| 1551 | public void headerdeft(final Context mContext, String userId, String type,String defaultImg) throws UnsupportedEncodingException { | 1084 | public void headerdeft(final Context mContext, String userId, String type,String defaultImg) throws UnsupportedEncodingException { | 
| 1552 | RequestParams params = new RequestParams(); | 1085 | RequestParams params = new RequestParams(); | 
| 1553 | params.put("userId", userId); | 1086 | params.put("userId", userId); | 
| 1554 | params.put("type", type); | 1087 | params.put("type", type); | 
| 1555 | params.put("defaultImg", defaultImg); | 1088 | params.put("defaultImg", defaultImg); | 
| 1556 | Log.e("test", "params" + params); | 1089 | Log.e("test", "params" + params); | 
| 1557 | HttpClient.getInstance().setTimeout(5 * 1000); | 1090 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1558 | HttpClient.getInstance().post(HttpUrl.headerdefaultURL, params, new AsyncHttpResponseHandler() { | 1091 | HttpClient.getInstance().post(HttpUrl.headerdefaultURL, params, new AsyncHttpResponseHandler() { | 
| 1559 | @Override | 1092 | @Override | 
| 1560 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 1093 | public void onSuccess(int i, Header[] headers, byte[] bytes) { | 
| 1561 | Log.e("test", "onSuccess" + new String(bytes)); | 1094 | Log.e("test", "onSuccess" + new String(bytes)); | 
| 1562 | try { | 1095 | try { | 
| 1563 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 1096 | JSONObject jsonObject = new JSONObject(new String(bytes)); | 
| 1564 | String status = jsonObject.optString("status"); | 1097 | String status = jsonObject.optString("status"); | 
| 1565 | JSONObject jsonObject1 =jsonObject.getJSONObject("data"); | 1098 | JSONObject jsonObject1 =jsonObject.getJSONObject("data"); | 
| 1566 | String imagUrl = jsonObject1.optString("imgUrl"); | 1099 | String imagUrl = jsonObject1.optString("imgUrl"); | 
| 1567 | SaveParam.getInstance().saveLoginParam(mContext,SaveParam.HEADURL,imagUrl); | 1100 | SaveParam.getInstance().saveLoginParam(mContext,SaveParam.HEADURL,imagUrl); | 
| 1568 | if (status.equals("1")) { | 1101 | if (status.equals("1")) { | 
| 1569 | Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show(); | 1102 | Toast.makeText(mContext, "头像上传成功。", Toast.LENGTH_LONG).show(); | 
| 1570 | } else { | 1103 | } else { | 
| 1571 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 1104 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试"); | 
| 1572 | } | 1105 | } | 
| 1573 | } catch (JSONException e) { | 1106 | } catch (JSONException e) { | 
| 1574 | e.printStackTrace(); | 1107 | e.printStackTrace(); | 
| 1575 | } | 1108 | } | 
| 1576 | } | 1109 | } | 
| 1577 | 1110 | ||
| 1578 | @Override | 1111 | @Override | 
| 1579 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 1112 | public void onFailure(int i, Header[] headers, byte[] bytes, Throwable throwable) { | 
| 1580 | closeProgress(); | 1113 | closeProgress(); | 
| 1581 | Log.e("test", "错误信息" + new String(bytes)); | 1114 | Log.e("test", "错误信息" + new String(bytes)); | 
| 1582 | new CircleDialog.Builder((FragmentActivity) mContext) | 1115 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1583 | .setCanceledOnTouchOutside(false) | ||
| 1584 | .setCancelable(false) | ||
| 1585 | .setWidth(0.5f) | ||
| 1586 | .configText(new ConfigText() { | ||
| 1587 | @Override | ||
| 1588 | public void onConfig(TextParams params) { | ||
| 1589 | params.gravity = Gravity.CENTER; | ||
| 1590 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1591 | } | ||
| 1592 | }) | ||
| 1593 | .setText("当前无网络,请检查网络设置") | ||
| 1594 | .setNegative("继续使用", null) | ||
| 1595 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1596 | @Override | ||
| 1597 | public void onClick(View v) { | ||
| 1598 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1599 | mContext.startActivity(intent); | ||
| 1600 | } | ||
| 1601 | }) | ||
| 1602 | .show(); | ||
| 1603 | 1116 | ||
| 1604 | } | 1117 | } | 
| 1605 | }); | 1118 | }); | 
| 1606 | } | 1119 | } | 
| 1607 | 1120 | ||
| 1121 | /** | ||
| 1122 | * 检查注册信息是否完整 | ||
| 1123 | * @param mContext | ||
| 1124 | * @param userId | ||
| 1125 | */ | ||
| 1126 | public void registerinfocheck(final Context mContext, long userId, final Handler handler) { | ||
| 1127 | mProgress = DialogPermission.showProgress(mContext, null, "正在检查注册信息是否完整...", | ||
| 1128 | false, true, null); | ||
| 1129 | HttpClient.getInstance().setTimeout(5 * 1000); | ||
| 1130 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | ||
| 1131 | HttpClient.getInstance().get(HttpUrl.isRegisterInfoCompleteURL + "?userId=" + userId , new AsyncHttpResponseHandler() { | ||
| 1132 | @Override | ||
| 1133 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | ||
| 1134 | closeProgress(); | ||
| 1135 | Log.e("test", "注册信息" + new String(arg2)); | ||
| 1136 | Message msg = Message.obtain(); | ||
| 1137 | msg.what = HttpCode.REGISTER_SUCESS; | ||
| 1138 | msg.obj = new String(arg2); | ||
| 1139 | handler.sendMessage(msg); | ||
| 1140 | |||
| 1141 | } | ||
| 1142 | |||
| 1143 | @Override | ||
| 1144 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | ||
| 1145 | closeProgress(); | ||
| 1146 | Log.e("test", "错误信息" + new String(arg2)); | ||
| 1147 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | ||
| 1148 | |||
| 1149 | } | ||
| 1150 | }); | ||
| 1151 | |||
| 1152 | } | ||
| 1608 | 1153 | ||
| 1609 | /** | 1154 | /** | 
| 1610 | * 系统升级 | 1155 | * 系统升级 | 
| 1611 | * | 1156 | * | 
| 1612 | * @param mContext | 1157 | * @param mContext | 
| 1613 | * @param pid appName | 1158 | * @param pid appName | 
| 1614 | */ | 1159 | */ | 
| 1615 | public void updateAPP(final Context mContext, String pid, String appName, final Handler handler) { | 1160 | public void updateAPP(final Context mContext, String pid, String appName, final Handler handler) { | 
| 1616 | mProgress = DialogPermission.showProgress(mContext, null, "正在切换子账户...", | 1161 | mProgress = DialogPermission.showProgress(mContext, null, "正在检测是否版本信息...", | 
| 1617 | false, true, null); | 1162 | false, true, null); | 
| 1618 | HttpClient.getInstance().setTimeout(5 * 1000); | 1163 | HttpClient.getInstance().setTimeout(5 * 1000); | 
| 1619 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 1164 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1620 | HttpClient.getInstance().get(HttpUrl.updateappURL + "?pid=" + pid + "&appName=" + appName, new AsyncHttpResponseHandler() { | 1165 | HttpClient.getInstance().get(HttpUrl.updateappURL + "?pid=" + pid + "&appName=" + appName, new AsyncHttpResponseHandler() { | 
| 1621 | @Override | 1166 | @Override | 
| 1622 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 1167 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1623 | closeProgress(); | 1168 | closeProgress(); | 
| 1624 | Log.e("test", "版本升级信息" + new String(arg2)); | 1169 | Log.e("test", "版本升级信息" + new String(arg2)); | 
| 1625 | AppVersion appVersion = GsonTool.getPerson(new String(arg2), AppVersion.class);//解析json数据 | 1170 | AppVersion appVersion = GsonTool.getPerson(new String(arg2), AppVersion.class);//解析json数据 | 
| 1626 | Message msg = Message.obtain(); | 1171 | Message msg = Message.obtain(); | 
| 1627 | msg.what = HttpCode.APPUPDATE_SUCESS; | 1172 | msg.what = HttpCode.APPUPDATE_SUCESS; | 
| 1628 | msg.obj = appVersion; | 1173 | msg.obj = appVersion; | 
| 1629 | handler.sendMessage(msg); | 1174 | handler.sendMessage(msg); | 
| 1630 | 1175 | ||
| 1631 | 1176 | ||
| 1632 | } | 1177 | } | 
| 1633 | 1178 | ||
| 1634 | @Override | 1179 | @Override | 
| 1635 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 1180 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1636 | closeProgress(); | 1181 | closeProgress(); | 
| 1637 | Log.e("test", "错误信息" + new String(arg2)); | 1182 | Log.e("test", "错误信息" + new String(arg2)); | 
| 1638 | new CircleDialog.Builder((FragmentActivity) mContext) | ||
| 1639 | .setCanceledOnTouchOutside(false) | ||
| 1640 | .setCancelable(false) | ||
| 1641 | .setWidth(0.5f) | ||
| 1642 | .configText(new ConfigText() { | ||
| 1643 | @Override | ||
| 1644 | public void onConfig(TextParams params) { | ||
| 1645 | params.gravity = Gravity.CENTER; | ||
| 1646 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1647 | } | ||
| 1648 | }) | ||
| 1649 | .setText("当前无网络,请检查网络设置") | ||
| 1650 | .setNegative("继续使用", null) | ||
| 1651 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1652 | @Override | ||
| 1653 | public void onClick(View v) { | ||
| 1654 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1655 | mContext.startActivity(intent); | ||
| 1656 | } | ||
| 1657 | }) | ||
| 1658 | .show(); | ||
| 1659 | } | 1183 | } | 
| 1660 | }); | 1184 | }); | 
| 1661 | 1185 | ||
| 1662 | } | 1186 | } | 
| 1663 | //版本信息 | 1187 | //版本信息 | 
| 1664 | public void versioninfo(final Context mContext,String subjectName, final Handler handler) { | 1188 | public void versioninfo(final Context mContext,String subjectName, final Handler handler) { | 
| 1665 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 1189 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1666 | HttpClient.getInstance().get(HttpUrl.getversionURL+"?subjectName="+subjectName, new AsyncHttpResponseHandler() { | 1190 | HttpClient.getInstance().get(HttpUrl.getversionURL+"?subjectName="+subjectName, new AsyncHttpResponseHandler() { | 
| 1667 | @Override | 1191 | @Override | 
| 1668 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 1192 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1669 | Log.e("test", "版本信息" + new String(arg2)); | 1193 | Log.e("test", "版本信息" + new String(arg2)); | 
| 1670 | try { | 1194 | try { | 
| 1671 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 1195 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1672 | int status = jsonObject.optInt("status"); | 1196 | int status = jsonObject.optInt("status"); | 
| 1673 | if (status == 1) { | 1197 | if (status == 1) { | 
| 1674 | VersionInfo versionInfo = GsonTool.getPerson(new String(arg2), VersionInfo.class);//解析json数据 | 1198 | VersionInfo versionInfo = GsonTool.getPerson(new String(arg2), VersionInfo.class);//解析json数据 | 
| 1675 | List<VersionInfo.DataBean> versionInfoList = versionInfo.getData(); | 1199 | List<VersionInfo.DataBean> versionInfoList = versionInfo.getData(); | 
| 1676 | Message message = Message.obtain(); | 1200 | Message message = Message.obtain(); | 
| 1677 | message.what = HttpCode.VERSION_SUCESS; | 1201 | message.what = HttpCode.VERSION_SUCESS; | 
| 1678 | message.obj = versionInfoList; | 1202 | message.obj = versionInfoList; | 
| 1679 | handler.sendMessage(message); | 1203 | handler.sendMessage(message); | 
| 1680 | 1204 | ||
| 1681 | } else if(status == 1000){ | 1205 | } else if(status == 1000){ | 
| 1682 | AlertUtils.showToast(mContext, "你好,该科目没有版本信息"); | 1206 | AlertUtils.showToast(mContext, "你好,该科目没有版本信息"); | 
| 1683 | 1207 | ||
| 1684 | }else { | 1208 | }else { | 
| 1685 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 1209 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 1686 | } | 1210 | } | 
| 1687 | } catch (JSONException e) { | 1211 | } catch (JSONException e) { | 
| 1688 | e.printStackTrace(); | 1212 | e.printStackTrace(); | 
| 1689 | } | 1213 | } | 
| 1690 | 1214 | ||
| 1691 | 1215 | ||
| 1692 | } | 1216 | } | 
| 1693 | 1217 | ||
| 1694 | @Override | 1218 | @Override | 
| 1695 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 1219 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1696 | new CircleDialog.Builder((FragmentActivity) mContext) | 1220 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1697 | .setCanceledOnTouchOutside(false) | ||
| 1698 | .setCancelable(false) | ||
| 1699 | .setWidth(0.5f) | ||
| 1700 | .configText(new ConfigText() { | ||
| 1701 | @Override | ||
| 1702 | public void onConfig(TextParams params) { | ||
| 1703 | params.gravity = Gravity.CENTER; | ||
| 1704 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1705 | } | ||
| 1706 | }) | ||
| 1707 | .setText("当前无网络,请检查网络设置") | ||
| 1708 | .setNegative("继续使用", null) | ||
| 1709 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1710 | @Override | ||
| 1711 | public void onClick(View v) { | ||
| 1712 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1713 | mContext.startActivity(intent); | ||
| 1714 | } | ||
| 1715 | }) | ||
| 1716 | .show(); | ||
| 1717 | } | 1221 | } | 
| 1718 | }); | 1222 | }); | 
| 1719 | } | 1223 | } | 
| 1720 | 1224 | ||
| 1721 | 1225 | ||
| 1722 | ///省级接口 | 1226 | ///省级接口 | 
| 1723 | public void provices(final Context mContext, final Handler handler) { | 1227 | public void provices(final Context mContext, final Handler handler) { | 
| 1724 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 1228 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1725 | HttpClient.getInstance().get(HttpUrl.provinceUrl, new AsyncHttpResponseHandler() { | 1229 | HttpClient.getInstance().get(HttpUrl.provinceUrl, new AsyncHttpResponseHandler() { | 
| 1726 | @Override | 1230 | @Override | 
| 1727 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 1231 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1728 | Log.e("test", "省" + new String(arg2)); | 1232 | Log.e("test", "省" + new String(arg2)); | 
| 1729 | try { | 1233 | try { | 
| 1730 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 1234 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1731 | int status = jsonObject.optInt("status"); | 1235 | int status = jsonObject.optInt("status"); | 
| 1732 | if (status == 100) { | 1236 | if (status == 100) { | 
| 1733 | ProvinceInfo provinceInfo = GsonTool.getPerson(new String(arg2), ProvinceInfo.class);//解析json数据 | 1237 | ProvinceInfo provinceInfo = GsonTool.getPerson(new String(arg2), ProvinceInfo.class);//解析json数据 | 
| 1734 | Log.e("test", "状态码" + provinceInfo.getStatus()); | 1238 | Log.e("test", "状态码" + provinceInfo.getStatus()); | 
| 1735 | List<ProvinceInfo.ProvincesBean> provincesBeanList = provinceInfo.getProvinces(); | 1239 | List<ProvinceInfo.ProvincesBean> provincesBeanList = provinceInfo.getProvinces(); | 
| 1736 | Message message = Message.obtain(); | 1240 | Message message = Message.obtain(); | 
| 1737 | message.what = HttpCode.PROVICES; | 1241 | message.what = HttpCode.PROVICES; | 
| 1738 | message.obj = provincesBeanList; | 1242 | message.obj = provincesBeanList; | 
| 1739 | handler.sendMessage(message); | 1243 | handler.sendMessage(message); | 
| 1740 | 1244 | ||
| 1741 | 1245 | ||
| 1742 | } else { | 1246 | } else { | 
| 1743 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 1247 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 1744 | 1248 | ||
| 1745 | } | 1249 | } | 
| 1746 | } catch (JSONException e) { | 1250 | } catch (JSONException e) { | 
| 1747 | e.printStackTrace(); | 1251 | e.printStackTrace(); | 
| 1748 | } | 1252 | } | 
| 1749 | 1253 | ||
| 1750 | 1254 | ||
| 1751 | } | 1255 | } | 
| 1752 | 1256 | ||
| 1753 | @Override | 1257 | @Override | 
| 1754 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 1258 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1755 | new CircleDialog.Builder((FragmentActivity) mContext) | 1259 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1756 | .setCanceledOnTouchOutside(false) | ||
| 1757 | .setCancelable(false) | ||
| 1758 | .setWidth(0.5f) | ||
| 1759 | .configText(new ConfigText() { | ||
| 1760 | @Override | ||
| 1761 | public void onConfig(TextParams params) { | ||
| 1762 | params.gravity = Gravity.CENTER; | ||
| 1763 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1764 | } | ||
| 1765 | }) | ||
| 1766 | .setText("当前无网络,请检查网络设置") | ||
| 1767 | .setNegative("继续使用", null) | ||
| 1768 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1769 | @Override | ||
| 1770 | public void onClick(View v) { | ||
| 1771 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1772 | mContext.startActivity(intent); | ||
| 1773 | } | ||
| 1774 | }) | ||
| 1775 | .show(); | ||
| 1776 | } | 1260 | } | 
| 1777 | }); | 1261 | }); | 
| 1778 | } | 1262 | } | 
| 1779 | 1263 | ||
| 1780 | //市级接口 | 1264 | //市级接口 | 
| 1781 | public void cityinfo(final Context mContext, long regionId, final Handler handler) { | 1265 | public void cityinfo(final Context mContext, long regionId, final Handler handler) { | 
| 1782 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 1266 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1783 | HttpClient.getInstance().get(HttpUrl.cityUrl + "?regionId=" + regionId, new AsyncHttpResponseHandler() { | 1267 | HttpClient.getInstance().get(HttpUrl.cityUrl + "?regionId=" + regionId, new AsyncHttpResponseHandler() { | 
| 1784 | @Override | 1268 | @Override | 
| 1785 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 1269 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1786 | Log.e("test", "市" + new String(arg2)); | 1270 | Log.e("test", "市" + new String(arg2)); | 
| 1787 | try { | 1271 | try { | 
| 1788 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 1272 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1789 | int status = jsonObject.optInt("status"); | 1273 | int status = jsonObject.optInt("status"); | 
| 1790 | if (status == 100) { | 1274 | if (status == 100) { | 
| 1791 | Gson gson = new Gson(); | 1275 | Gson gson = new Gson(); | 
| 1792 | CityInfo cityInfo = gson.fromJson(new String(arg2), CityInfo.class); | 1276 | CityInfo cityInfo = gson.fromJson(new String(arg2), CityInfo.class); | 
| 1793 | List<CityInfo.CitiesBean> cityInfoBeanList = cityInfo.getCities(); | 1277 | List<CityInfo.CitiesBean> cityInfoBeanList = cityInfo.getCities(); | 
| 1794 | Message message = Message.obtain(); | 1278 | Message message = Message.obtain(); | 
| 1795 | message.what = HttpCode.CITYS; | 1279 | message.what = HttpCode.CITYS; | 
| 1796 | message.obj = cityInfoBeanList; | 1280 | message.obj = cityInfoBeanList; | 
| 1797 | handler.sendMessage(message); | 1281 | handler.sendMessage(message); | 
| 1798 | 1282 | ||
| 1799 | } else { | 1283 | } else { | 
| 1800 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 1284 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 1801 | 1285 | ||
| 1802 | } | 1286 | } | 
| 1803 | } catch (JSONException e) { | 1287 | } catch (JSONException e) { | 
| 1804 | e.printStackTrace(); | 1288 | e.printStackTrace(); | 
| 1805 | } | 1289 | } | 
| 1806 | 1290 | ||
| 1807 | 1291 | ||
| 1808 | } | 1292 | } | 
| 1809 | 1293 | ||
| 1810 | @Override | 1294 | @Override | 
| 1811 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 1295 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1812 | new CircleDialog.Builder((FragmentActivity) mContext) | 1296 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1813 | .setCanceledOnTouchOutside(false) | ||
| 1814 | .setCancelable(false) | ||
| 1815 | .setWidth(0.5f) | ||
| 1816 | .configText(new ConfigText() { | ||
| 1817 | @Override | ||
| 1818 | public void onConfig(TextParams params) { | ||
| 1819 | params.gravity = Gravity.CENTER; | ||
| 1820 | params.padding = new int[]{50, 50, 50, 50}; | ||
| 1821 | } | ||
| 1822 | }) | ||
| 1823 | .setText("当前无网络,请检查网络设置") | ||
| 1824 | .setNegative("继续使用", null) | ||
| 1825 | .setPositive("设置网络", new View.OnClickListener() { | ||
| 1826 | @Override | ||
| 1827 | public void onClick(View v) { | ||
| 1828 | Intent intent = new Intent(Settings.ACTION_SETTINGS);//系统设置界面 | ||
| 1829 | mContext.startActivity(intent); | ||
| 1830 | } | ||
| 1831 | }) | ||
| 1832 | .show(); | ||
| 1833 | } | 1297 | } | 
| 1834 | }); | 1298 | }); | 
| 1835 | } | 1299 | } | 
| 1836 | 1300 | ||
| 1837 | //区县级接口 | 1301 | //区县级接口 | 
| 1838 | public void countyinfo(final Context mContext, int parentId, final Handler handler) { | 1302 | public void countyinfo(final Context mContext, int parentId, final Handler handler) { | 
| 1839 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 1303 | HttpClient.getInstance().addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"); | 
| 1840 | HttpClient.getInstance().get(HttpUrl.countyUrl + "?regionId=" + parentId, new AsyncHttpResponseHandler() { | 1304 | HttpClient.getInstance().get(HttpUrl.countyUrl + "?regionId=" + parentId, new AsyncHttpResponseHandler() { | 
| 1841 | @Override | 1305 | @Override | 
| 1842 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 1306 | public void onSuccess(int arg0, Header[] arg1, byte[] arg2) { | 
| 1843 | Log.e("test", "区" + new String(arg2)); | 1307 | Log.e("test", "区" + new String(arg2)); | 
| 1844 | try { | 1308 | try { | 
| 1845 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 1309 | JSONObject jsonObject = new JSONObject(new String(arg2)); | 
| 1846 | int status = jsonObject.optInt("status"); | 1310 | int status = jsonObject.optInt("status"); | 
| 1847 | if (status == 100) { | 1311 | if (status == 100) { | 
| 1848 | Gson gson = new Gson(); | 1312 | Gson gson = new Gson(); | 
| 1849 | CountyInfo countyInfo = gson.fromJson(new String(arg2), CountyInfo.class); | 1313 | CountyInfo countyInfo = gson.fromJson(new String(arg2), CountyInfo.class); | 
| 1850 | List<CountyInfo.CountiesBean> countyInfoInfoBeanList = countyInfo.getCounties(); | 1314 | List<CountyInfo.CountiesBean> countyInfoInfoBeanList = countyInfo.getCounties(); | 
| 1851 | Message message = Message.obtain(); | 1315 | Message message = Message.obtain(); | 
| 1852 | message.what = HttpCode.COUNTRY; | 1316 | message.what = HttpCode.COUNTRY; | 
| 1853 | message.obj = countyInfoInfoBeanList; | 1317 | message.obj = countyInfoInfoBeanList; | 
| 1854 | handler.sendMessage(message); | 1318 | handler.sendMessage(message); | 
| 1855 | } else { | 1319 | } else { | 
| 1856 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 1320 | AlertUtils.showToast(mContext, "你好,服务器异常,请稍后重试!"); | 
| 1857 | 1321 | ||
| 1858 | } | 1322 | } | 
| 1859 | } catch (JSONException e) { | 1323 | } catch (JSONException e) { | 
| 1860 | e.printStackTrace(); | 1324 | e.printStackTrace(); | 
| 1861 | } | 1325 | } | 
| 1862 | 1326 | ||
| 1863 | 1327 | ||
| 1864 | } | 1328 | } | 
| 1865 | 1329 | ||
| 1866 | @Override | 1330 | @Override | 
| 1867 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 1331 | public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) { | 
| 1868 | new CircleDialog.Builder((FragmentActivity) mContext) | 1332 | AlertUtils.showToast(mContext, "无法链接到服务器,请检查您的网络或稍后重试!"); | 
| 1869 | .setCanceledOnTouchOutside(false) | ||
| 1870 | .setCancelable(false) | ||
| 1871 | .setWidth(0.5f) | ||
| 1872 | .configText(new ConfigText() { | ||
| 1873 | @Override | ||
| 1874 | public void onConfig(TextParams params) { | 
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 schoolUrl = GetDomain()+"/school/get";//学校 | 15 | public static String schoolUrl = GetDomain()+"/school/get";//学校 | 
| 16 | public static String gradesUrl = GetDomain()+"/grades";//年级 | 16 | public static String gradesUrl = GetDomain()+"/grades";//年级 | 
| 17 | public static String provinceUrl = GetDomain()+"/ozing/provinces";//省 | 17 | public static String provinceUrl = GetDomain()+"/ozing/provinces";//省 | 
| 18 | public static String cityUrl = GetDomain()+"/ozing/cities";//市 | 18 | public static String cityUrl = GetDomain()+"/ozing/cities";//市 | 
| 19 | public static String countyUrl = GetDomain()+"/ozing/counties";//区县 | 19 | public static String countyUrl = GetDomain()+"/ozing/counties";//区县 | 
| 20 | public static String forgetpassword=GetDomain()+"/ozing/timer/user/newpassword";//忘记密码/ | 20 | public static String forgetpassword=GetDomain()+"/ozing/timer/user/newpassword";//忘记密码/ | 
| 21 | public static String registeredUrl=GetDomain()+"/ozing/timer/anking/user";//注册 | 21 | public static String registeredUrl=GetDomain()+"/ozing/timer/anking/user";//注册 | 
| 22 | public static String authCodedUrl=GetDomain()+"/ozing/timer/user/fetchAuthCode";//验证码 | 22 | public static String authCodedUrl=GetDomain()+"/ozing/timer/user/fetchAuthCode";//验证码 | 
| 23 | public static String isRegiterUrl=GetDomain()+"/ozing/timer/user/registered";//手机号是否注册 | 23 | public static String isRegiterUrl=GetDomain()+"/ozing/timer/user/registered";//手机号是否注册 | 
| 24 | public static String changepassword=GetDomain()+"/ozing/timer/user/changepassword";//修改密码 | 24 | public static String changepassword=GetDomain()+"/ozing/timer/user/changepassword";//修改密码 | 
| 25 | public static String subcardinfo=GetDomain()+"/electronicCard/addCustomer";//提交保卡信息 | 25 | public static String subcardinfo=GetDomain()+"/electronicCard/addCustomer";//提交保卡信息 | 
| 26 | public static String getcardinfo=GetDomain()+"/electronicCard/info";//得到保卡信息 | 26 | public static String getcardinfo=GetDomain()+"/electronicCard/info";//得到保卡信息 | 
| 27 | public static String changecardinfo=GetDomain()+"/electronicCard/updateByUserId";//修改保卡信息 | 27 | public static String changecardinfo=GetDomain()+"/electronicCard/updateByUserId";//修改保卡信息 | 
| 28 | public static String cardcheck=GetDomain()+"/electronicCard/check";//检查保卡是否填写 | 28 | public static String cardcheck=GetDomain()+"/electronicCard/check";//检查保卡是否填写 | 
| 29 | public static String changepresonalinfo=GetDomain()+"/personal/update";//修改个人信息 | 29 | public static String changepresonalinfo=GetDomain()+"/personal/update";//修改个人信息 | 
| 30 | public static String getpresonalinfo=GetDomain()+"/personal/get";//获取个人信息 | 30 | public static String getpresonalinfo=GetDomain()+"/personal/get";//获取个人信息 | 
| 31 | public static String signature=GetDomain()+"/signature/addOrUpdateSignature";//修改个性签名 | 31 | public static String signature=GetDomain()+"/signature/addOrUpdateSignature";//修改个性签名 | 
| 32 | public static String getsignature=GetDomain()+"/signature/info";//获取个性签名 | 32 | public static String getsignature=GetDomain()+"/signature/info";//获取个性签名 | 
| 33 | public static String feedbackURL=GetDomain()+"/feedback/add";//用户反馈 | 33 | public static String feedbackURL=GetDomain()+"/feedback/add";//用户反馈 | 
| 34 | public static String childUserURL=GetDomain()+"/childUser/info";//获取子账户信息 | 34 | public static String childUserURL=GetDomain()+"/childUser/info";//获取子账户信息 | 
| 35 | public static String deletechildUserURL=GetDomain()+"/childUser/delete";//删除子账户 | 35 | public static String deletechildUserURL=GetDomain()+"/childUser/delete";//删除子账户 | 
| 36 | public static String addchildUserURL=GetDomain()+"/childUser/addChildUser";//添加子账户 | 36 | public static String addchildUserURL=GetDomain()+"/childUser/addChildUser";//添加子账户 | 
| 37 | public static String changechildUserURL=GetDomain()+"/childUser/update";//切换子账户 | 37 | public static String changechildUserURL=GetDomain()+"/childUser/update";//切换子账户 | 
| 38 | public static String updateappURL=GetDomain()+"/general/release/version";//系统升级 | 38 | public static String updateappURL=GetDomain()+"/general/release/version";//系统升级 | 
| 39 | public static String headerURL=GetDomain()+"/profile/picture/update";//头像上传 | 39 | public static String headerURL=GetDomain()+"/profile/picture/update";//头像上传 | 
| 40 | public static String headerdefaultURL=GetDomain()+"/profile/picture/default";//默认头像上传 | 40 | public static String headerdefaultURL=GetDomain()+"/profile/picture/default";//默认头像上传 | 
| 41 | public static String getversionURL=GetDomain()+"/press/list";//获取版本信息 | 41 | public static String getversionURL=GetDomain()+"/press/list";//获取版本信息 | 
| 42 | public static String isRegisterInfoCompleteURL=GetDomain()+"/register/extrainfo/check";//注册信息是否完整 | ||
| 42 | 43 | ||
| 43 | 44 | ||
| 44 | 45 | ||
| 45 | 46 | ||
| 46 | 47 | ||
| 47 | 48 | ||
| 48 | } | 49 | } | 
| 49 | 50 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/DefautPublishInfo.java
| File was created | 1 | package com.hjx.personalcenter.model; | |
| 2 | |||
| 3 | import java.io.Serializable; | ||
| 4 | |||
| 5 | /** | ||
| 6 | * Created by h on 2017/9/12. | ||
| 7 | */ | ||
| 8 | |||
| 9 | public class DefautPublishInfo implements Serializable{ | ||
| 10 | private String imagurl; | ||
| 11 | |||
| 12 | public String getImagurl() { | ||
| 13 | return imagurl; | ||
| 14 | } | ||
| 15 | |||
| 16 | public void setImagurl(String imagurl) { | ||
| 17 | this.imagurl = imagurl; | ||
| 18 | } | ||
| 19 | |||
| 20 | public String getSubjuct() { | ||
| 21 | return subjuct; | ||
| 22 | } | ||
| 23 | |||
| 24 | public void setSubjuct(String subjuct) { | ||
| 25 | this.subjuct = subjuct; | ||
| 26 | } | ||
| 27 | |||
| 28 | public String getPublish() { | ||
| 29 | return publish; | ||
| 30 | } | ||
| 31 | |||
| 32 | public void setPublish(String publish) { | ||
| 33 | this.publish = publish; | ||
| 34 | } | ||
| 35 | |||
| 36 | private String subjuct; | ||
| 37 | private String publish; | ||
| 38 | } | ||
| 39 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/model/LoginInfo.java
| File was created | 1 | package com.hjx.personalcenter.model; | |
| 2 | |||
| 3 | import java.io.Serializable; | ||
| 4 | |||
| 5 | /** | ||
| 6 | * Created by h on 2017/9/12. | ||
| 7 | */ | ||
| 8 | |||
| 9 | public class LoginInfo implements Serializable { | ||
| 10 | private String username; | ||
| 11 | private String password; | ||
| 12 | |||
| 13 | public String getUsername() { | ||
| 14 | return username; | ||
| 15 | } | ||
| 16 | |||
| 17 | public void setUsername(String username) { | ||
| 18 | this.username = username; | ||
| 19 | } | ||
| 20 | |||
| 21 | public String getPassword() { | ||
| 22 | return password; | ||
| 23 | } | ||
| 24 | |||
| 25 | public void setPassword(String password) { | ||
| 26 | this.password = password; | ||
| 27 | } | ||
| 28 | |||
| 29 | public String getAccess_token() { | ||
| 30 | return access_token; | ||
| 31 | } | ||
| 32 | |||
| 33 | public void setAccess_token(String access_token) { | ||
| 34 | this.access_token = access_token; | ||
| 35 | } | ||
| 36 | |||
| 37 | public String getLoginStatus() { | ||
| 38 | return loginStatus; | ||
| 39 | } | ||
| 40 | |||
| 41 | public void setLoginStatus(String loginStatus) { | ||
| 42 | this.loginStatus = loginStatus; | ||
| 43 | } | ||
| 44 | |||
| 45 | public String getUserId() { | ||
| 46 | return userId; | ||
| 47 | } | ||
| 48 | |||
| 49 | public void setUserId(String userId) { | ||
| 50 | this.userId = userId; | ||
| 51 | } | ||
| 52 | |||
| 53 | private String access_token; | ||
| 54 | private String loginStatus; | ||
| 55 | private String userId; | ||
| 56 | } | ||
| 57 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/service/CenterService.java
| 1 | package com.hjx.personalcenter.service; | 1 | package com.hjx.personalcenter.service; | 
| 2 | 2 | ||
| 3 | import android.content.Intent; | 3 | import android.content.Intent; | 
| 4 | import android.os.IBinder; | 4 | import android.os.IBinder; | 
| 5 | import android.os.RemoteException; | 5 | import android.os.RemoteException; | 
| 6 | import android.util.Log; | ||
| 7 | |||
| 8 | import com.google.gson.Gson; | ||
| 9 | import com.hjx.personalcenter.activity.LoginAndRegisterActivity; | ||
| 10 | import com.hjx.personalcenter.db.SaveParam; | ||
| 11 | import com.hjx.personalcenter.model.CardInfo; | ||
| 12 | import com.hjx.personalcenter.model.LoginInfo; | ||
| 13 | import com.hjx.personalcenter.util.GetDevicesUtil; | ||
| 6 | 14 | ||
| 7 | /** | 15 | /** | 
| 8 | * Created by h on 2017/9/1. | 16 | * Created by h on 2017/9/1. | 
| 9 | */ | 17 | */ | 
| 10 | 18 | ||
| 11 | public class CenterService extends BaseService { | 19 | public class CenterService extends BaseService { | 
| 20 | enum ACTIVITY_ACTION{ | ||
| 21 | userinfo_activity | ||
| 22 | } | ||
| 12 | public CenterService(){ | 23 | public CenterService(){ | 
| 13 | 24 | ||
| 14 | } | 25 | } | 
| 15 | IPresonalInterface.Stub binder = new IPresonalInterface.Stub() { | 26 | IPresonalInterface.Stub binder = new IPresonalInterface.Stub() { | 
| 16 | @Override | 27 | @Override | 
| 17 | public String sayHello() throws RemoteException { | 28 | public String sayHello() throws RemoteException { | 
| 18 | return "这是测试AIDL的方法"; | 29 | return "这是测试AIDL的方法"; | 
| 19 | } | 30 | } | 
| 20 | 31 | ||
| 21 | @Override | 32 | @Override | 
| 22 | public String viewPage(String action) throws RemoteException { | 33 | public String viewPage(String action) throws RemoteException { | 
| 23 | return null; | 34 | String result = null; | 
| 35 | if(action.equals(ACTIVITY_ACTION.userinfo_activity.toString())){ | ||
| 36 | //登录界面 | ||
| 37 | Intent intent = new Intent(); | ||
| 38 | intent.setClass(CenterService.this, LoginAndRegisterActivity.class); | ||
| 39 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); | ||
| 40 | startActivity(intent); | ||
| 41 | result= "跳转成功"; | ||
| 42 | } | ||
| 43 | |||
| 44 | return result; | ||
| 24 | } | 45 | } | 
| 25 | 46 | ||
| 26 | @Override | 47 | @Override | 
| 27 | public String getSimpleUser() throws RemoteException { | 48 | public String getSimpleUser() throws RemoteException { | 
| 49 | String logininfo = null; | ||
| 50 | Gson gson = new Gson(); | ||
| 51 | LoginInfo loginInfo = new LoginInfo(); | ||
| 52 | String islogin = SaveParam.getInstance().getLoginParam(getApplication(),"login"); | ||
| 53 | if ("true".equals(islogin)){ | ||
| 54 | loginInfo.setUsername(SaveParam.getInstance().getLoginParam(getApplication(), "username")); | ||
| 55 | loginInfo.setPassword(SaveParam.getInstance().getLoginParam(getApplication(), "password")); | ||
| 56 | loginInfo.setAccess_token(SaveParam.getInstance().getLoginParam(getApplication(), "access_token")); | ||
| 57 | loginInfo.setLoginStatus(SaveParam.getInstance().getLoginParam(getApplication(), "login")); | ||
| 58 | loginInfo.setUserId(SaveParam.getInstance().getLoginParam(getApplication(), "userId")); | ||
| 59 | |||
| 60 | logininfo =gson.toJson(loginInfo); | ||
| 61 | |||
| 62 | Log.e("test","登录信息"+logininfo); | ||
| 63 | |||
| 64 | } | ||
| 65 | |||
| 66 | return logininfo; | ||
| 67 | } | ||
| 68 | //保卡信息 | ||
| 69 | @Override | ||
| 70 | public String getcardUser() throws RemoteException { | ||
| 71 | String results = null; | ||
| 72 | CardInfo cardInfo = new CardInfo(); | ||
| 73 | CardInfo.DataBean dataBean = new CardInfo.DataBean(); | ||
| 74 | Gson gson = new Gson(); | ||
| 75 | |||
| 76 | //获取设备信息 | ||
| 77 | dataBean.setProductModel(GetDevicesUtil.getDevicesInfo(getApplication()).getDeviceModel()); | ||
| 78 | dataBean.setDeviceNumber(GetDevicesUtil.getDevicesInfo(getApplication()).getDeviceNumber()); | ||
| 79 | dataBean.setMacAddress(GetDevicesUtil.getDevicesInfo(getApplication()).getMac()); | ||
| 80 | //获取保卡信息 | ||
| 81 | dataBean.setCustomerName(SaveParam.getInstance().getCustomizeParam(getApplication(),SaveParam.CUNSTEMNAME)); | ||
| 82 | dataBean.setCustomerAddress(SaveParam.getInstance().getCustomizeParam(getApplication(),SaveParam.ADRESSCUNSTEM)); | ||
| 83 | dataBean.setBuyTime(SaveParam.getInstance().getCustomizeParam(getApplication(),SaveParam.SHOPTIME)); | ||
| 84 | dataBean.setBuyAddress(SaveParam.getInstance().getCustomizeParam(getApplication(),SaveParam.SHOPADRESS)); | ||
| 85 | dataBean.setAlterSaleCall(SaveParam.getInstance().getCustomizeParam(getApplication(),SaveParam.SHOPTLEPHONE)); | ||
| 86 | dataBean.setMobilePhone(SaveParam.getInstance().getCustomizeParam(getApplication(),SaveParam.CARDPHONE)); | ||
| 87 | cardInfo.setData(dataBean); | ||
| 88 | results =gson.toJson(cardInfo); | ||
| 89 | |||
| 90 | return results; | ||
| 91 | } | ||
| 92 | |||
| 93 | @Override | ||
| 94 | public String getUserInfo() throws RemoteException { | ||
| 28 | return null; | 95 | return null; | 
| 29 | } | 96 | } | 
| 30 | 97 | ||
| 31 | @Override | 98 | @Override | 
| 32 | public String getcardUser() throws RemoteException { | 99 | public String logout() throws RemoteException { | 
| 100 | return null; | ||
| 101 | } | ||
| 102 | |||
| 103 | @Override | ||
| 104 | public String validateToken() throws RemoteException { | ||
| 105 | return null; | ||
| 106 | } | ||
| 107 | |||
| 108 | @Override | ||
| 109 | public String getDeviceID() throws RemoteException { | ||
| 110 | return null; | ||
| 111 | } | ||
| 112 | |||
| 113 | @Override | ||
| 114 | public String getChildsInfo() throws RemoteException { | ||
| 33 | return null; | 115 | return null; | 
| 34 | } | 116 | } | 
| 35 | }; | 117 | }; | 
| 36 | 118 | ||
| 37 | @Override | 119 | @Override | 
| 38 | public IBinder onBind(Intent intent) { | 120 | public IBinder onBind(Intent intent) { | 
| 39 | return binder; | 121 | return binder; | 
| 40 | } | 122 | } | 
| 41 | } | 123 | } | 
| 42 | 124 | 
PersonalCenter/app/src/main/java/com/hjx/personalcenter/util/NetUtils.java
| File was created | 1 | package com.hjx.personalcenter.util; | |
| 2 | |||
| 3 | import android.content.Context; | ||
| 4 | import android.net.ConnectivityManager; | ||
| 5 | import android.net.NetworkInfo; | ||
| 6 | |||
| 7 | /** | ||
| 8 | * Created by h on 2017/9/13. | ||
| 9 | */ | ||
| 10 | |||
| 11 | public class NetUtils { | ||
| 12 | // 判断网络连接状态 | ||
| 13 | public static boolean isNetworkConnected(Context context) { | ||
| 14 | if (context != null) { | ||
| 15 | ConnectivityManager mConnectivityManager = (ConnectivityManager) context | ||
| 16 | .getSystemService(Context.CONNECTIVITY_SERVICE); | ||
| 17 | NetworkInfo mNetworkInfo = mConnectivityManager | ||
| 18 | .getActiveNetworkInfo(); | ||
| 19 | if (mNetworkInfo != null) { | ||
| 20 | return mNetworkInfo.isAvailable(); | ||
| 21 | } | ||
| 22 | } | ||
| 23 | return false; | ||
| 24 | } | ||
| 25 | |||
| 26 | // 判断wifi状态 | ||
| 27 | public static boolean isWifiConnected(Context context) { | ||
| 28 | if (context != null) { | ||
| 29 | ConnectivityManager mConnectivityManager = (ConnectivityManager) context | ||
| 30 | .getSystemService(Context.CONNECTIVITY_SERVICE); | ||
| 31 | NetworkInfo mWiFiNetworkInfo = mConnectivityManager | ||
| 32 | .getNetworkInfo(ConnectivityManager.TYPE_WIFI); | ||
| 33 | if (mWiFiNetworkInfo != null) { | ||
| 34 | return mWiFiNetworkInfo.isAvailable(); | ||
| 35 | } | ||
| 36 | } | ||
| 37 | return false; | ||
| 38 | } | ||
| 39 | |||
| 40 | // 判断移动网络 | ||
| 41 | public static boolean isMobileConnected(Context context) { | ||
| 42 | if (context != null) { | ||
| 43 | ConnectivityManager mConnectivityManager = (ConnectivityManager) context | ||
| 44 | .getSystemService(Context.CONNECTIVITY_SERVICE); | ||
| 45 | NetworkInfo mMobileNetworkInfo = mConnectivityManager | ||
| 46 | .getNetworkInfo(ConnectivityManager.TYPE_MOBILE); | ||
| 47 | if (mMobileNetworkInfo != null) { | ||
| 48 | return mMobileNetworkInfo.isAvailable(); | ||
| 49 | } | ||
| 50 | } | ||
| 51 | return false; | ||
| 52 | } | ||
| 53 | |||
| 54 | // 获取连接类型 | ||
| 55 | public static int getConnectedType(Context context) { | ||
| 56 | if (context != null) { | ||
| 57 | ConnectivityManager mConnectivityManager = (ConnectivityManager) context | ||
| 58 | .getSystemService(Context.CONNECTIVITY_SERVICE); | ||
| 59 | NetworkInfo mNetworkInfo = mConnectivityManager | ||
| 60 | .getActiveNetworkInfo(); | ||
| 61 | if (mNetworkInfo != null && mNetworkInfo.isAvailable()) { | ||
| 62 | return mNetworkInfo.getType(); | ||
| 63 | } | ||
| 64 | } | ||
| 65 | return -1; | ||
| 66 | } | ||
| 67 | |||
| 68 | } | ||
| 69 | 
PersonalCenter/app/src/main/res/layout/activity_main.xml
| 1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> | 
| 2 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" | 
| 3 | android:layout_width="match_parent" | 3 | android:layout_width="match_parent" | 
| 4 | android:layout_height="match_parent" | 4 | android:layout_height="match_parent" | 
| 5 | xmlns:fresco="http://schemas.android.com/apk/res-auto" | 5 | xmlns:fresco="http://schemas.android.com/apk/res-auto" | 
| 6 | android:orientation="vertical"> | 6 | android:orientation="vertical"> | 
| 7 | 7 | ||
| 8 | <RelativeLayout | 8 | <RelativeLayout | 
| 9 | android:id="@+id/title" | 9 | android:id="@+id/title" | 
| 10 | android:layout_width="match_parent" | 10 | android:layout_width="match_parent" | 
| 11 | android:layout_height="50dp" | 11 | android:layout_height="50dp" | 
| 12 | android:background="@color/login_text_blue"> | 12 | android:background="@color/login_text_blue"> | 
| 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="match_parent" | 17 | android:layout_height="match_parent" | 
| 18 | android:paddingLeft="20dp" | 18 | android:paddingLeft="20dp" | 
| 19 | android:paddingRight="20dp" | 19 | android:paddingRight="20dp" | 
| 20 | android:visibility="gone" | 20 | android:visibility="gone" | 
| 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="match_parent" | 26 | android:layout_height="match_parent" | 
| 27 | android:layout_centerInParent="true" | 27 | android:layout_centerInParent="true" | 
| 28 | android:gravity="center_vertical" | 28 | android:gravity="center_vertical" | 
| 29 | android:text="@string/titel_preson" | 29 | android:text="@string/titel_preson" | 
| 30 | android:textColor="@android:color/white" | 30 | android:textColor="@android:color/white" | 
| 31 | android:textSize="22sp" /> | 31 | android:textSize="22sp" /> | 
| 32 | 32 | ||
| 33 | <ImageView | 33 | <ImageView | 
| 34 | android:id="@+id/iv_setting" | 34 | android:id="@+id/iv_setting" | 
| 35 | android:layout_width="wrap_content" | 35 | android:layout_width="wrap_content" | 
| 36 | android:layout_height="match_parent" | 36 | android:layout_height="match_parent" | 
| 37 | android:layout_marginRight="10dp" | 37 | android:layout_marginRight="10dp" | 
| 38 | android:layout_toLeftOf="@+id/iv_skin" | 38 | android:layout_toLeftOf="@+id/iv_skin" | 
| 39 | android:gravity="center_vertical" | 39 | android:gravity="center_vertical" | 
| 40 | android:padding="10dp" | 40 | android:padding="10dp" | 
| 41 | android:src="@mipmap/shezhi" | 41 | android:src="@mipmap/shezhi" | 
| 42 | android:textColor="@android:color/white" | 42 | android:textColor="@android:color/white" | 
| 43 | android:textSize="22sp" /> | 43 | android:textSize="22sp" /> | 
| 44 | 44 | ||
| 45 | <ImageView | 45 | <ImageView | 
| 46 | android:id="@+id/iv_skin" | 46 | android:id="@+id/iv_skin" | 
| 47 | android:layout_width="wrap_content" | 47 | android:layout_width="wrap_content" | 
| 48 | android:layout_height="match_parent" | 48 | android:layout_height="match_parent" | 
| 49 | android:layout_marginRight="10dp" | 49 | android:layout_marginRight="10dp" | 
| 50 | android:layout_toLeftOf="@+id/iv_imformatioan" | 50 | android:layout_toLeftOf="@+id/iv_imformatioan" | 
| 51 | android:gravity="center_vertical" | 51 | android:gravity="center_vertical" | 
| 52 | android:padding="10dp" | 52 | android:padding="10dp" | 
| 53 | android:src="@mipmap/pifu" | 53 | android:src="@mipmap/pifu" | 
| 54 | android:textColor="@android:color/white" | 54 | android:textColor="@android:color/white" | 
| 55 | android:textSize="22sp" /> | 55 | android:textSize="22sp" /> | 
| 56 | 56 | ||
| 57 | <ImageView | 57 | <ImageView | 
| 58 | android:id="@+id/iv_imformatioan" | 58 | android:id="@+id/iv_imformatioan" | 
| 59 | android:layout_width="wrap_content" | 59 | android:layout_width="wrap_content" | 
| 60 | android:layout_height="match_parent" | 60 | android:layout_height="match_parent" | 
| 61 | android:layout_alignParentRight="true" | 61 | android:layout_alignParentRight="true" | 
| 62 | android:layout_marginRight="10dp" | 62 | android:layout_marginRight="10dp" | 
| 63 | android:gravity="center_vertical" | 63 | android:gravity="center_vertical" | 
| 64 | android:padding="10dp" | 64 | android:padding="10dp" | 
| 65 | android:src="@mipmap/fankui" | 65 | android:src="@mipmap/fankui" | 
| 66 | android:textColor="@android:color/white" | 66 | android:textColor="@android:color/white" | 
| 67 | android:textSize="22sp" /> | 67 | android:textSize="22sp" /> | 
| 68 | 68 | ||
| 69 | 69 | ||
| 70 | </RelativeLayout> | 70 | </RelativeLayout> | 
| 71 | 71 | ||
| 72 | <LinearLayout | 72 | <LinearLayout | 
| 73 | android:layout_width="match_parent" | 73 | android:layout_width="match_parent" | 
| 74 | android:layout_height="match_parent"> | 74 | android:layout_height="match_parent"> | 
| 75 | 75 | ||
| 76 | <LinearLayout | 76 | <LinearLayout | 
| 77 | android:layout_width="0dp" | 77 | android:layout_width="0dp" | 
| 78 | android:layout_height="match_parent" | 78 | android:layout_height="match_parent" | 
| 79 | android:layout_weight="1" | 79 | android:layout_weight="1" | 
| 80 | android:orientation="vertical"> | 80 | android:orientation="vertical"> | 
| 81 | 81 | ||
| 82 | <LinearLayout | 82 | <LinearLayout | 
| 83 | android:layout_width="match_parent" | 83 | android:layout_width="match_parent" | 
| 84 | android:layout_height="wrap_content" | 84 | android:layout_height="wrap_content" | 
| 85 | android:layout_marginTop="20dp" | 85 | android:layout_marginTop="20dp" | 
| 86 | android:orientation="horizontal"> | 86 | android:orientation="horizontal"> | 
| 87 | <ImageView | 87 | <ImageView | 
| 88 | android:id="@+id/iv_look_card" | 88 | android:id="@+id/iv_look_card" | 
| 89 | android:layout_width="wrap_content" | 89 | android:layout_width="wrap_content" | 
| 90 | android:layout_height="wrap_content" | 90 | android:layout_height="wrap_content" | 
| 91 | android:padding="10dp" | 91 | android:padding="10dp" | 
| 92 | android:layout_marginLeft="20dp" | 92 | android:layout_marginLeft="20dp" | 
| 93 | android:src="@mipmap/card_icoc" /> | 93 | android:src="@mipmap/card_icoc" /> | 
| 94 | <com.facebook.drawee.view.SimpleDraweeView | 94 | <com.facebook.drawee.view.SimpleDraweeView | 
| 95 | android:id="@+id/iv_head" | 95 | android:id="@+id/iv_head" | 
| 96 | android:layout_width="60dp" | 96 | android:layout_width="60dp" | 
| 97 | android:layout_height="60dp" | 97 | android:layout_height="60dp" | 
| 98 | android:layout_marginLeft="60dp" | 98 | android:layout_marginLeft="60dp" | 
| 99 | android:layout_gravity="center" | 99 | android:layout_gravity="center" | 
| 100 | fresco:placeholderImage="@mipmap/header_default" | 100 | fresco:placeholderImage="@mipmap/header_default" | 
| 101 | fresco:roundAsCircle="true" | 101 | fresco:roundAsCircle="true" | 
| 102 | fresco:placeholderImageScaleType="fitCenter" /> | 102 | fresco:placeholderImageScaleType="fitCenter" /> | 
| 103 | 103 | ||
| 104 | <TextView | 104 | <TextView | 
| 105 | android:layout_width="wrap_content" | 105 | android:layout_width="wrap_content" | 
| 106 | android:layout_height="wrap_content" | 106 | android:layout_height="wrap_content" | 
| 107 | android:layout_marginLeft="18dp" | 107 | android:layout_marginLeft="18dp" | 
| 108 | android:layout_marginTop="20dp" | 108 | android:layout_marginTop="20dp" | 
| 109 | android:background="@drawable/corcle_blue_bg" | 109 | android:background="@drawable/corcle_blue_bg" | 
| 110 | android:paddingLeft="5dp" | 110 | android:paddingLeft="5dp" | 
| 111 | android:paddingRight="5dp" | 111 | android:paddingRight="5dp" | 
| 112 | android:gravity="center_vertical" | 112 | android:gravity="center_vertical" | 
| 113 | android:text="签到" | 113 | android:text="签到" | 
| 114 | android:textColor="@color/login_text_blue" | 114 | android:textColor="@color/login_text_blue" | 
| 115 | android:textSize="18sp" /> | 115 | android:textSize="18sp" /> | 
| 116 | 116 | ||
| 117 | </LinearLayout> | 117 | </LinearLayout> | 
| 118 | 118 | ||
| 119 | <LinearLayout | 119 | <LinearLayout | 
| 120 | android:layout_width="match_parent" | 120 | android:layout_width="match_parent" | 
| 121 | android:layout_height="wrap_content" | 121 | android:layout_height="wrap_content" | 
| 122 | android:layout_marginLeft="20dp" | 122 | android:layout_marginLeft="20dp" | 
| 123 | android:layout_marginTop="20dp" | 123 | android:layout_marginTop="20dp" | 
| 124 | android:orientation="horizontal"> | 124 | android:orientation="horizontal"> | 
| 125 | 125 | ||
| 126 | <TextView | 126 | <TextView | 
| 127 | android:id="@+id/tv_username" | 127 | android:id="@+id/tv_username" | 
| 128 | android:layout_width="wrap_content" | 128 | android:layout_width="wrap_content" | 
| 129 | android:layout_height="wrap_content" | 129 | android:layout_height="wrap_content" | 
| 130 | android:text="姓名" | 130 | android:text="姓名" | 
| 131 | android:textSize="20dp" /> | 131 | android:textSize="20dp" /> | 
| 132 | 132 | ||
| 133 | <ImageView | 133 | <ImageView | 
| 134 | android:id="@+id/iv_sex" | 134 | android:id="@+id/iv_sex" | 
| 135 | android:layout_width="wrap_content" | 135 | android:layout_width="wrap_content" | 
| 136 | android:layout_height="wrap_content" | 136 | android:layout_height="wrap_content" | 
| 137 | android:layout_gravity="center_vertical" | ||
| 137 | android:layout_marginLeft="50dp" | 138 | android:layout_marginLeft="50dp" | 
| 138 | android:src="@mipmap/men" /> | 139 | android:src="@mipmap/men" /> | 
| 139 | 140 | ||
| 140 | </LinearLayout> | 141 | </LinearLayout> | 
| 141 | 142 | ||
| 142 | <LinearLayout | 143 | <LinearLayout | 
| 143 | android:layout_width="match_parent" | 144 | android:layout_width="match_parent" | 
| 144 | android:layout_height="wrap_content" | 145 | android:layout_height="wrap_content" | 
| 145 | android:layout_marginLeft="20dp" | 146 | android:layout_marginLeft="20dp" | 
| 146 | android:layout_marginTop="20dp" | 147 | android:layout_marginTop="20dp" | 
| 147 | android:gravity="center" | 148 | android:gravity="center" | 
| 148 | android:orientation="horizontal"> | 149 | android:orientation="horizontal"> | 
| 149 | 150 | ||
| 150 | <TextView | 151 | <TextView | 
| 151 | android:id="@+id/tv_sign" | 152 | android:id="@+id/tv_sign" | 
| 152 | android:layout_width="0dp" | 153 | android:layout_width="0dp" | 
| 153 | android:layout_height="wrap_content" | 154 | android:layout_height="wrap_content" | 
| 154 | android:layout_weight="5" | 155 | android:layout_weight="5" | 
| 155 | android:text="请输入个性签名" | 156 | android:text="请输入个性签名" | 
| 156 | android:textSize="18sp" /> | 157 | android:textSize="18sp" /> | 
| 157 | 158 | ||
| 158 | <ImageView | 159 | <ImageView | 
| 159 | android:id="@+id/iv_sign" | 160 | android:id="@+id/iv_sign" | 
| 160 | android:layout_width="0dp" | 161 | android:layout_width="0dp" | 
| 161 | android:layout_height="wrap_content" | 162 | android:layout_height="wrap_content" | 
| 162 | android:layout_weight="1" | 163 | android:layout_weight="1" | 
| 163 | android:padding="10dp" | 164 | android:padding="10dp" | 
| 164 | android:src="@mipmap/pencil" /> | 165 | android:src="@mipmap/pencil" /> | 
| 165 | 166 | ||
| 166 | 167 | ||
| 167 | </LinearLayout> | 168 | </LinearLayout> | 
| 168 | 169 | ||
| 169 | <View | 170 | <View | 
| 170 | android:layout_width="match_parent" | 171 | android:layout_width="match_parent" | 
| 171 | android:layout_height="0.7dp" | 172 | android:layout_height="0.7dp" | 
| 172 | android:layout_marginTop="20dp" | 173 | android:layout_marginTop="20dp" | 
| 173 | android:background="@color/cutoff_line"> | 174 | android:background="@color/cutoff_line"> | 
| 174 | 175 | ||
| 175 | </View> | 176 | </View> | 
| 176 | 177 | ||
| 177 | <LinearLayout | 178 | <LinearLayout | 
| 178 | android:id="@+id/linel_mycuoti" | 179 | android:id="@+id/linel_mycuoti" | 
| 179 | android:layout_width="match_parent" | 180 | android:layout_width="match_parent" | 
| 180 | android:layout_height="wrap_content" | 181 | android:layout_height="wrap_content" | 
| 181 | android:layout_marginTop="30dp" | 182 | android:layout_marginTop="30dp" | 
| 182 | android:orientation="vertical"> | 183 | android:orientation="vertical"> | 
| 183 | 184 | ||
| 184 | <LinearLayout | 185 | <LinearLayout | 
| 185 | android:layout_width="match_parent" | 186 | android:layout_width="match_parent" | 
| 186 | android:layout_height="wrap_content" | 187 | android:layout_height="wrap_content" | 
| 187 | android:gravity="center_vertical" | 188 | android:gravity="center_vertical" | 
| 188 | android:orientation="horizontal"> | 189 | android:orientation="horizontal"> | 
| 189 | 190 | ||
| 190 | <ImageView | 191 | <ImageView | 
| 191 | android:layout_width="0dp" | 192 | android:layout_width="0dp" | 
| 192 | android:layout_height="wrap_content" | 193 | android:layout_height="wrap_content" | 
| 193 | android:layout_weight="1" | 194 | android:layout_weight="1" | 
| 194 | android:src="@mipmap/wodecuoti" /> | 195 | android:src="@mipmap/wodecuoti" /> | 
| 195 | 196 | ||
| 196 | <TextView | 197 | <TextView | 
| 197 | android:layout_width="0dp" | 198 | android:layout_width="0dp" | 
| 198 | android:layout_height="wrap_content" | 199 | android:layout_height="wrap_content" | 
| 199 | android:layout_weight="5" | 200 | android:layout_weight="5" | 
| 200 | android:text="我的错题" | 201 | android:text="我的错题" | 
| 201 | android:textSize="20sp" /> | 202 | android:textSize="20sp" /> | 
| 202 | 203 | ||
| 203 | <ImageView | 204 | <ImageView | 
| 204 | android:layout_width="0dp" | 205 | android:layout_width="0dp" | 
| 205 | android:layout_height="wrap_content" | 206 | android:layout_height="wrap_content" | 
| 206 | android:layout_weight="1" | 207 | android:layout_weight="1" | 
| 207 | android:src="@mipmap/youjiantou" /> | 208 | android:src="@mipmap/youjiantou" /> | 
| 208 | 209 | ||
| 209 | </LinearLayout> | 210 | </LinearLayout> | 
| 210 | 211 | ||
| 211 | <LinearLayout | 212 | <LinearLayout | 
| 212 | android:id="@+id/linel_mynote" | 213 | android:id="@+id/linel_mynote" | 
| 213 | android:layout_width="match_parent" | 214 | android:layout_width="match_parent" | 
| 214 | android:layout_height="wrap_content" | 215 | android:layout_height="wrap_content" | 
| 215 | android:layout_marginTop="35dp" | 216 | android:layout_marginTop="35dp" | 
| 216 | android:gravity="center_vertical" | 217 | android:gravity="center_vertical" | 
| 217 | android:orientation="horizontal"> | 218 | android:orientation="horizontal"> | 
| 218 | 219 | ||
| 219 | <ImageView | 220 | <ImageView | 
| 220 | android:layout_width="0dp" | 221 | android:layout_width="0dp" | 
| 221 | android:layout_height="wrap_content" | 222 | android:layout_height="wrap_content" | 
| 222 | android:layout_weight="1" | 223 | android:layout_weight="1" | 
| 223 | android:src="@mipmap/wodebiji" /> | 224 | android:src="@mipmap/wodebiji" /> | 
| 224 | 225 | ||
| 225 | <TextView | 226 | <TextView | 
| 226 | android:layout_width="0dp" | 227 | android:layout_width="0dp" | 
| 227 | android:layout_height="wrap_content" | 228 | android:layout_height="wrap_content" | 
| 228 | android:layout_weight="5" | 229 | android:layout_weight="5" | 
| 229 | android:text="我的笔记" | 230 | android:text="我的笔记" | 
| 230 | android:textSize="20sp" /> | 231 | android:textSize="20sp" /> | 
| 231 | 232 | ||
| 232 | <ImageView | 233 | <ImageView | 
| 233 | android:layout_width="0dp" | 234 | android:layout_width="0dp" | 
| 234 | android:layout_height="wrap_content" | 235 | android:layout_height="wrap_content" | 
| 235 | android:layout_weight="1" | 236 | android:layout_weight="1" | 
| 236 | android:src="@mipmap/youjiantou" /> | 237 | android:src="@mipmap/youjiantou" /> | 
| 237 | 238 | ||
| 238 | </LinearLayout> | 239 | </LinearLayout> | 
| 239 | 240 | ||
| 240 | <LinearLayout | 241 | <LinearLayout | 
| 241 | android:id="@+id/linel_mycollege" | 242 | android:id="@+id/linel_mycollege" | 
| 242 | android:layout_width="match_parent" | 243 | android:layout_width="match_parent" | 
| 243 | android:layout_height="wrap_content" | 244 | android:layout_height="wrap_content" | 
| 244 | android:layout_marginTop="35dp" | 245 | android:layout_marginTop="35dp" | 
| 245 | android:gravity="center_vertical" | 246 | android:gravity="center_vertical" | 
| 246 | android:orientation="horizontal"> | 247 | android:orientation="horizontal"> | 
| 247 | 248 | ||
| 248 | <ImageView | 249 | <ImageView | 
| 249 | android:layout_width="0dp" | 250 | android:layout_width="0dp" | 
| 250 | android:layout_height="wrap_content" | 251 | android:layout_height="wrap_content" | 
| 251 | android:layout_weight="1" | 252 | android:layout_weight="1" | 
| 252 | android:src="@mipmap/wodeshoucang" /> | 253 | android:src="@mipmap/wodeshoucang" /> | 
| 253 | 254 | ||
| 254 | <TextView | 255 | <TextView | 
| 255 | android:layout_width="0dp" | 256 | android:layout_width="0dp" | 
| 256 | android:layout_height="wrap_content" | 257 | android:layout_height="wrap_content" | 
| 257 | android:layout_weight="5" | 258 | android:layout_weight="5" | 
| 258 | android:text="我的收藏" | 259 | android:text="我的收藏" | 
| 259 | android:textSize="20sp" /> | 260 | android:textSize="20sp" /> | 
| 260 | 261 | ||
| 261 | <ImageView | 262 | <ImageView | 
| 262 | android:layout_width="0dp" | 263 | android:layout_width="0dp" | 
| 263 | android:layout_height="wrap_content" | 264 | android:layout_height="wrap_content" | 
| 264 | android:layout_weight="1" | 265 | android:layout_weight="1" | 
| 265 | android:src="@mipmap/youjiantou" /> | 266 | android:src="@mipmap/youjiantou" /> | 
| 266 | 267 | ||
| 267 | </LinearLayout> | 268 | </LinearLayout> | 
| 268 | 269 | ||
| 269 | <LinearLayout | 270 | <LinearLayout | 
| 270 | android:id="@+id/linel_myclass" | 271 | android:id="@+id/linel_myclass" | 
| 271 | android:layout_width="match_parent" | 272 | android:layout_width="match_parent" | 
| 272 | android:layout_height="wrap_content" | 273 | android:layout_height="wrap_content" | 
| 273 | android:layout_marginTop="35dp" | 274 | android:layout_marginTop="35dp" | 
| 274 | android:gravity="center_vertical" | 275 | android:gravity="center_vertical" | 
| 275 | android:orientation="horizontal"> | 276 | android:orientation="horizontal"> | 
| 276 | 277 | ||
| 277 | <ImageView | 278 | <ImageView | 
| 278 | android:layout_width="0dp" | 279 | android:layout_width="0dp" | 
| 279 | android:layout_height="wrap_content" | 280 | android:layout_height="wrap_content" | 
| 280 | android:layout_weight="1" | 281 | android:layout_weight="1" | 
| 281 | android:src="@mipmap/wodebanji" /> | 282 | android:src="@mipmap/wodebanji" /> | 
| 282 | 283 | ||
| 283 | <TextView | 284 | <TextView | 
| 284 | android:layout_width="0dp" | 285 | android:layout_width="0dp" | 
| 285 | android:layout_height="wrap_content" | 286 | android:layout_height="wrap_content" | 
| 286 | android:layout_weight="5" | 287 | android:layout_weight="5" | 
| 287 | android:text="我的班级" | 288 | android:text="我的班级" | 
| 288 | android:textSize="20sp" /> | 289 | android:textSize="20sp" /> | 
| 289 | 290 | ||
| 290 | <ImageView | 291 | <ImageView | 
| 291 | android:layout_width="0dp" | 292 | android:layout_width="0dp" | 
| 292 | android:layout_height="wrap_content" | 293 | android:layout_height="wrap_content" | 
| 293 | android:layout_weight="1" | 294 | android:layout_weight="1" | 
| 294 | android:src="@mipmap/youjiantou" /> | 295 | android:src="@mipmap/youjiantou" /> | 
| 295 | 296 | ||
| 296 | </LinearLayout> | 297 | </LinearLayout> | 
| 297 | 298 | ||
| 298 | 299 | ||
| 299 | </LinearLayout> | 300 | </LinearLayout> | 
| 300 | 301 | ||
| 301 | <LinearLayout | 302 | <LinearLayout | 
| 302 | android:layout_width="match_parent" | 303 | android:layout_width="match_parent" | 
| 303 | android:layout_height="match_parent" | 304 | android:layout_height="match_parent" | 
| 304 | android:layout_marginTop="120dp" | 305 | android:layout_marginTop="120dp" | 
| 305 | android:background="@mipmap/xiaoguanggao"> | 306 | android:background="@mipmap/xiaoguanggao"> | 
| 306 | 307 | ||
| 307 | </LinearLayout> | 308 | </LinearLayout> | 
| 308 | 309 | ||
| 309 | 310 | ||
| 310 | </LinearLayout> | 311 | </LinearLayout> | 
| 311 | 312 | ||
| 312 | 313 | ||
| 313 | <View | 314 | <View | 
| 314 | android:layout_width="0.7dp" | 315 | android:layout_width="0.7dp" | 
| 315 | android:layout_height="match_parent" | 316 | android:layout_height="match_parent" | 
| 316 | android:background="@color/cutoff_line"> | 317 | android:background="@color/cutoff_line"> | 
| 317 | 318 | ||
| 318 | </View> | 319 | </View> | 
| 319 | 320 | ||
| 320 | <LinearLayout | 321 | <LinearLayout | 
| 321 | android:layout_width="0dp" | 322 | android:layout_width="0dp" | 
| 322 | android:layout_height="match_parent" | 323 | android:layout_height="match_parent" | 
| 323 | android:layout_weight="2.5" | 324 | android:layout_weight="2.5" | 
| 324 | android:orientation="vertical"> | 325 | android:orientation="vertical"> | 
| 325 | 326 | ||
| 326 | <LinearLayout | 327 | <LinearLayout | 
| 327 | android:layout_width="match_parent" | 328 | android:layout_width="match_parent" | 
| 328 | android:layout_height="wrap_content" | 329 | android:layout_height="wrap_content" | 
| 329 | android:layout_margin="20dp" | 330 | android:layout_margin="20dp" | 
| 330 | android:gravity="center_vertical" | 331 | android:gravity="center_vertical" | 
| 331 | android:orientation="horizontal"> | 332 | android:orientation="horizontal"> | 
| 332 | 333 | ||
| 333 | <View | 334 | <View | 
| 334 | android:layout_width="5dp" | 335 | android:layout_width="5dp" | 
| 335 | android:layout_height="20dp" | 336 | android:layout_height="20dp" | 
| 336 | android:background="@color/login_text_blue"> | 337 | android:background="@color/login_text_blue"> | 
| 337 | 338 | ||
| 338 | </View> | 339 | </View> | 
| 339 | 340 | ||
| 340 | <TextView | 341 | <TextView | 
| 341 | android:layout_width="wrap_content" | 342 | android:layout_width="wrap_content" | 
| 342 | android:layout_height="wrap_content" | 343 | android:layout_height="wrap_content" | 
| 343 | android:layout_marginLeft="5dp" | 344 | android:layout_marginLeft="5dp" | 
| 344 | android:text="最近学习" | 345 | android:text="最近学习" | 
| 345 | android:textSize="22sp" /> | 346 | android:textSize="22sp" /> | 
| 346 | 347 | ||
| 347 | </LinearLayout> | 348 | </LinearLayout> | 
| 348 | 349 | ||
| 349 | <LinearLayout | 350 | <LinearLayout | 
| 350 | android:layout_width="match_parent" | 351 | android:layout_width="match_parent" | 
| 351 | android:layout_height="wrap_content"> | 352 | android:layout_height="wrap_content"> | 
| 352 | 353 | ||
| 353 | <android.support.v7.widget.RecyclerView | 354 | <android.support.v7.widget.RecyclerView | 
| 354 | android:id="@+id/id_recyclerview_horizontal" | 355 | android:id="@+id/id_recyclerview_horizontal" | 
| 355 | android:layout_width="match_parent" | 356 | android:layout_width="match_parent" | 
| 356 | android:layout_height="match_parent" | 357 | android:layout_height="match_parent" | 
| 357 | android:layout_centerVertical="true" | 358 | android:layout_centerVertical="true" | 
| 358 | android:scrollbars="none" /> | 359 | android:scrollbars="none" /> | 
| 359 | </LinearLayout> | 360 | </LinearLayout> | 
| 360 | 361 | ||
| 361 | <View | 362 | <View | 
| 362 | android:layout_width="match_parent" | 363 | android:layout_width="match_parent" | 
| 363 | android:layout_height="0.7dp" | 364 | android:layout_height="0.7dp" | 
| 364 | android:background="@color/cutoff_line"> | 365 | android:background="@color/cutoff_line"> | 
| 365 | 366 | ||
| 366 | </View> | 367 | </View> | 
| 367 | 368 | ||
| 368 | <LinearLayout | 369 | <LinearLayout | 
| 369 | android:layout_width="match_parent" | 370 | android:layout_width="match_parent" | 
| 370 | android:layout_height="wrap_content" | 371 | android:layout_height="wrap_content" | 
| 371 | android:layout_margin="20dp" | 372 | android:layout_margin="20dp" | 
| 372 | android:gravity="center_vertical" | 373 | android:gravity="center_vertical" | 
| 373 | android:orientation="horizontal"> | 374 | android:orientation="horizontal"> | 
| 374 | 375 | ||
| 375 | <View | 376 | <View | 
| 376 | android:layout_width="5dp" | 377 | android:layout_width="5dp" | 
| 377 | android:layout_height="20dp" | 378 | android:layout_height="20dp" | 
| 378 | android:background="@color/login_text_blue"> | 379 | android:background="@color/login_text_blue"> | 
| 379 | 380 | ||
| 380 | </View> | 381 | </View> | 
| 381 | 382 | ||
| 382 | <TextView | 383 | <TextView | 
| 383 | android:layout_width="0dp" | 384 | android:layout_width="0dp" | 
| 384 | android:layout_height="wrap_content" | 385 | android:layout_height="wrap_content" | 
| 385 | android:layout_marginLeft="5dp" | 386 | android:layout_marginLeft="5dp" | 
| 386 | android:layout_weight="2" | 387 | android:layout_weight="5" | 
| 387 | android:text="个人信息" | 388 | android:text="个人信息" | 
| 388 | android:textSize="22sp" /> | 389 | android:textSize="22sp" /> | 
| 389 | 390 | ||
| 390 | <TextView | 391 | <TextView | 
| 391 | android:id="@+id/tv_edit_presoninfo" | 392 | android:id="@+id/tv_edit_presoninfo" | 
| 392 | android:padding="5dp" | 393 | android:padding="5dp" | 
| 393 | android:layout_width="0dp" | 394 | android:layout_width="0dp" | 
| 394 | android:layout_height="wrap_content" | 395 | android:layout_height="wrap_content" | 
| 395 | android:layout_marginLeft="10dp" | 396 | android:layout_marginLeft="10dp" | 
| 396 | android:layout_weight="0.2" | 397 | android:layout_weight="0.4" | 
| 397 | android:text="编辑" | 398 | android:text="编辑" | 
| 398 | android:textSize="18sp" /> | 399 | android:textSize="18sp" /> | 
| 399 | 400 | ||
| 400 | <ImageView | 401 | <ImageView | 
| 401 | android:layout_width="0dp" | 402 | android:layout_width="0dp" | 
| 402 | android:layout_height="wrap_content" | 403 | android:layout_height="wrap_content" | 
| 403 | android:layout_weight="0.1" | 404 | android:layout_weight="0.1" | 
| 404 | 405 | ||
| 405 | android:src="@mipmap/youjiantou" /> | 406 | android:src="@mipmap/youjiantou" /> | 
| 406 | 407 | ||
| 407 | 408 | ||
| 408 | </LinearLayout> | 409 | </LinearLayout> | 
| 409 | 410 | ||
| 410 | <LinearLayout | 411 | <LinearLayout | 
| 411 | android:layout_width="match_parent" | 412 | android:layout_width="match_parent" | 
| 412 | android:layout_height="wrap_content" | 413 | android:layout_height="wrap_content" | 
| 413 | android:layout_marginLeft="50dp" | 414 | android:layout_marginLeft="50dp" | 
| 414 | android:layout_marginTop="10dp" | 415 | android:layout_marginTop="10dp" | 
| 415 | android:orientation="vertical"> | 416 | android:orientation="vertical"> | 
| 416 | 417 | ||
| 417 | <LinearLayout | 418 | <LinearLayout | 
| 418 | android:layout_width="match_parent" | 419 | android:layout_width="match_parent" | 
| 419 | android:layout_height="wrap_content" | 420 | android:layout_height="wrap_content" | 
| 420 | android:gravity="center_vertical" | 421 | android:gravity="center_vertical" | 
| 421 | android:orientation="horizontal"> | 422 | android:orientation="horizontal"> | 
| 422 | 423 | ||
| 423 | <TextView | 424 | <TextView | 
| 424 | android:layout_width="0dp" | 425 | android:layout_width="0dp" | 
| 425 | android:layout_height="wrap_content" | 426 | android:layout_height="wrap_content" | 
| 426 | android:layout_weight="1" | 427 | android:layout_weight="1" | 
| 427 | android:text="昵称" | 428 | android:text="昵称" | 
| 428 | android:textSize="20sp" /> | 429 | android:textSize="20sp" /> | 
| 429 | 430 | ||
| 430 | <TextView | 431 | <TextView | 
| 431 | android:id="@+id/tv_username1" | 432 | android:id="@+id/tv_username1" | 
| 432 | android:layout_width="0dp" | 433 | android:layout_width="0dp" | 
| 433 | android:layout_height="wrap_content" | 434 | android:layout_height="wrap_content" | 
| 434 | android:layout_weight="2" | 435 | android:layout_weight="2" | 
| 435 | android:hint="未填写" | 436 | android:hint="未填写" | 
| 436 | android:textSize="20sp" /> | 437 | android:textSize="20sp" /> | 
| 437 | 438 | ||
| 438 | <TextView | 439 | <TextView | 
| 439 | android:layout_width="1dp" | 440 | android:layout_width="1dp" | 
| 440 | android:layout_height="wrap_content" | 441 | android:layout_height="wrap_content" | 
| 441 | android:layout_weight="1" | 442 | android:layout_weight="1" | 
| 442 | android:text="星座" | 443 | android:text="星座" | 
| 443 | android:textSize="20sp" /> | 444 | android:textSize="20sp" /> | 
| 444 | 445 | ||
| 445 | <TextView | 446 | <TextView | 
| 446 | android:id="@+id/tv_mygad" | 447 | android:id="@+id/tv_mygad" | 
| 447 | android:layout_width="0dp" | 448 | android:layout_width="0dp" | 
| 448 | android:layout_height="wrap_content" | 449 | android:layout_height="wrap_content" | 
| 449 | android:layout_weight="2" | 450 | android:layout_weight="2" | 
| 450 | android:hint="未填写" | 451 | android:hint="未填写" | 
| 451 | android:textSize="20sp" /> | 452 | android:textSize="20sp" /> | 
| 452 | </LinearLayout> | 453 | </LinearLayout> | 
| 453 | 454 | ||
| 454 | <LinearLayout | 455 | <LinearLayout | 
| 455 | android:layout_width="match_parent" | 456 | android:layout_width="match_parent" | 
| 456 | android:layout_height="wrap_content" | 457 | android:layout_height="wrap_content" | 
| 457 | android:layout_marginTop="20dp" | 458 | android:layout_marginTop="20dp" | 
| 458 | android:gravity="center_vertical" | 459 | android:gravity="center_vertical" | 
| 459 | android:orientation="horizontal"> | 460 | android:orientation="horizontal"> | 
| 460 | 461 | ||
| 461 | <TextView | 462 | <TextView | 
| 462 | android:layout_width="0dp" | 463 | android:layout_width="0dp" | 
| 463 | android:layout_height="wrap_content" | 464 | android:layout_height="wrap_content" | 
| 464 | android:layout_weight="1" | 465 | android:layout_weight="1" | 
| 465 | android:text="性别" | 466 | android:text="性别" | 
| 466 | android:textSize="20sp" /> | 467 | android:textSize="20sp" /> | 
| 467 | 468 | ||
| 468 | <TextView | 469 | <TextView | 
| 469 | android:id="@+id/tv_sex" | 470 | android:id="@+id/tv_sex" | 
| 470 | android:layout_width="0dp" | 471 | android:layout_width="0dp" | 
| 471 | android:layout_height="wrap_content" | 472 | android:layout_height="wrap_content" | 
| 472 | android:layout_weight="2" | 473 | android:layout_weight="2" | 
| 473 | android:hint="未填写" | 474 | android:hint="未填写" | 
| 474 | android:textSize="20sp" /> | 475 | android:textSize="20sp" /> | 
| 475 | 476 | ||
| 476 | <TextView | 477 | <TextView | 
| 477 | android:layout_width="1dp" | 478 | android:layout_width="1dp" | 
| 478 | android:layout_height="wrap_content" | 479 | android:layout_height="wrap_content" | 
| 479 | android:layout_weight="1" | 480 | android:layout_weight="1" | 
| 480 | android:text="地区" | 481 | android:text="地区" | 
| 481 | android:textSize="20sp" /> | 482 | android:textSize="20sp" /> | 
| 482 | 483 | ||
| 483 | <TextView | 484 | <TextView | 
| 484 | android:id="@+id/tv_useinfo_adress" | 485 | android:id="@+id/tv_useinfo_adress" | 
| 485 | android:layout_width="0dp" | 486 | android:layout_width="0dp" | 
| 486 | android:layout_height="wrap_content" | 487 | android:layout_height="wrap_content" | 
| 487 | android:layout_weight="2" | 488 | android:layout_weight="2" | 
| 488 | android:hint="未填写" | 489 | android:hint="未填写" | 
| 489 | android:textSize="20sp" /> | 490 | android:textSize="20sp" /> | 
| 490 | </LinearLayout> | 491 | </LinearLayout> | 
| 491 | 492 | ||
| 492 | <LinearLayout | 493 | <LinearLayout | 
| 493 | android:layout_width="match_parent" | 494 | android:layout_width="match_parent" | 
| 494 | android:layout_height="wrap_content" | 495 | android:layout_height="wrap_content" | 
| 495 | android:layout_marginTop="20dp" | 496 | android:layout_marginTop="20dp" | 
| 496 | android:gravity="center_vertical" | 497 | android:gravity="center_vertical" | 
| 497 | android:orientation="horizontal"> | 498 | android:orientation="horizontal"> | 
| 498 | 499 | ||
| 499 | <TextView | 500 | <TextView | 
| 500 | android:layout_width="0dp" | 501 | android:layout_width="0dp" | 
| 501 | android:layout_height="wrap_content" | 502 | android:layout_height="wrap_content" | 
| 502 | android:layout_weight="1" | 503 | android:layout_weight="1" | 
| 503 | android:text="生日" | 504 | android:text="生日" | 
| 504 | android:textSize="20sp" /> | 505 | android:textSize="20sp" /> | 
| 505 | 506 | ||
| 506 | <TextView | 507 | <TextView | 
| 507 | android:id="@+id/tv_useinfo_birthday" | 508 | android:id="@+id/tv_useinfo_birthday" | 
| 508 | android:layout_width="0dp" | 509 | android:layout_width="0dp" | 
| 509 | android:layout_height="wrap_content" | 510 | android:layout_height="wrap_content" | 
| 510 | android:layout_weight="2" | 511 | android:layout_weight="2" | 
| 511 | android:hint="未填写" | 512 | android:hint="未填写" | 
| 512 | android:textSize="20sp" /> | 513 | android:textSize="20sp" /> | 
| 513 | 514 | ||
| 514 | <TextView | 515 | <TextView | 
| 515 | android:layout_width="1dp" | 516 | android:layout_width="1dp" | 
| 516 | android:layout_height="wrap_content" | 517 | android:layout_height="wrap_content" | 
| 517 | android:layout_weight="1" | 518 | android:layout_weight="1" | 
| 518 | android:text="学校" | 519 | android:text="学校" | 
| 519 | android:textSize="20sp" /> | 520 | android:textSize="20sp" /> | 
| 520 | 521 | ||
| 521 | <TextView | 522 | <TextView | 
| 522 | android:id="@+id/tv_useinfo_school" | 523 | android:id="@+id/tv_useinfo_school" | 
| 523 | android:layout_width="0dp" | 524 | android:layout_width="0dp" | 
| 524 | android:layout_height="wrap_content" | 525 | android:layout_height="wrap_content" | 
| 525 | android:layout_weight="2" | 526 | android:layout_weight="2" | 
| 526 | android:hint="未填写" | 527 | android:hint="未填写" | 
| 527 | android:textSize="20sp" /> | 528 | android:textSize="20sp" /> | 
| 528 | </LinearLayout> | 529 | </LinearLayout> | 
| 529 | 530 | ||
| 530 | <LinearLayout | 531 | <LinearLayout | 
| 531 | android:layout_width="match_parent" | 532 | android:layout_width="match_parent" | 
| 532 | android:layout_height="wrap_content" | 533 | android:layout_height="wrap_content" | 
| 533 | android:layout_marginTop="20dp" | 534 | android:layout_marginTop="20dp" | 
| 534 | android:gravity="center_vertical" | 535 | android:gravity="center_vertical" | 
| 535 | android:orientation="horizontal"> | 536 | android:orientation="horizontal"> | 
| 536 | 537 | ||
| 537 | <TextView | 538 | <TextView | 
| 538 | android:layout_width="0dp" | 539 | android:layout_width="0dp" | 
| 539 | android:layout_height="wrap_content" | 540 | android:layout_height="wrap_content" | 
| 540 | android:layout_weight="1" | 541 | android:layout_weight="1" | 
| 541 | android:text="Q Q" | 542 | android:text=" Q Q" | 
| 542 | android:textSize="20sp" /> | 543 | android:textSize="20sp" /> | 
| 543 | 544 | ||
| 544 | <TextView | 545 | <TextView | 
| 545 | android:id="@+id/tv_useinfo_qq" | 546 | android:id="@+id/tv_useinfo_qq" | 
| 546 | android:layout_width="0dp" | 547 | android:layout_width="0dp" | 
| 547 | android:layout_height="wrap_content" | 548 | android:layout_height="wrap_content" | 
| 548 | android:layout_weight="2" | 549 | android:layout_weight="2" | 
| 549 | android:hint="未填写" | 550 | android:hint="未填写" | 
| 550 | android:textSize="20sp" /> | 551 | android:textSize="20sp" /> | 
| 551 | 552 | ||
| 552 | <TextView | 553 | <TextView | 
| 553 | android:layout_width="1dp" | 554 | android:layout_width="1dp" | 
| 554 | android:layout_height="wrap_content" | 555 | android:layout_height="wrap_content" | 
| 555 | android:layout_weight="1" | 556 | android:layout_weight="1" | 
| 556 | android:text="年级" | 557 | android:text="年级" | 
| 557 | android:textSize="20sp" /> | 558 | android:textSize="20sp" /> | 
| 558 | 559 | ||
| 559 | <TextView | 560 | <TextView | 
| 560 | android:id="@+id/tv_useinfo_gender" | 561 | android:id="@+id/tv_useinfo_gender" | 
| 561 | android:layout_width="0dp" | 562 | android:layout_width="0dp" | 
| 562 | android:layout_height="wrap_content" | 563 | android:layout_height="wrap_content" | 
| 563 | android:layout_weight="2" | 564 | android:layout_weight="2" | 
| 564 | android:hint="未填写" | 565 | android:hint="未填写" | 
| 565 | android:textSize="20sp" /> | 566 | android:textSize="20sp" /> | 
| 566 | </LinearLayout> | 567 | </LinearLayout> | 
| 567 | 568 | ||
| 568 | 569 | ||
| 569 | </LinearLayout> | 570 | </LinearLayout> | 
| 570 | <View | 571 | <View | 
| 571 | android:layout_width="match_parent" | 572 | android:layout_width="match_parent" | 
| 572 | android:layout_height="0.7dp" | 573 | android:layout_height="0.7dp" | 
| 573 | android:layout_marginTop="20dp" | 574 | android:layout_marginTop="20dp" | 
| 574 | android:background="@color/cutoff_line"> | 575 | android:background="@color/cutoff_line"> | 
| 575 | 576 | ||
| 576 | </View> | 577 | </View> | 
| 577 | <LinearLayout | 578 | <LinearLayout | 
| 578 | android:layout_width="match_parent" | 579 | android:layout_width="match_parent" | 
| 579 | android:layout_height="wrap_content" | 580 | android:layout_height="wrap_content" | 
| 580 | android:layout_margin="20dp" | 581 | android:layout_margin="20dp" | 
| 581 | android:gravity="center_vertical" | 582 | android:gravity="center_vertical" | 
| 582 | android:orientation="horizontal"> | 583 | android:orientation="horizontal"> | 
| 583 | 584 | ||
| 584 | <View | 585 | <View | 
| 585 | android:layout_width="5dp" | 586 | android:layout_width="5dp" | 
| 586 | android:layout_height="20dp" | 587 | android:layout_height="20dp" | 
| 587 | android:background="@color/login_text_blue"> | 588 | android:background="@color/login_text_blue"> | 
| 588 | 589 | ||
| 589 | </View> | 590 | </View> | 
| 590 | 591 | ||
| 591 | <TextView | 592 | <TextView | 
| 592 | android:layout_width="wrap_content" | 593 | android:layout_width="wrap_content" | 
| 593 | android:layout_height="wrap_content" | 594 | android:layout_height="wrap_content" | 
| 594 | android:layout_marginLeft="5dp" | 595 | android:layout_marginLeft="5dp" | 
| 595 | android:text="版本信息" | 596 | android:text="版本信息" | 
| 596 | android:textSize="22sp" /> | 597 | android:textSize="22sp" /> | 
| 597 | 598 | ||
| 598 | </LinearLayout> | 599 | </LinearLayout> | 
| 599 | 600 | ||
| 600 | <LinearLayout | 601 | <LinearLayout | 
| 601 | android:layout_width="match_parent" | 602 | android:layout_width="match_parent" | 
| 602 | android:layout_height="wrap_content" | 603 | android:layout_height="wrap_content" | 
| 603 | android:layout_marginTop="20dp"> | 604 | android:layout_marginTop="20dp"> | 
| 604 | 605 | ||
| 605 | <TextView | 606 | <TextView | 
| 606 | android:layout_width="match_parent" | 607 | android:layout_width="match_parent" | 
| 607 | android:layout_height="100dp" | 608 | android:layout_height="100dp" | 
| 608 | android:layout_marginLeft="20dp" | 609 | android:layout_marginLeft="20dp" | 
| 609 | android:layout_marginTop="10dp" | 610 | android:layout_marginTop="10dp" | 
| 610 | android:gravity="center" | 611 | android:gravity="center" | 
| 611 | android:text="这里需要显示水平滑动的" /> | 612 | android:text="这里需要显示水平滑动的" /> | 
| 612 | </LinearLayout> | 613 | </LinearLayout> | 
| 613 | 614 | ||
| 614 | 615 | ||
| 615 | </LinearLayout> | 616 | </LinearLayout> | 
| 616 | 617 | ||
| 617 | 618 | ||
| 618 | </LinearLayout> | 619 | </LinearLayout> | 
| 619 | 620 | ||
| 620 | 621 | ||
| 621 | </LinearLayout> | 622 | </LinearLayout> | 
| 622 | 623 | 
PersonalCenter/app/src/main/res/layout/fragment_changge_version_info_itmes.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 | xmlns:fresco="http://schemas.android.com/apk/res-auto" | ||
| 3 | android:orientation="vertical" | 4 | android:orientation="vertical" | 
| 4 | android:layout_width="match_parent" | 5 | android:layout_width="match_parent" | 
| 5 | android:layout_height="match_parent" | 6 | android:layout_height="match_parent" | 
| 6 | android:gravity="center"> | 7 | android:gravity="center"> | 
| 7 | 8 | ||
| 8 | 9 | ||
| 9 | <ImageView | 10 | <com.facebook.drawee.view.SimpleDraweeView | 
| 10 | android:src="@mipmap/ic_launcher" | 11 | android:id="@+id/image_publish" | 
| 11 | android:id="@+id/image" | ||
| 12 | android:layout_width="100dp" | 12 | android:layout_width="100dp" | 
| 13 | android:background="@drawable/corcle_black_bg" | ||
| 14 | android:layout_height="150dp" | 13 | android:layout_height="150dp" | 
| 14 | android:layout_gravity="center" | ||
| 15 | android:background="@drawable/corcle_black_bg" | ||
| 16 | fresco:placeholderImage="@mipmap/header_default" | ||
| 17 | fresco:roundAsCircle="true" | ||
| 18 | fresco:placeholderImageScaleType="fitCenter" /> | ||
| 15 | 19 | ||
| 16 | /> | ||
| 17 | <TextView | 20 | <TextView | 
| 18 | android:id="@+id/text" | 21 | android:id="@+id/subject" | 
| 19 | android:layout_marginTop="5dp" | 22 | android:layout_marginTop="5dp" | 
| 20 | android:textSize="22sp" | 23 | android:textSize="22sp" | 
| 21 | android:layout_width="wrap_content" | 24 | android:layout_width="wrap_content" | 
| 22 | android:layout_height="wrap_content" | 25 | android:layout_height="wrap_content" | 
| 23 | android:textColor="@color/login_text_black" | 26 | android:textColor="@color/login_text_black" | 
| 24 | android:text="" | 27 | android:text="" | 
| 25 | /> | 28 | /> | 
| 26 | <TextView | 29 | <TextView | 
| 27 | android:id="@+id/tv_publish" | 30 | android:id="@+id/tv_publish" | 
| 28 | android:layout_marginTop="10dp" | 31 | android:layout_marginTop="10dp" | 
| 29 | android:textSize="18sp" | 32 | android:textSize="18sp" | 
| 30 | android:layout_width="wrap_content" | 33 | android:layout_width="wrap_content" | 
| 31 | android:layout_height="wrap_content" | 34 | android:layout_height="wrap_content" | 
| 32 | android:textColor="@color/login_text_black" | 35 | android:textColor="@color/login_text_black" | 
| 33 | android:text="人民教育出版社" | 36 | android:text="" | 
PersonalCenter/app/src/main/res/values/styles.xml
| 1 | <resources> | 1 | <resources> | 
| 2 | 2 | ||
| 3 | <!-- Base application theme. --> | 3 | <!-- Base application theme. --> | 
| 4 | <style name="AppTheme" parent="Theme.AppCompat"> | 4 | <style name="AppTheme" parent="Theme.AppCompat"> | 
| 5 | <!-- Customize your theme here. --> | 5 | <!-- Customize your theme here. --> | 
| 6 | <item name="colorPrimary">@color/colorPrimary</item> | 6 | <item name="colorPrimary">@color/colorPrimary</item> | 
| 7 | <item name="colorPrimaryDark">@color/colorPrimaryDark</item> | 7 | <item name="colorPrimaryDark">@color/colorPrimaryDark</item> | 
| 8 | <item name="colorAccent">@color/colorAccent</item> | 8 | <item name="colorAccent">@color/colorAccent</item> | 
| 9 | </style> | 9 | </style> | 
| 10 | 10 | ||
| 11 | <style name="login_register_edit_style"> | 11 | <style name="login_register_edit_style"> | 
| 12 | <item name="android:textSize">19sp</item> | 12 | <item name="android:textSize">19sp</item> | 
| 13 | <item name="android:singleLine">true</item> | 13 | <item name="android:singleLine">true</item> | 
| 14 | <item name="android:background">@drawable/selector_edittext_bg</item> | 14 | <item name="android:background">@drawable/selector_edittext_bg</item> | 
| 15 | <item name="android:layout_width">match_parent</item> | 15 | <item name="android:layout_width">match_parent</item> | 
| 16 | <item name="android:layout_height">wrap_content</item> | 16 | <item name="android:layout_height">wrap_content</item> | 
| 17 | <item name="android:textColorHint">@color/login_edittext_hint</item> | 17 | <item name="android:textColorHint">@color/login_edittext_hint</item> | 
| 18 | <item name="android:padding">10dp</item> | 18 | <item name="android:padding">10dp</item> | 
| 19 | </style> | 19 | </style> | 
| 20 | 20 | ||
| 21 | <style name="login_register_edit_rect_style"> | 21 | <style name="login_register_edit_rect_style"> | 
| 22 | <item name="android:textSize">19sp</item> | 22 | <item name="android:textSize">19sp</item> | 
| 23 | <item name="android:singleLine">true</item> | 23 | <item name="android:singleLine">true</item> | 
| 24 | <item name="android:background">@drawable/selector_edittext_rect_bg</item> | 24 | <item name="android:background">@drawable/selector_edittext_rect_bg</item> | 
| 25 | <item name="android:layout_width">match_parent</item> | 25 | <item name="android:layout_width">match_parent</item> | 
| 26 | <item name="android:layout_height">wrap_content</item> | 26 | <item name="android:layout_height">wrap_content</item> | 
| 27 | <item name="android:textColorHint">@color/login_edittext_hint</item> | 27 | <item name="android:textColorHint">@color/login_edittext_hint</item> | 
| 28 | <item name="android:padding">10dp</item> | 28 | <item name="android:padding">10dp</item> | 
| 29 | </style> | 29 | </style> | 
| 30 | 30 | ||
| 31 | <style name="login_register_btn_authcode_rect_style"> | 31 | <style name="login_register_btn_authcode_rect_style"> | 
| 32 | <item name="android:textSize">19sp</item> | 32 | <item name="android:textSize">19sp</item> | 
| 33 | <item name="android:singleLine">true</item> | 33 | <item name="android:singleLine">true</item> | 
| 34 | <item name="android:background">@drawable/btn_rect_normal</item> | 34 | <item name="android:background">@drawable/btn_rect_normal</item> | 
| 35 | <item name="android:layout_width">match_parent</item> | 35 | <item name="android:layout_width">match_parent</item> | 
| 36 | <item name="android:layout_height">wrap_content</item> | 36 | <item name="android:layout_height">wrap_content</item> | 
| 37 | <item name="android:textColorHint">@color/login_edittext_hint</item> | 37 | <item name="android:textColorHint">@color/login_edittext_hint</item> | 
| 38 | <item name="android:padding">10dp</item> | 38 | <item name="android:padding">10dp</item> | 
| 39 | </style> | 39 | </style> | 
| 40 | <style name="text_login_register_style" > | 40 | <style name="text_login_register_style" > | 
| 41 | <item name="android:layout_width">wrap_content</item> | 41 | <item name="android:layout_width">wrap_content</item> | 
| 42 | <item name="android:layout_height">wrap_content</item> | 42 | <item name="android:layout_height">wrap_content</item> | 
| 43 | <item name="android:textSize">22sp</item> | 43 | <item name="android:textSize">22sp</item> | 
| 44 | <item name="android:gravity">center</item> | 44 | <item name="android:gravity">center</item> | 
| 45 | <item name="android:padding">10dp</item> | 45 | <item name="android:padding">10dp</item> | 
| 46 | </style> | 46 | </style> | 
| 47 | <style name="button_login_register_style"> | 47 | <style name="button_login_register_style"> | 
| 48 | <item name="android:layout_width">match_parent</item> | 48 | <item name="android:layout_width">match_parent</item> | 
| 49 | <item name="android:layout_height">wrap_content</item> | 49 | <item name="android:layout_height">wrap_content</item> | 
| 50 | <item name="android:background">@drawable/selector_blue_btn_bg</item> | 50 | <item name="android:background">@drawable/selector_blue_btn_bg</item> | 
| 51 | <item name="android:textSize">23sp</item> | 51 | <item name="android:textSize">23sp</item> | 
| 52 | |||
| 52 | <item name="android:gravity">center</item> | 53 | <item name="android:gravity">center</item> | 
| 53 | <item name="android:padding">10dp</item> | 54 | <item name="android:padding">10dp</item> | 
| 54 | <item name="android:textColor">@android:color/white</item> | 55 | <item name="android:textColor">@android:color/white</item> | 
| 55 | </style> | 56 | </style> | 
| 56 | <style name="text_forget_pwd_style" > | 57 | <style name="text_forget_pwd_style" > | 
| 57 | <item name="android:layout_width">wrap_content</item> | 58 | <item name="android:layout_width">wrap_content</item> | 
| 58 | <item name="android:layout_height">wrap_content</item> | 59 | <item name="android:layout_height">wrap_content</item> | 
| 59 | <item name="android:textSize">18sp</item> | 60 | <item name="android:textSize">18sp</item> | 
| 60 | <item name="android:gravity">center</item> | 61 | <item name="android:gravity">center</item> | 
| 61 | <item name="android:padding">8dp</item> | 62 | <item name="android:padding">8dp</item> | 
| 62 | </style> | 63 | </style> | 
| 63 | <style name="registererrhint_style"> | 64 | <style name="registererrhint_style"> | 
| 64 | <item name="android:textSize">14dip</item> | 65 | <item name="android:textSize">14dip</item> | 
| 65 | <item name="android:layout_width">match_parent</item> | 66 | <item name="android:layout_width">match_parent</item> | 
| 66 | <item name="android:layout_height">wrap_content</item> | 67 | <item name="android:layout_height">wrap_content</item> | 
| 67 | <item name="android:textColor">@color/error_hint</item> | 68 | <item name="android:textColor">@color/error_hint</item> | 
| 68 | <item name="android:layout_marginTop">5dip</item> | 69 | <item name="android:layout_marginTop">5dip</item> | 
| 69 | </style> | 70 | </style> | 
| 70 | <style name="iv_pwd_change_style"> | 71 | <style name="iv_pwd_change_style"> | 
| 71 | <item name="android:layout_width">wrap_content</item> | 72 | <item name="android:layout_width">wrap_content</item> | 
| 72 | <item name="android:layout_height">wrap_content</item> | 73 | <item name="android:layout_height">wrap_content</item> | 
| 73 | <item name="android:background">@mipmap/pwd_hide</item> | 74 | <item name="android:background">@mipmap/pwd_hide</item> | 
| 74 | <item name="android:layout_alignParentRight">true</item> | 75 | <item name="android:layout_alignParentRight">true</item> | 
| 75 | <item name="android:layout_centerVertical">true</item> | 76 | <item name="android:layout_centerVertical">true</item> | 
| 76 | <item name="android:layout_marginRight">15dp</item> | 77 | <item name="android:layout_marginRight">15dp</item> | 
| 77 | </style> | 78 | </style> | 
| 78 | <style name="dialogWindowAnim" parent="android:Animation" mce_bogus="1"> | 79 | <style name="dialogWindowAnim" parent="android:Animation" mce_bogus="1"> | 
| 79 | <item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item> | 80 | <item name="android:windowEnterAnimation">@anim/dialog_enter_anim</item> | 
| 80 | <item name="android:windowExitAnimation">@anim/dialog_exit_anim</item> | 81 | <item name="android:windowExitAnimation">@anim/dialog_exit_anim</item> | 
| 81 | </style> | 82 | </style> | 
| 82 | 83 | ||
| 83 | 84 | ||
| 84 | 85 | ||
| 85 | 86 | ||
| 86 | </resources> | 87 | </resources> | 
| 87 | 88 | 
PersonalCenter/circledialog/src/main/java/com/mylhyl/circledialog/CircleDialog.java
| 1 | package com.mylhyl.circledialog; | 1 | package com.mylhyl.circledialog; | 
| 2 | 2 | ||
| 3 | import android.support.annotation.ColorInt; | 3 | import android.support.annotation.ColorInt; | 
| 4 | import android.support.annotation.DrawableRes; | 4 | import android.support.annotation.DrawableRes; | 
| 5 | import android.support.annotation.FloatRange; | 5 | import android.support.annotation.FloatRange; | 
| 6 | import android.support.annotation.NonNull; | 6 | import android.support.annotation.NonNull; | 
| 7 | import android.support.v4.app.DialogFragment; | 7 | import android.support.v4.app.DialogFragment; | 
| 8 | import android.support.v4.app.FragmentActivity; | 8 | import android.support.v4.app.FragmentActivity; | 
| 9 | import android.view.Gravity; | 9 | import android.view.Gravity; | 
| 10 | import android.view.View; | 10 | import android.view.View; | 
| 11 | import android.widget.AdapterView; | 11 | import android.widget.AdapterView; | 
| 12 | 12 | ||
| 13 | import com.mylhyl.circledialog.callback.ConfigButton; | 13 | import com.mylhyl.circledialog.callback.ConfigButton; | 
| 14 | import com.mylhyl.circledialog.callback.ConfigDialog; | 14 | import com.mylhyl.circledialog.callback.ConfigDialog; | 
| 15 | import com.mylhyl.circledialog.callback.ConfigInput; | 15 | import com.mylhyl.circledialog.callback.ConfigInput; | 
| 16 | import com.mylhyl.circledialog.callback.ConfigItems; | 16 | import com.mylhyl.circledialog.callback.ConfigItems; | 
| 17 | import com.mylhyl.circledialog.callback.ConfigProgress; | 17 | import com.mylhyl.circledialog.callback.ConfigProgress; | 
| 18 | import com.mylhyl.circledialog.callback.ConfigText; | 18 | import com.mylhyl.circledialog.callback.ConfigText; | 
| 19 | import com.mylhyl.circledialog.callback.ConfigTitle; | 19 | import com.mylhyl.circledialog.callback.ConfigTitle; | 
| 20 | import com.mylhyl.circledialog.params.ButtonParams; | 20 | import com.mylhyl.circledialog.params.ButtonParams; | 
| 21 | import com.mylhyl.circledialog.params.CircleParams; | 21 | import com.mylhyl.circledialog.params.CircleParams; | 
| 22 | import com.mylhyl.circledialog.params.DialogParams; | 22 | import com.mylhyl.circledialog.params.DialogParams; | 
| 23 | import com.mylhyl.circledialog.params.InputParams; | 23 | import com.mylhyl.circledialog.params.InputParams; | 
| 24 | import com.mylhyl.circledialog.params.ItemsParams; | 24 | import com.mylhyl.circledialog.params.ItemsParams; | 
| 25 | import com.mylhyl.circledialog.params.ProgressParams; | 25 | import com.mylhyl.circledialog.params.ProgressParams; | 
| 26 | import com.mylhyl.circledialog.params.TextParams; | 26 | import com.mylhyl.circledialog.params.TextParams; | 
| 27 | import com.mylhyl.circledialog.params.TitleParams; | 27 | import com.mylhyl.circledialog.params.TitleParams; | 
| 28 | import com.mylhyl.circledialog.view.listener.OnInputClickListener; | 28 | import com.mylhyl.circledialog.view.listener.OnInputClickListener; | 
| 29 | 29 | ||
| 30 | /** | 30 | /** | 
| 31 | * Created by hupei on 2017/3/29. | 31 | * Created by hupei on 2017/3/29. | 
| 32 | */ | 32 | */ | 
| 33 | 33 | ||
| 34 | public final class CircleDialog { | 34 | public final class CircleDialog { | 
| 35 | private AbsCircleDialog mDialog; | 35 | private AbsCircleDialog mDialog; | 
| 36 | 36 | ||
| 37 | private CircleDialog() { | 37 | private CircleDialog() { | 
| 38 | } | 38 | } | 
| 39 | 39 | ||
| 40 | public DialogFragment create(CircleParams params) { | 40 | public DialogFragment create(CircleParams params) { | 
| 41 | if (mDialog == null) | 41 | if (mDialog == null) | 
| 42 | mDialog = AbsCircleDialog.newAbsCircleDialog(params); | 42 | mDialog = AbsCircleDialog.newAbsCircleDialog(params); | 
| 43 | else { | 43 | else { | 
| 44 | if (mDialog != null && mDialog.getDialog() != null && mDialog.getDialog().isShowing()) { | 44 | if (mDialog != null && mDialog.getDialog() != null && mDialog.getDialog().isShowing()) { | 
| 45 | mDialog.refreshView(); | 45 | mDialog.refreshView(); | 
| 46 | } | 46 | } | 
| 47 | } | 47 | } | 
| 48 | return mDialog; | 48 | return mDialog; | 
| 49 | } | 49 | } | 
| 50 | 50 | ||
| 51 | public void show(FragmentActivity activity) { | 51 | public void show(FragmentActivity activity) { | 
| 52 | mDialog.show(activity.getSupportFragmentManager(), "circleDialog"); | 52 | mDialog.show(activity.getSupportFragmentManager(), "circleDialog"); | 
| 53 | } | 53 | } | 
| 54 | 54 | ||
| 55 | public static class Builder { | 55 | public static class Builder { | 
| 56 | private FragmentActivity mActivity; | 56 | private FragmentActivity mActivity; | 
| 57 | private CircleDialog mCircleDialog; | 57 | private CircleDialog mCircleDialog; | 
| 58 | private CircleParams mCircleParams; | 58 | private CircleParams mCircleParams; | 
| 59 | 59 | ||
| 60 | 60 | ||
| 61 | public Builder(@NonNull FragmentActivity activity) { | 61 | public Builder(@NonNull FragmentActivity activity) { | 
| 62 | this.mActivity = activity; | 62 | this.mActivity = activity; | 
| 63 | mCircleParams = new CircleParams(); | 63 | mCircleParams = new CircleParams(); | 
| 64 | mCircleParams.dialogParams = new DialogParams(); | 64 | mCircleParams.dialogParams = new DialogParams(); | 
| 65 | } | 65 | } | 
| 66 | 66 | ||
| 67 | |||
| 68 | |||
| 67 | /** | 69 | /** | 
| 68 | * 设置对话框位置 | 70 | * 设置对话框位置 | 
| 69 | * | 71 | * | 
| 70 | * @param gravity 位置 | 72 | * @param gravity 位置 | 
| 71 | * @return builder | 73 | * @return builder | 
| 72 | */ | 74 | */ | 
| 73 | public Builder setGravity(int gravity) { | 75 | public Builder setGravity(int gravity) { | 
| 74 | mCircleParams.dialogParams.gravity = gravity; | 76 | mCircleParams.dialogParams.gravity = gravity; | 
| 75 | return this; | 77 | return this; | 
| 76 | } | 78 | } | 
| 77 | 79 | ||
| 78 | /** | 80 | /** | 
| 79 | * 设置对话框点击外部关闭 | 81 | * 设置对话框点击外部关闭 | 
| 80 | * | 82 | * | 
| 81 | * @param cancel true允许 | 83 | * @param cancel true允许 | 
| 82 | * @return Builder | 84 | * @return Builder | 
| 83 | */ | 85 | */ | 
| 84 | public Builder setCanceledOnTouchOutside(boolean cancel) { | 86 | public Builder setCanceledOnTouchOutside(boolean cancel) { | 
| 85 | mCircleParams.dialogParams.canceledOnTouchOutside = cancel; | 87 | mCircleParams.dialogParams.canceledOnTouchOutside = cancel; | 
| 86 | return this; | 88 | return this; | 
| 87 | } | 89 | } | 
| 88 | 90 | ||
| 89 | /** | 91 | /** | 
| 90 | * 设置对话框返回键关闭 | 92 | * 设置对话框返回键关闭 | 
| 91 | * | 93 | * | 
| 92 | * @param cancel true允许 | 94 | * @param cancel true允许 | 
| 93 | * @return Builder | 95 | * @return Builder | 
| 94 | */ | 96 | */ | 
| 95 | public Builder setCancelable(boolean cancel) { | 97 | public Builder setCancelable(boolean cancel) { | 
| 96 | mCircleParams.dialogParams.cancelable = cancel; | 98 | mCircleParams.dialogParams.cancelable = cancel; | 
| 97 | return this; | 99 | return this; | 
| 98 | } | 100 | } | 
| 99 | 101 | ||
| 100 | /** | 102 | /** | 
| 101 | * 设置对话框宽度 | 103 | * 设置对话框宽度 | 
| 102 | * | 104 | * | 
| 103 | * @param width 0.0 - 1.0 | 105 | * @param width 0.0 - 1.0 | 
| 104 | * @return Builder | 106 | * @return Builder | 
| 105 | */ | 107 | */ | 
| 106 | public Builder setWidth(@FloatRange(from = 0.0, to = 1.0) float width) { | 108 | public Builder setWidth(@FloatRange(from = 0.0, to = 1.0) float width) { | 
| 107 | mCircleParams.dialogParams.width = width; | 109 | mCircleParams.dialogParams.width = width; | 
| 108 | return this; | 110 | return this; | 
| 109 | } | 111 | } | 
| 110 | 112 | ||
| 111 | /** | 113 | /** | 
| 112 | * 设置对话框圆角 | 114 | * 设置对话框圆角 | 
| 113 | * | 115 | * | 
| 114 | * @param radius 半径 | 116 | * @param radius 半径 | 
| 115 | * @return Builder | 117 | * @return Builder | 
| 116 | */ | 118 | */ | 
| 117 | public Builder setRadius(int radius) { | 119 | public Builder setRadius(int radius) { | 
| 118 | mCircleParams.dialogParams.radius = radius; | 120 | mCircleParams.dialogParams.radius = radius; | 
| 119 | return this; | 121 | return this; | 
| 120 | } | 122 | } | 
| 121 | 123 | ||
| 122 | public Builder configDialog(@NonNull ConfigDialog configDialog) { | 124 | public Builder configDialog(@NonNull ConfigDialog configDialog) { | 
| 123 | configDialog.onConfig(mCircleParams.dialogParams); | 125 | configDialog.onConfig(mCircleParams.dialogParams); | 
| 124 | return this; | 126 | return this; | 
| 125 | } | 127 | } | 
| 126 | 128 | ||
| 127 | public Builder setTitle(@NonNull String text) { | 129 | public Builder setTitle(@NonNull String text) { | 
| 128 | newTitleParams(); | 130 | newTitleParams(); | 
| 129 | mCircleParams.titleParams.text = text; | 131 | mCircleParams.titleParams.text = text; | 
| 130 | return this; | 132 | return this; | 
| 131 | } | 133 | } | 
| 132 | 134 | ||
| 133 | public Builder setTitleColor(@ColorInt int color) { | 135 | public Builder setTitleColor(@ColorInt int color) { | 
| 134 | newTitleParams(); | 136 | newTitleParams(); | 
| 135 | mCircleParams.titleParams.textColor = color; | 137 | mCircleParams.titleParams.textColor = color; | 
| 136 | return this; | 138 | return this; | 
| 137 | } | 139 | } | 
| 138 | 140 | ||
| 139 | public Builder configTitle(@NonNull ConfigTitle configTitle) { | 141 | public Builder configTitle(@NonNull ConfigTitle configTitle) { | 
| 140 | newTitleParams(); | 142 | newTitleParams(); | 
| 141 | configTitle.onConfig(mCircleParams.titleParams); | 143 | configTitle.onConfig(mCircleParams.titleParams); | 
| 142 | return this; | 144 | return this; | 
| 143 | } | 145 | } | 
| 144 | 146 | ||
| 145 | private void newTitleParams() { | 147 | private void newTitleParams() { | 
| 146 | if (mCircleParams.titleParams == null) | 148 | if (mCircleParams.titleParams == null) | 
| 147 | mCircleParams.titleParams = new TitleParams(); | 149 | mCircleParams.titleParams = new TitleParams(); | 
| 148 | } | 150 | } | 
| 149 | 151 | ||
| 150 | public Builder setText(@NonNull String text) { | 152 | public Builder setText(@NonNull String text) { | 
| 151 | newTextParams(); | 153 | newTextParams(); | 
| 152 | mCircleParams.textParams.text = text; | 154 | mCircleParams.textParams.text = text; | 
| 153 | return this; | 155 | return this; | 
| 154 | } | 156 | } | 
| 155 | 157 | ||
| 156 | public Builder setTextColor(@ColorInt int color) { | 158 | public Builder setTextColor(@ColorInt int color) { | 
| 157 | newTextParams(); | 159 | newTextParams(); | 
| 158 | mCircleParams.textParams.textColor = color; | 160 | mCircleParams.textParams.textColor = color; | 
| 159 | return this; | 161 | return this; | 
| 160 | } | 162 | } | 
| 161 | 163 | ||
| 162 | public Builder configText(@NonNull ConfigText configText) { | 164 | public Builder configText(@NonNull ConfigText configText) { | 
| 163 | newTextParams(); | 165 | newTextParams(); | 
| 164 | configText.onConfig(mCircleParams.textParams); | 166 | configText.onConfig(mCircleParams.textParams); | 
| 165 | return this; | 167 | return this; | 
| 166 | } | 168 | } | 
| 167 | 169 | ||
| 168 | private void newTextParams() { | 170 | private void newTextParams() { | 
| 169 | //判断是否已经设置过 | 171 | //判断是否已经设置过 | 
| 170 | if (mCircleParams.dialogParams.gravity == Gravity.NO_GRAVITY) | 172 | if (mCircleParams.dialogParams.gravity == Gravity.NO_GRAVITY) | 
| 171 | mCircleParams.dialogParams.gravity = Gravity.CENTER; | 173 | mCircleParams.dialogParams.gravity = Gravity.CENTER; | 
| 172 | if (mCircleParams.textParams == null) | 174 | if (mCircleParams.textParams == null) | 
| 173 | mCircleParams.textParams = new TextParams(); | 175 | mCircleParams.textParams = new TextParams(); | 
| 174 | } | 176 | } | 
| 175 | 177 | ||
| 176 | public Builder setItems(@NonNull Object items, AdapterView.OnItemClickListener listener) { | 178 | public Builder setItems(@NonNull Object items, AdapterView.OnItemClickListener listener) { | 
| 177 | newItemsParams(); | 179 | newItemsParams(); | 
| 178 | ItemsParams params = mCircleParams.itemsParams; | 180 | ItemsParams params = mCircleParams.itemsParams; | 
| 179 | params.items = items; | 181 | params.items = items; | 
| 180 | params.listener = listener; | 182 | params.listener = listener; | 
| 181 | return this; | 183 | return this; | 
| 182 | } | 184 | } | 
| 183 | 185 | ||
| 184 | 186 | ||
| 185 | public Builder configItems(@NonNull ConfigItems configItems) { | 187 | public Builder configItems(@NonNull ConfigItems configItems) { | 
| 186 | newItemsParams(); | 188 | newItemsParams(); | 
| 187 | configItems.onConfig(mCircleParams.itemsParams); | 189 | configItems.onConfig(mCircleParams.itemsParams); | 
| 188 | return this; | 190 | return this; | 
| 189 | } | 191 | } | 
| 190 | 192 | ||
| 191 | private void newItemsParams() { | 193 | private void newItemsParams() { | 
| 192 | //设置列表特殊的参数 | 194 | //设置列表特殊的参数 | 
| 193 | DialogParams dialogParams = mCircleParams.dialogParams; | 195 | DialogParams dialogParams = mCircleParams.dialogParams; | 
| 194 | //判断是否已经设置过 | 196 | //判断是否已经设置过 | 
| 195 | if (dialogParams.gravity == Gravity.NO_GRAVITY) | 197 | if (dialogParams.gravity == Gravity.NO_GRAVITY) | 
| 196 | dialogParams.gravity = Gravity.BOTTOM;//默认底部显示 | 198 | dialogParams.gravity = Gravity.BOTTOM;//默认底部显示 | 
| 197 | //判断是否已经设置过 | 199 | //判断是否已经设置过 | 
| 198 | if (dialogParams.yOff == 0) | 200 | if (dialogParams.yOff == 0) | 
| 199 | dialogParams.yOff = 20;//底部与屏幕的距离 | 201 | dialogParams.yOff = 20;//底部与屏幕的距离 | 
| 200 | 202 | ||
| 201 | if (mCircleParams.itemsParams == null) | 203 | if (mCircleParams.itemsParams == null) | 
| 202 | mCircleParams.itemsParams = new ItemsParams() { | 204 | mCircleParams.itemsParams = new ItemsParams() { | 
| 203 | @Override | 205 | @Override | 
| 204 | public void dismiss() { | 206 | public void dismiss() { | 
| 205 | onDismiss(); | 207 | onDismiss(); | 
| 206 | } | 208 | } | 
| 207 | }; | 209 | }; | 
| 208 | } | 210 | } | 
| 209 | 211 | ||
| 210 | /** | 212 | /** | 
| 211 | * 设置进度条文本 | 213 | * 设置进度条文本 | 
| 212 | * | 214 | * | 
| 213 | * @param text 进度条文本,style = 水平样式时,支持String.format() 例如:已经下载%s | 215 | * @param text 进度条文本,style = 水平样式时,支持String.format() 例如:已经下载%s | 
| 214 | * @return | 216 | * @return | 
| 215 | */ | 217 | */ | 
| 216 | public Builder setProgressText(@NonNull String text) { | 218 | public Builder setProgressText(@NonNull String text) { | 
| 217 | newProgressParams(); | 219 | newProgressParams(); | 
| 218 | mCircleParams.progressParams.text = text; | 220 | mCircleParams.progressParams.text = text; | 
| 219 | return this; | 221 | return this; | 
| 220 | } | 222 | } | 
| 221 | 223 | ||
| 222 | /** | 224 | /** | 
| 223 | * 设置进度条样式 | 225 | * 设置进度条样式 | 
| 224 | * | 226 | * | 
| 225 | * @param style {@link ProgressParams#STYLE_HORIZONTAL 水平样式} or | 227 | * @param style {@link ProgressParams#STYLE_HORIZONTAL 水平样式} or | 
| 226 | * {@link ProgressParams#STYLE_SPINNER} | 228 | * {@link ProgressParams#STYLE_SPINNER} | 
| 227 | * @return | 229 | * @return | 
| 228 | */ | 230 | */ | 
| 229 | public Builder setProgressStyle(int style) { | 231 | public Builder setProgressStyle(int style) { | 
| 230 | newProgressParams(); | 232 | newProgressParams(); | 
| 231 | mCircleParams.progressParams.style = style; | 233 | mCircleParams.progressParams.style = style; | 
| 232 | return this; | 234 | return this; | 
| 233 | } | 235 | } | 
| 234 | 236 | ||
| 235 | public Builder setProgress(int max, int progress) { | 237 | public Builder setProgress(int max, int progress) { | 
| 236 | newProgressParams(); | 238 | newProgressParams(); | 
| 237 | ProgressParams progressParams = mCircleParams.progressParams; | 239 | ProgressParams progressParams = mCircleParams.progressParams; | 
| 238 | progressParams.max = max; | 240 | progressParams.max = max; | 
| 239 | progressParams.progress = progress; | 241 | progressParams.progress = progress; | 
| 240 | return this; | 242 | return this; | 
| 241 | } | 243 | } | 
| 242 | 244 | ||
| 243 | public Builder setProgressDrawable(@DrawableRes int progressDrawableId) { | 245 | public Builder setProgressDrawable(@DrawableRes int progressDrawableId) { | 
| 244 | newProgressParams(); | 246 | newProgressParams(); | 
| 245 | mCircleParams.progressParams.progressDrawableId = progressDrawableId; | 247 | mCircleParams.progressParams.progressDrawableId = progressDrawableId; | 
| 246 | return this; | 248 | return this; | 
| 247 | } | 249 | } | 
| 248 | 250 | ||
| 249 | public Builder setProgressHeight(int height) { | 251 | public Builder setProgressHeight(int height) { | 
| 250 | newProgressParams(); | 252 | newProgressParams(); | 
| 251 | mCircleParams.progressParams.progressHeight = height; | 253 | mCircleParams.progressParams.progressHeight = height; | 
| 252 | return this; | 254 | return this; | 
| 253 | } | 255 | } | 
| 254 | 256 | ||
| 255 | public Builder configProgress(@NonNull ConfigProgress configProgress) { | 257 | public Builder configProgress(@NonNull ConfigProgress configProgress) { | 
| 256 | newProgressParams(); | 258 | newProgressParams(); | 
| 257 | configProgress.onConfig(mCircleParams.progressParams); | 259 | configProgress.onConfig(mCircleParams.progressParams); | 
| 258 | return this; | 260 | return this; | 
| 259 | } | 261 | } | 
| 260 | 262 | ||
| 261 | private void newProgressParams() { | 263 | private void newProgressParams() { | 
| 262 | //判断是否已经设置过 | 264 | //判断是否已经设置过 | 
| 263 | if (mCircleParams.dialogParams.gravity == Gravity.NO_GRAVITY) | 265 | if (mCircleParams.dialogParams.gravity == Gravity.NO_GRAVITY) | 
| 264 | mCircleParams.dialogParams.gravity = Gravity.CENTER; | 266 | mCircleParams.dialogParams.gravity = Gravity.CENTER; | 
| 265 | if (mCircleParams.progressParams == null) | 267 | if (mCircleParams.progressParams == null) | 
| 266 | mCircleParams.progressParams = new ProgressParams(); | 268 | mCircleParams.progressParams = new ProgressParams(); | 
| 267 | } | 269 | } | 
| 268 | 270 | ||
| 269 | public Builder setInputHint(@NonNull String text) { | 271 | public Builder setInputHint(@NonNull String text) { | 
| 270 | newInputParams(); | 272 | newInputParams(); | 
| 271 | mCircleParams.inputParams.hintText = text; | 273 | mCircleParams.inputParams.hintText = text; | 
| 272 | return this; | 274 | return this; | 
| 273 | } | 275 | } | 
| 274 | 276 | ||
| 275 | public Builder setInputHeight(int height) { | 277 | public Builder setInputHeight(int height) { | 
| 276 | newInputParams(); | 278 | newInputParams(); | 
| 277 | mCircleParams.inputParams.inputHeight = height; | 279 | mCircleParams.inputParams.inputHeight = height; | 
| 278 | return this; | 280 | return this; | 
| 279 | } | 281 | } | 
| 280 | 282 | ||
| 281 | public Builder configInput(@NonNull ConfigInput configInput) { | 283 | public Builder configInput(@NonNull ConfigInput configInput) { | 
| 282 | newInputParams(); | 284 | newInputParams(); | 
| 283 | configInput.onConfig(mCircleParams.inputParams); | 285 | configInput.onConfig(mCircleParams.inputParams); | 
| 284 | return this; | 286 | return this; | 
| 285 | } | 287 | } | 
| 286 | 288 | ||
| 287 | private void newInputParams() { | 289 | private void newInputParams() { | 
| 288 | //判断是否已经设置过 | 290 | //判断是否已经设置过 | 
| 289 | if (mCircleParams.dialogParams.gravity == Gravity.NO_GRAVITY) | 291 | if (mCircleParams.dialogParams.gravity == Gravity.NO_GRAVITY) | 
| 290 | mCircleParams.dialogParams.gravity = Gravity.CENTER; | 292 | mCircleParams.dialogParams.gravity = Gravity.CENTER; | 
| 291 | if (mCircleParams.inputParams == null) | 293 | if (mCircleParams.inputParams == null) | 
| 292 | mCircleParams.inputParams = new InputParams(); | 294 | mCircleParams.inputParams = new InputParams(); | 
| 293 | } | 295 | } | 
| 294 | 296 | ||
| 295 | public Builder setPositive(@NonNull String text, View.OnClickListener listener) { | 297 | public Builder setPositive(@NonNull String text, View.OnClickListener listener) { | 
| 296 | newPositiveParams(); | 298 | newPositiveParams(); | 
| 297 | ButtonParams params = mCircleParams.positiveParams; | 299 | ButtonParams params = mCircleParams.positiveParams; | 
| 298 | params.text = text; | 300 | params.text = text; | 
| 299 | params.listener = listener; | 301 | params.listener = listener; | 
| 300 | return this; | 302 | return this; | 
| 301 | } | 303 | } | 
| 302 | 304 | ||
| 303 | public Builder setPositiveInput(@NonNull String text, OnInputClickListener listener) { | 305 | public Builder setPositiveInput(@NonNull String text, OnInputClickListener listener) { | 
| 304 | newPositiveParams(); | 306 | newPositiveParams(); | 
| 305 | ButtonParams params = mCircleParams.positiveParams; | 307 | ButtonParams params = mCircleParams.positiveParams; | 
| 306 | params.text = text; | 308 | params.text = text; | 
| 307 | params.inputListener = listener; | 309 | params.inputListener = listener; | 
| 308 | return this; | 310 | return this; | 
| 309 | } | 311 | } | 
| 310 | 312 | ||
| 311 | public Builder configPositive(@NonNull ConfigButton configButton) { | 313 | public Builder configPositive(@NonNull ConfigButton configButton) { | 
| 312 | newPositiveParams(); | 314 | newPositiveParams(); | 
| 313 | configButton.onConfig(mCircleParams.positiveParams); | 315 | configButton.onConfig(mCircleParams.positiveParams); | 
| 314 | return this; | 316 | return this; | 
| 315 | } | 317 | } | 
| 316 | 318 | ||
| 317 | private void newPositiveParams() { | 319 | private void newPositiveParams() { | 
| 318 | if (mCircleParams.positiveParams == null) | 320 | if (mCircleParams.positiveParams == null) | 
| 319 | mCircleParams.positiveParams = new ButtonParams() { | 321 | mCircleParams.positiveParams = new ButtonParams() { | 
| 320 | @Override | 322 | @Override | 
| 321 | public void dismiss() { | 323 | public void dismiss() { | 
| 322 | onDismiss(); | 324 | onDismiss(); | 
| 323 | } | 325 | } | 
| 324 | }; | 326 | }; | 
| 325 | } | 327 | } | 
| 326 | 328 | ||
| 327 | public Builder setNegative(@NonNull String text, View.OnClickListener listener) { | 329 | public Builder setNegative(@NonNull String text, View.OnClickListener listener) { | 
| 328 | newNegativeParams(); | 330 | newNegativeParams(); | 
| 329 | ButtonParams params = mCircleParams.negativeParams; | 331 | ButtonParams params = mCircleParams.negativeParams; | 
| 330 | params.text = text; | 332 | params.text = text; | 
| 331 | params.listener = listener; | 333 | params.listener = listener; | 
| 332 | return this; | 334 | return this; | 
| 333 | } | 335 | } | 
| 334 | 336 | ||
| 335 | 337 | ||
| 336 | public Builder configNegative(@NonNull ConfigButton configButton) { | 338 | public Builder configNegative(@NonNull ConfigButton configButton) { | 
| 337 | newNegativeParams(); | 339 | newNegativeParams(); | 
| 338 | configButton.onConfig(mCircleParams.negativeParams); | 340 | configButton.onConfig(mCircleParams.negativeParams); | 
| 339 | return this; | 341 | return this; | 
| 340 | } | 342 | } | 
| 341 | 343 | ||
| 342 | private void newNegativeParams() { | 344 | private void newNegativeParams() { | 
| 343 | if (mCircleParams.negativeParams == null) | 345 | if (mCircleParams.negativeParams == null) | 
| 344 | mCircleParams.negativeParams = new ButtonParams() { | 346 | mCircleParams.negativeParams = new ButtonParams() { | 
| 345 | @Override | 347 | @Override | 
| 346 | public void dismiss() { | 348 | public void dismiss() { | 
| 347 | onDismiss(); | 349 | onDismiss(); | 
| 348 | } | 350 | } | 
| 349 | }; | 351 | }; | 
| 350 | } | 352 | } | 
| 351 | 353 | ||
| 352 | private void onDismiss() { | 354 | private void onDismiss() { | 
| 353 | if (mCircleParams.dialogFragment != null) { | 355 | if (mCircleParams.dialogFragment != null) { | 
| 354 | mCircleParams.dialogFragment.dismiss(); | 356 | mCircleParams.dialogFragment.dismiss(); | 
| 355 | mActivity = null; | 357 | mActivity = null; | 
| 356 | mCircleParams.dialogFragment = null; | 358 | mCircleParams.dialogFragment = null; | 
| 357 | } | 359 | } | 
| 358 | } | 360 | } | 
| 359 | 361 | ||
| 360 | public DialogFragment create() { | 362 | public DialogFragment create() { | 
| 361 | if (mCircleDialog == null) | 363 | if (mCircleDialog == null) | 
| 362 | mCircleDialog = new CircleDialog(); | 364 | mCircleDialog = new CircleDialog(); | 
| 363 | return mCircleDialog.create(mCircleParams); | 365 | return mCircleDialog.create(mCircleParams); | 
| 364 | } | 366 | } | 
| 365 | 367 | ||
| 366 | public DialogFragment show() { | 368 | public DialogFragment show() { | 
| 367 | DialogFragment dialogFragment = create(); | 369 | DialogFragment dialogFragment = create(); | 
| 368 | mCircleDialog.show(mActivity); | 370 | mCircleDialog.show(mActivity); | 
| 369 | return dialogFragment; | 371 | return dialogFragment; | 
| 370 | } | 372 | } | 
| 371 | } | 373 | } | 
| 372 | } | 374 | } | 
| 373 | 375 | 
PersonalCenter/mypresonallibrary/build.gradle
| 1 | apply plugin: 'com.android.library' | 1 | apply plugin: 'com.android.library' | 
| 2 | 2 | ||
| 3 | android { | 3 | android { | 
| 4 | compileSdkVersion 25 | 4 | compileSdkVersion 25 | 
| 5 | buildToolsVersion "25.0.3" | 5 | buildToolsVersion "25.0.3" | 
| 6 | 6 | ||
| 7 | defaultConfig { | 7 | defaultConfig { | 
| 8 | minSdkVersion 15 | 8 | minSdkVersion 15 | 
| 9 | targetSdkVersion 25 | 9 | targetSdkVersion 25 | 
| 10 | versionCode 1 | 10 | versionCode 1 | 
| 11 | versionName "1.0" | 11 | versionName "1.0" | 
| 12 | 12 | ||
| 13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | 13 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" | 
| 14 | 14 | ||
| 15 | } | 15 | } | 
| 16 | buildTypes { | 16 | buildTypes { | 
| 17 | release { | 17 | release { | 
| 18 | minifyEnabled false | 18 | minifyEnabled false | 
| 19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | 19 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' | 
| 20 | } | 20 | } | 
| 21 | } | 21 | } | 
| 22 | } | 22 | } | 
| 23 | 23 | ||
| 24 | dependencies { | 24 | dependencies { | 
| 25 | compile fileTree(dir: 'libs', include: ['*.jar']) | 25 | compile fileTree(include: ['*.jar'], dir: 'libs') | 
| 26 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { | 26 | androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { | 
| 27 | exclude group: 'com.android.support', module: 'support-annotations' | 27 | exclude group: 'com.android.support', module: 'support-annotations' | 
| 28 | }) | 28 | }) | 
| 29 | compile 'com.android.support:appcompat-v7:25.3.1' | 29 | compile 'com.android.support:appcompat-v7:25.3.1' | 
| 30 | testCompile 'junit:junit:4.12' | 30 | testCompile 'junit:junit:4.12' | 
| 31 | } | 31 | } | 
| 32 | 32 | 
PersonalCenter/mypresonallibrary/src/main/aidl/com/hjx/personalcenter/service/IPresonalInterface.aidl
| 1 | // IPresonalInterface.aidl | 1 | // IPresonalInterface.aidl | 
| 2 | package com.hjx.personalcenter.service; | 2 | package com.hjx.personalcenter.service; | 
| 3 | 3 | ||
| 4 | // Declare any non-default types here with import statements | 4 | // Declare any non-default types here with import statements | 
| 5 | 5 | ||
| 6 | interface IPresonalInterface { | 6 | interface IPresonalInterface { | 
| 7 | //测试AIDL | 7 | //测试AIDL | 
| 8 | String sayHello(); | 8 | String sayHello(); | 
| 9 | //UI view 所有的页面 | 9 | //UI view 所有的页面 | 
| 10 | String viewPage(String action); | 10 | String viewPage(String action); | 
| 11 | //得到用户登录信息 | 11 | //得到用户登录信息 | 
| 12 | String getSimpleUser(); | 12 | String getSimpleUser(); | 
| 13 | //得到用户保卡信息 | 13 | //得到用户保卡信息 | 
| 14 | String getcardUser(); | 14 | String getcardUser(); | 
| 15 | //得到用户个人信息 | ||
| 16 | String getUserInfo(); | ||
| 17 | String logout();//注销 | ||
| 18 | String validateToken();//验证Token | ||
| 19 | String getDeviceID(); | ||
| 20 | //子账户信息 | ||
| 21 | String getChildsInfo(); | ||
| 15 | } | 22 | } | 
| 16 | 23 | 
PersonalCenter/mypresonallibrary/src/main/java/com/hjx/mypresonallibrary/ActionConfig.java
| File was created | 1 | /** | |
| 2 | * HaoJiXing Teacher Q&A | ||
| 3 | * copyright(C)2013- Acorn International | ||
| 4 | * | ||
| 5 | * packeage:com.ozing.center.util.ActionConfig.java | ||
| 6 | * create:2013年10月29日下午3:32:01 | ||
| 7 | */ | ||
| 8 | package com.hjx.mypresonallibrary; | ||
| 9 | |||
| 10 | /** | ||
| 11 | * @author jixiaolong<jixiaolong@chinadrtv.com> | ||
| 12 | * @code: 015261 | ||
| 13 | */ | ||
| 14 | public class ActionConfig { | ||
| 15 | public static final String SERVICE_ACTION = "com.hjx.mypresonallibrary.ICenterService"; | ||
| 16 | public static final String PACKAGENAEM = "com.hjx.personalcenter"; | ||
| 17 | } | ||
| 18 | 
PersonalCenter/mypresonallibrary/src/main/java/com/hjx/mypresonallibrary/PresonalCallBack.java
| File was created | 1 | package com.hjx.mypresonallibrary; | |
| 2 | |||
| 3 | /** | ||
| 4 | * Created by h on 2017/9/13. | ||
| 5 | */ | ||
| 6 | |||
| 7 | public interface PresonalCallBack { | ||
| 8 | public void result(Object obj); | ||
| 9 | } | ||
| 10 | 
PersonalCenter/mypresonallibrary/src/main/java/com/hjx/mypresonallibrary/PresonalHelper.java
| File was created | 1 | package com.hjx.mypresonallibrary; | |
| 2 | |||
| 3 | import android.app.Service; | ||
| 4 | import android.content.ComponentName; | ||
| 5 | import android.content.Context; | ||
| 6 | import android.content.DialogInterface; | ||
| 7 | import android.content.Intent; | ||
| 8 | import android.content.ServiceConnection; | ||
| 9 | import android.os.IBinder; | ||
| 10 | import android.os.RemoteException; | ||
| 11 | |||
| 12 | import com.hjx.personalcenter.service.IPresonalInterface; | ||
| 13 | |||
| 14 | import java.util.concurrent.locks.ReentrantLock; | ||
| 15 | |||
| 16 | /** | ||
| 17 | * Created by h on 2017/9/13. | ||
| 18 | */ | ||
| 19 | |||
| 20 | public class PresonalHelper implements DialogInterface.OnDismissListener{ | ||
| 21 | private IPresonalInterface center; | ||
| 22 | private int STATUS_IDLE = 0; | ||
| 23 | private int STATUS_PENDDING = 1; | ||
| 24 | private int STATUS_FINISH = 2; | ||
| 25 | private int status = STATUS_IDLE; | ||
| 26 | private byte[] mx = new byte[0]; | ||
| 27 | private ReentrantLock lock = new ReentrantLock(); | ||
| 28 | private boolean isRun = false; | ||
| 29 | private boolean isShow = false; | ||
| 30 | |||
| 31 | public PresonalHelper() { | ||
| 32 | isRun = true; | ||
| 33 | } | ||
| 34 | private ServiceConnection serviceConnection = new ServiceConnection() { | ||
| 35 | |||
| 36 | @Override | ||
| 37 | public void onServiceDisconnected(ComponentName name) { | ||
| 38 | center = null; | ||
| 39 | } | ||
| 40 | |||
| 41 | @Override | ||
| 42 | public void onServiceConnected(ComponentName name, IBinder service) { | ||
| 43 | center = IPresonalInterface.Stub.asInterface(service); | ||
| 44 | synchronized (mx) { | ||
| 45 | status = STATUS_FINISH; | ||
| 46 | mx.notifyAll(); | ||
| 47 | } | ||
| 48 | } | ||
| 49 | }; | ||
| 50 | private void bind(Context context){ | ||
| 51 | status = STATUS_PENDDING; | ||
| 52 | Intent intent = new Intent(ActionConfig.SERVICE_ACTION); | ||
| 53 | intent.setPackage(ActionConfig.PACKAGENAEM); | ||
| 54 | context.getApplicationContext().bindService(intent, serviceConnection, Service.BIND_AUTO_CREATE); | ||
| 55 | } | ||
| 56 | |||
| 57 | |||
| 58 | @Override | ||
| 59 | public void onDismiss(DialogInterface dialog) { | ||
| 60 | isShow = false; | ||
| 61 | |||
| 62 | } | ||
| 63 | private void checkBind(Context context){ | ||
| 64 | if(!isRun)return; | ||
| 65 | if(status == STATUS_IDLE || (center == null && status!= STATUS_PENDDING)){ | ||
| 66 | bind(context); | ||
| 67 | } | ||
| 68 | |||
| 69 | if(status == STATUS_PENDDING || status == STATUS_IDLE){ | ||
| 70 | try { | ||
| 71 | synchronized (mx) { | ||
| 72 | if (center == null) | ||
| 73 | mx.wait(); | ||
| 74 | } | ||
| 75 | } catch (InterruptedException e) { | ||
| 76 | e.printStackTrace(); | ||
| 77 | } | ||
| 78 | } | ||
| 79 | } | ||
| 80 | private String buildNotInstallResult(){ | ||
| 81 | return "{\"resultCode\":301,\"message\":\"center not install.\"}"; | ||
| 82 | } | ||
| 83 | private String buildNotRun(){ | ||
| 84 | return "{\"resultCode\":302,\"message\":\"center is destoryed\"}"; | ||
| 85 | } | ||
| 86 | private String buildRemoteError(){ | ||
| 87 | return "{\"resultCode\":303,\"message\":\"remote service call failed\"}"; | ||
| 88 | } | ||
| 89 | public void getSimpleUser(final Context context, final PresonalCallBack callBack){ | ||
| 90 | if(callBack == null){ | ||
| 91 | throw new IllegalArgumentException("call back can not null"); | ||
| 92 | } | ||
| 93 | new Thread(new Runnable() { | ||
| 94 | |||
| 95 | @Override | ||
| 96 | public void run() { | ||
| 97 | String result = null; | ||
| 98 | try { | ||
| 99 | checkBind(context); | ||
| 100 | if(!isRun){ | ||
| 101 | result = buildNotRun(); | ||
| 102 | }else{ | ||
| 103 | result = center.getSimpleUser(); | ||
| 104 | } | ||
| 105 | } catch (RemoteException e) { | ||
| 106 | e.printStackTrace(); | ||
| 107 | result = buildRemoteError(); | ||
| 108 | } | ||
| 109 | callBack.result(result); | ||
| 110 | } | ||
| 111 | }).start(); | ||
| 112 | } | ||
| 113 | public void getcardUser(final Context context, final PresonalCallBack callBack){ | ||
| 114 | if(callBack == null){ | ||
| 115 | throw new IllegalArgumentException("call back can not null"); | ||
| 116 | } | ||
| 117 | new Thread(new Runnable() { | ||
| 118 | |||
| 119 | @Override | ||
| 120 | public void run() { | ||
| 121 | String result = null; | ||
| 122 | try { | ||
| 123 | checkBind(context); | ||
| 124 | if(!isRun){ | ||
| 125 | result = buildNotRun(); | ||
| 126 | }else{ | ||
| 127 | result = center.getcardUser(); | ||
| 128 | } | ||
| 129 | } catch (RemoteException e) { | ||
| 130 | e.printStackTrace(); | ||
| 131 | result = buildRemoteError(); | ||
| 132 | } | ||
| 133 | callBack.result(result); | ||
| 134 | } | ||
| 135 | }).start(); | ||
| 136 | } | ||
| 137 | } | ||
| 138 |