package com.example.lokal; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import com.senses.common.HttpTsang; import com.senses.common.LoadData; import com.senses.config.Config; public class Register extends Activity { Intent intent=new Intent(); MyHandler myHandler; String username_str; Button register; EditText username; EditText password; EditText mail; String mail_str; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.register); register=(Button)findViewById(R.id.registerbtn); mail=(EditText)findViewById(R.id.mail); username=(EditText)findViewById(R.id.username); password=(EditText)findViewById(R.id.password); password.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View arg0, boolean arg1) { // TODO Auto-generated method stub if(arg1){//获得焦点 //在这里可以对获得焦点进行处理 }else{//失去焦点 //在这里可以对输入的文本内容进行有效的验证 register.setClickable(true); register.setText("注册"); } } }); mail.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View arg0, boolean arg1) { // TODO Auto-generated method stub if(arg1){//获得焦点 //在这里可以对获得焦点进行处理 }else{//失去焦点 //在这里可以对输入的文本内容进行有效的验证 register.setClickable(true); register.setText("注册"); } } }); username.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View arg0, boolean arg1) { // TODO Auto-generated method stub if(arg1){//获得焦点 //在这里可以对获得焦点进行处理 }else{//失去焦点 //在这里可以对输入的文本内容进行有效的验证 register.setClickable(true); register.setText("注册"); } } }); register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { register.setClickable(false);//点击一次后不可点 register.setText("注册中..."); // TODO Auto-generated method stub mail_str=mail.getText().toString(); username_str=username.getText().toString(); String password_str=password.getText().toString(); if(mail_str.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")&&username_str!=null&&password_str!=null){ String urlPath=new Config().BASEURI+"/register.php"; Map<String,String> map=new HashMap<String,String>();//用集合来做,比字符串拼接来得直观 map.put("act", "register"); map.put("mail", mail_str); map.put("username",username_str); map.put("password",password_str); try { myHandler=new MyHandler(Register.this.getMainLooper()); MyThread m = new MyThread(); m.urlPath=urlPath; m.map=map; new Thread(m).start(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }else{ if(!mail_str.matches("\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*")){ Toast.makeText(getApplicationContext(), "邮件格式不正确", Toast.LENGTH_LONG).show(); } if(username_str==""&&password_str==""){ Toast.makeText(getApplicationContext(), "用户名或密码不能为空", Toast.LENGTH_LONG).show(); } } } }); } class MyHandler extends Handler { public MyHandler() { } public MyHandler(Looper L) { super(L); } // 必须重写这个方法,用于处理message @Override public void handleMessage(Message msg) { // 这里用于更新UI Bundle b = msg.getData(); String response=b.getString("response"); String data_r="Registered"; String data_r2="Messagesentbytsang"; int s=response.indexOf(data_r); int s2=response.indexOf(data_r2); //Toast.makeText(getApplicationContext(), data, Toast.LENGTH_LONG).show(); if(s2!=-1){ Toast.makeText(getApplicationContext(), "Welcome to Senses!", Toast.LENGTH_LONG).show(); } if(s!=-1){ String a[] = response.split("Registered"); // Toast.makeText(getApplicationContext(), a[0], Toast.LENGTH_LONG).show(); Context ctx = Register.this; SharedPreferences sp = ctx.getSharedPreferences("SP", MODE_PRIVATE); //存入数据 Editor editor = sp.edit(); editor.putString("USERNAME_KEY", username_str); editor.putString("ID_KEY", a[0]); editor.commit(); intent.setClass(Register .this,PicCutActivity.class); startActivity(intent); finish(); }else{ Toast.makeText(getApplicationContext(), response, Toast.LENGTH_LONG).show(); register.setClickable(true);//点击一次后不可点 register.setText("注册"); } } } class MyThread implements Runnable { String urlPath; Map<String,String> map=new HashMap<String,String>(); public void run() { try { HttpTsang httpTsang=new HttpTsang(); String status=httpTsang.postRequest(urlPath,map); String sendGmail_response=new LoadData().sendGmail(username_str,mail_str); Message msg = myHandler.obtainMessage(); Bundle b = new Bundle(); b.putString("response", status+sendGmail_response); msg.setData(b); // Log.v("the response", "tttttttttttttttt"); myHandler.sendMessage(msg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }