Android中Handler的总结(三)实例用户注册

一、Handler用户注册实例


import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONException;
import org.json.JSONObject;

import android.content.Context;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.v4.app.Fragment;
import android.telephony.TelephonyManager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;

import com.nxt.ggnj.R;
import com.nxt.ggnj.data.Constans;
import com.nxt.ggnj.loginLocation.utils.HttpConnection;
import com.nxt.ggnj.loginLocation.utils.Util;

public class NhRegFragment extends Fragment implements OnClickListener {
	private EditText phone, pwd,name;
	private Button regbtn;
	private String phoneStr, pwdStr, uidStr, usergroup,nameStr;
	private int reportloc;
	private TelephonyManager tm;
	private Util util;

	public static NhRegFragment newInstance() {
		NhRegFragment fragment = new NhRegFragment();
		return fragment;
	}

	//主线程接受handler信息
	Handler handler = new Handler() {
		public void handleMessage(Message msg) {
			switch (msg.what) {
			case 1:
				// 注册成功记录用户信息
				util.saveToSp(Util.PHONE, phoneStr);
				util.saveToSp(Util.USERNAME, phoneStr);
				util.saveToSp(Util.PWD, pwdStr);
				util.saveToSp(Util.UID, uidStr);
				util.saveToSp(Util.USERGROUP, usergroup);
				util.saveToSp(Util.REPORTLOC, String.valueOf(reportloc));
				Util.showMsg(getActivity(), "注册成功");
				Util.toMainActivity(getActivity(), Constans.KH_ID,
						Constans.KH_REGISTER);
				getActivity().finish();
				break;
			case 3:
				Util.showMsg(getActivity(), "该用户名已被使用");
				break;
			case 4:
				Util.showMsg(getActivity(), "该邮箱已被注册");
			default:
				Util.showMsg(getActivity(), "注册失败");
				break;
			}
		};
	};

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
		tm = (TelephonyManager) getActivity().getSystemService(
				Context.TELEPHONY_SERVICE);
		util = new Util(getActivity());
		LinearLayout ll = (LinearLayout) inflater.inflate(
				R.layout.nhreg_fragment, null);
		phone = (EditText) ll.findViewById(R.id.et_nhreg_phone);
//		name = (EditText) ll.findViewById(R.id.et_nhreg_name);
		pwd = (EditText) ll.findViewById(R.id.et_nhreg_pwd);
		regbtn = (Button) ll.findViewById(R.id.btn_nhreg);
		regbtn.setOnClickListener(this);
		return ll;
	}

	@Override
	public void onClick(View v) {
		if (v == regbtn) {
			register();
		}
	}

	/**
	 * 开线程注册
	 */
	private void register() {
		phoneStr = phone.getText().toString();
		pwdStr = pwd.getText().toString();
//		nameStr = name.getText().toString();
		if (phoneStr == null || "".equals(phoneStr) || pwdStr == null
				|| "".equals(pwdStr)) {
			Util.showMsg(getActivity(), "手机号或密码不能为空");
		} else if (isHandset(phoneStr)) {
			new Thread() {
				public void run() {
					int error = 0;
					Map<String, String> params = new HashMap<String, String>();
					params.put("uname", phoneStr);
					params.put("upasswd", pwdStr);
					params.put("phone", phoneStr);
					params.put("siteid", "3731");
					params.put("deviceid", tm.getSimSerialNumber());
					params.put("address", util.getFromSp(Util.ADDRESS, ""));
					params.put("lng", util.getFromSp(Util.LONGITUDE, ""));
					params.put("lat", util.getFromSp(Util.LATITUDE, ""));
					params.put("token", util.getFromSp(Util.TOKEN, ""));
					params.put("os", "Android");
					try {
						String strData = HttpConnection.httpConnString(
								Constans.NHREGURL, "POST", params);
						Log.i("返回农户注册信息", strData);
						System.out.println("返回农户注册信息---------"+strData);
						JSONObject jsonObject = new JSONObject(strData);
						error = jsonObject.getInt("error");
						System.out.println("&&&&&&&&&&"+jsonObject.getString("msg"));
						phoneStr = jsonObject.getString("phone");
						usergroup = jsonObject.getString("user_group");
						uidStr = jsonObject.getString("uid");
						reportloc = jsonObject.getInt("reportloc");
					} catch (IOException e) {
						e.printStackTrace();
					} catch (JSONException e) {
						e.printStackTrace();
					} finally {
						Message msg = handler.obtainMessage();
						msg.what = error;
						//发送handler信息
						handler.sendMessage(msg);
					}
				};
			}.start();
		}else {
			Util.showMsg(getActivity(), "请输入正确的手机号!");
		}
	}
	
	/**
	 * 判断是不是合法手机 handset 手机号码
	 */
	public static boolean isHandset(String handset) {
			String two = handset.substring(1, 2);
			if (handset == null || handset.length() != 11) {
				return false;
			}
			if (!handset.substring(0, 1).equals("1")) {
				return false;
			}
			if (two.equals("3")||two.equals("5")||two.equals("8")) {
				System.out.println();
				return true;
			}else {
				return false;
			}
	}
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值