ElectronicCardValidationActivity.java 7.07 KB
package com.hjx.personalcenter.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.hjx.personalcenter.R;
import com.hjx.personalcenter.db.Content;
import com.hjx.personalcenter.db.SaveParam;
import com.hjx.personalcenter.http.HttpCode;
import com.hjx.personalcenter.http.HttpManager;
import com.hjx.personalcenter.util.AlertUtils;
import com.hjx.personalcenter.util.PhoneNumCheckUtils;

import org.json.JSONObject;

/**
 * Created by h on 2017/8/9.
 */

public class ElectronicCardValidationActivity extends Activity implements View.OnClickListener {
    private Button btn_card_valiyanzhen,get_authcode;
    private EditText phonenumber,anth_6num;//;//密码
    private TextView menu_title;
    private int i = 0;
    private Thread  thread;
    private String sourceStr ="android";
    private String typeStr = "register";
    String authcode = "";
    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
                JSONObject jsonObject;
                String status;
                switch (msg.what) {
                    case HttpCode.AUTHCODE_SUCESS:
                        jsonObject = (JSONObject) msg.obj;
                        status = jsonObject.optString("status");
                        authcode = jsonObject.optString("jsessionid");
                        if (status.equals("100")) {
                            AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送成功");
                        }

                        break;
                    case HttpCode.AUTHCODE_FAIL:
                        AlertUtils.showToast(ElectronicCardValidationActivity.this, "验证码发送失败");
                        break;
                    case 1:
                        get_authcode.setEnabled(false);
                        get_authcode.setClickable(false);
                        get_authcode.setText(Integer.toString(i--)+" s");
                        if (i<=0){
                            get_authcode.setEnabled(true);
                            get_authcode.setClickable(true);
                            get_authcode.setText("获取验证码");
                        }
                        break;
                }
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_electroniccard_validation);
        initView();
        initData();
        initLister();
    }

    private void initView() {
        btn_card_valiyanzhen = (Button) findViewById(R.id.btn_card_valiyanzhen);
        get_authcode = (Button) findViewById(R.id.btn_authcode);
        anth_6num = (EditText) findViewById(R.id.et_authcode);
        phonenumber = (EditText) findViewById(R.id.et_phonenumber);
        menu_title = (TextView) findViewById(R.id.menu_title);
    }

    private void initData() {
        if (Content.authcodeflag==1){
            menu_title.setText("填写保卡信息");

        }else  if (Content.authcodeflag==2){
            menu_title.setText("修改保卡信息");
        }else {
            menu_title.setText("更换绑定");
        }



    }

    private void initLister() {
        get_authcode.setOnClickListener(this);
        btn_card_valiyanzhen.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()){
            case R.id.btn_card_valiyanzhen:
                SaveParam.getInstance().saveCustomizeParam(this,SaveParam.CARDPHONE,  phonenumber.getText().toString().trim());
                Intent intent = new Intent();
                intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class);
                startActivity(intent);
                overridePendingTransition(R.anim.rightin, R.anim.rightout);

                String usernameStr = phonenumber.getText().toString().trim();
                String authcodeStr = anth_6num.getText().toString().trim();
                if (TextUtils.isEmpty(usernameStr) || TextUtils.isEmpty(authcodeStr)) {
                    AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号,和验证码不能为空");
                    return;
                } else if (!PhoneNumCheckUtils.isPhone(usernameStr)){
                    AlertUtils.showToast(ElectronicCardValidationActivity.this, "手机号码输入错误");

                }else if (!authcode.equals(authcodeStr)){
                    AlertUtils.showToast(ElectronicCardValidationActivity.this, "您输入的验证码不正确");
                }else {
                    if (Content.authcodeflag==1){
                        menu_title.setText("填写保卡信息");

                    }else  if (Content.authcodeflag==2){
                        //调用接口
                        menu_title.setText("修改保卡信息");
                    }else {
                        //修改手机号
                        menu_title.setText("更换绑定");
                    }
//                    SaveParam.getInstance().saveLoginParam(this,SaveParam.CARDPHONE,  phonenumber.getText().toString().trim());
//                    Intent intent = new Intent();
//                    intent.setClass(ElectronicCardValidationActivity.this, ElectronicCardEditInfoActivity.class);
//                    startActivity(intent);
//                    overridePendingTransition(R.anim.rightin, R.anim.rightout);
                }
                break;
            case R.id.btn_authcode:
                String usernameStr1 = phonenumber.getText().toString().trim();
                if (!PhoneNumCheckUtils.isPhone(usernameStr1)){
                    AlertUtils.showToast(ElectronicCardValidationActivity.this, "请输入正确的手机号");
                }else {
                    anth_6num.requestFocus();
                    HttpManager.getInstance().authCode(typeStr, usernameStr1, handler, ElectronicCardValidationActivity.this);
                    i = 60;
                    if(thread == null){
                        thread = new Thread( new ThreadShow());
                        thread.start();
                    }

                }

                break;
        }
    }
    // 线程类 定时器
    class ThreadShow implements Runnable {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            while (true) {
                try {
                    Thread.sleep(1000);
                    Message msg = new Message();
                    msg.what = 1;
                    handler.sendMessage(msg);
                    System.out.println("send...");
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                    System.out.println("thread error...");
                }
            }
        }
    }
}