一、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;
}
}
}