package com.test.login;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.ParseException;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.net.MailTo;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.provider.ContactsContract.CommonDataKinds.Email;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
public class CreateUserActivity extends Activity implements OnClickListener {
public static final String CREATE_ACCOUNT_URL = "http://10.0.2.2:8080/androidWeb/servlet/NewAccount";
public static final int MSG_CREATE_RESULT = 1;
private EditText eUsername;
private EditText ePwd1;
private EditText ePwd2;
private RadioGroup rGender;
private EditText eAge;
private EditText ePhone;
private EditText eEmail;
private Button btnSubmit;
private Button btnReset;
ProgressDialog progress;
private Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
switch(msg.what) {
case MSG_CREATE_RESULT:
progress.dismiss();
JSONObject json = (JSONObject) msg.obj;
hanleCreateAccountResult(json);
break;
}
}
};
private void hanleCreateAccountResult(JSONObject json) {
/*
* result_code:
* 0 注册成功
* 1 用户名已存在
* 2 数据库操作异常
* */
int result;
try {
result = json.getInt("result_code");
} catch (JSONException e) {
Toast.makeText(this, "没有获取到网络的响应!", Toast.LENGTH_LONG).show();
e.printStackTrace();
return;
}
if(result == 1) {
Toast.makeText(this, "用户名已存在!", Toast.LENGTH_LONG).show();
return;
}
if(result == 2) {
Toast.makeText(this, "注册失败!服务端出现异常!", Toast.LENGTH_LONG).show();
return;
}
if(result == 0) {
Toast.makeText(this, "注册成功!前往登陆界面!", Toast.LENGTH_LONG).show();
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
finish();
return;
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create_user_activity);
initViews();
}
private void initViews() {
eUsername = (EditText)findViewById(R.id.new_username);
ePwd1 = (EditText)findViewById(R.id.new_password_1);
ePwd2 = (EditText)findViewById(R.id.new_password_2);
rGender = (RadioGroup)findViewById(R.id.new_radio_group_gender);
eAge = (EditText)findViewById(R.id.new_age);
ePhone = (EditText)findViewById(R.id.new_phone);
eEmail = (EditText)findViewById(R.id.new_email);
btnSubmit = (Button)findViewById(R.id.new_btn_submit);
btnReset = (Button)findViewById(R.id.new_btn_reset);
btnSubmit.setOnClickListener(this);
btnReset.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.new_btn_submit:
handleCreateAccount();
break;
case R.id.new_btn_reset:
handleReset();
break;
}
}
private void handleCreateAccount() {
boolean isUsernameValid = checkUsername();
if(!isUsernameValid) {
Toast.makeText(this, "用户名不正确,请重新输入", Toast.LENGTH_LONG).show();
return;
}
int pwdResult = checkPassword();
if(pwdResult == 1) {
Toast.makeText(this, "两次输入的密码不一致,请确认!", Toast.LENGTH_LONG).show();
return;
}
if (pwdResult == 2) {
Toast.makeText(this, "密码不能为空!", Toast.LENGTH_LONG).show();
return;
}
int isAgeValid = checkAge();
if(isAgeValid == -1) {
Toast.makeText(this, "年龄不能为空!", Toast.LENGTH_LONG).show();
return;
}
if(isAgeValid == -2) {
Toast.makeText(this, "年龄超出范围(1~100)!", Toast.LENGTH_LONG).show();
return;
}
if(isAgeValid == -3) {
Toast.makeText(this, "年龄格式输入错误,请不要输入字母、符号等其他字符串!", Toast.LENGTH_LONG).show();
return;
}
if(TextUtils.isEmpty(ePhone.getText().toString())) {
Toast.makeText(this, "请输入电话号码!", Toast.LENGTH_LONG).show();
return;
}
if(TextUtils.isEmpty(eEmail.getText().toString())) {
Toast.makeText(this, "请输入邮箱!", Toast.LENGTH_LONG).show();
return;
}
createAccount();
}
private void createAccount() {
progress = new ProgressDialog(this);
progress.setCancelable(false);
progress.setCanceledOnTouchOutside(false);
progress.show(this, null, "注册中...");
new Thread(new Runnable() {
@Override
public void run() {
Log.d("yanghongbing", "Start Network!");
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(CREATE_ACCOUNT_URL);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("username", eUsername.getText().toString()));
params.add(new BasicNameValuePair("password", ePwd1.getText().toString()));
RadioButton selectedGender = (RadioButton)CreateUserActivity.this.findViewById(rGender.getCheckedRadioButtonId());
params.add(new BasicNameValuePair("gender",
selectedGender.getText().toString()));
params.add(new BasicNameValuePair("age", eAge.getText().toString()));
params.add(new BasicNameValuePair("phone", ePhone.getText().toString()));
params.add(new BasicNameValuePair("email", eEmail.getText().toString()));
try {
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
HttpResponse httpResponse = httpClient.execute(httpPost);
if(httpResponse.getStatusLine().getStatusCode() == 200) {
Log.d("yanghongbing", "Network OK!");
HttpEntity entity = httpResponse.getEntity();
String entityStr = EntityUtils.toString(entity);
String jsonStr = entityStr.substring(entityStr.indexOf("{"));
JSONObject json = new JSONObject(jsonStr);
sendMessage(MSG_CREATE_RESULT, json);
}
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}).start();
}
private boolean checkUsername() {
String username = eUsername.getText().toString();
if(TextUtils.isEmpty(username)) {
return false;
}
return true;
}
private int checkPassword() {
/*
* return value:
* 0 password valid
* 1 password not equal 2 inputs
* 2 password empty
* */
String pwd1 = ePwd1.getText().toString();
String pwd2 = ePwd2.getText().toString();
if(!pwd1.equals(pwd2)) {
return 1;
} else if(TextUtils.isEmpty(pwd1)) {
return 2;
} else {
return 0;
}
}
private int checkAge() {
/*
* return value
* 0 输入合法
* -1 输入为空
* -2输入为负数
* -3输入为非数值字符串或包括小数
没有合适的资源?快使用搜索试试~ 我知道了~
android注册登录 前后端 源码
共55个文件
class:16个
java:7个
xml:7个
4星 · 超过85%的资源 需积分: 19 33 下载量 115 浏览量
2015-09-07
15:43:14
上传
评论
收藏 8.96MB RAR 举报
温馨提示
包含两个文件夹 1.androidWeb 后端 2.LoginTest 前端 导入项目后,运行服务器 tomcat。
资源推荐
资源详情
资源评论
收起资源包目录
android登陆注册前后端源码.rar (55个子文件)
androidWeb
.settings
org.eclipse.jdt.ui.prefs 96B
src
com
test
database
DBManager.java 3KB
servlet
NewAccount.java 4KB
loadMessage.java 4KB
.project 1KB
WebRoot
META-INF
MANIFEST.MF 39B
WEB-INF
web.xml 1KB
classes
com
test
database
DBManager.class 4KB
servlet
NewAccount.class 5KB
loadMessage.class 3KB
lib
gson-2.2.4-javadoc.jar 244KB
mysql-connector-java-3.1.12.zip 7.77MB
mysql-connector-java-5.0.4-bin.jar 484KB
gson-2.2.4.jar 186KB
gson-2.2.4-sources.jar 125KB
index.jsp 892B
.mymetadata 303B
.classpath 780B
.myeclipse
LoginTest
bin
classes.dex 16KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
ic_launcher.png 4KB
drawable-mdpi
ic_launcher.png 2KB
LoginTest.apk 98KB
classes
com
test
login
R$layout.class 497B
R$id.class 2KB
R$drawable.class 429B
CreateUserActivity$1.class 1KB
R$attr.class 328B
R.class 503B
UserInfoActivity.class 2KB
CreateUserActivity.class 7KB
R$string.class 415B
LoginActivity.class 5KB
LoginActivity$2.class 4KB
CreateUserActivity$2.class 4KB
LoginActivity$1.class 1KB
resources.ap_ 88KB
res
drawable-ldpi
ic_launcher.png 2KB
drawable-hdpi
background.png 73KB
ic_launcher.png 4KB
values
strings.xml 180B
drawable-mdpi
ic_launcher.png 3KB
layout
login.xml 3KB
create_user_activity.xml 8KB
main.xml 398B
user_info_activity.xml 5KB
assets
gen
com
test
login
R.java 3KB
proguard.cfg 1015B
src
com
test
login
UserInfoActivity.java 1KB
CreateUserActivity.java 9KB
LoginActivity.java 6KB
.project 845B
.classpath 364B
project.properties 361B
AndroidManifest.xml 1KB
共 55 条
- 1
资源评论
- 谢秋Roc2017-09-24麻雀虽小,五脏俱全。。
- 只有团队的精神是永存的,平台,生态!2017-03-31简单、实用、明了,正合我意。
- cdvtczhgf2017-02-19注册功能没有实现
ft3274400
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功