@Override
public void onClick(View v) {
if(v == buttonRegister){
registerUser();
}
}
private void registerUser() {
?*some code here*/
}
private void register(String name, String email, String password, String phone ) {
String urlSuffix = "?name="+name+"&email="+email+"&password="+password+"&phone="+phone;
class RegisterUser extends AsyncTask<String, Void, String> {
ProgressDialog loading;
@Override
protected void onPreExecute() {
super.onPreExecute();
loading = ProgressDialog.show(SignUpActivity.this, "Please Wait",null, true, true);
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();
}
@Override
protected String doInBackground(String... params) {
String s = params[0];
BufferedReader bufferedReader = null;
try {
URL url = new URL(REGISTER_URL+s);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
bufferedReader = new BufferedReader(new InputStreamReader(con.getInputStream()));
String result;
result = bufferedReader.readLine();
return result;
}catch(Exception e){
return null;
}
}
}
RegisterUser ru = new RegisterUser();
ru.execute(urlSuffix);
}发布于 2016-01-21 14:00:22
If you moved from login activity to this screen then you can use:
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();
this.finish();
}
Otherwise you can start new activity like :
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();
startActivity(new Intent(SignUpActivity.this,LoginActivity.class));
this.finish();
}发布于 2016-01-21 15:16:42
这完全取决于你的REST API和它返回的内容,如果你能从API中发布json结果,这将会有很大的帮助。如果它返回的消息类似于“电子邮件已经存在”,那么您可以检查消息中是否存在该字符串,并执行相应的操作
将您的onPostExecute方法更改为:
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
loading.dismiss();
Toast.makeText(getApplicationContext(), s, Toast.LENGTH_SHORT).show();
if(s.has("email already exists")){
//Show some error
}else if(s.has("Registration successfull"))
startActivity(new Intent(SignUpActivity.this,LoginActivity.class));
this.finish();
}发布于 2016-01-21 15:37:54
if($_SERVER['REQUEST_METHOD']=='GET'){
$name = $_GET['name'];
$password = $_GET['password'];
$email = $_GET['email'];
$phone = $_GET['phone'];
if($name == '' || $password == '' || $email == '' || $phone == '')
{
echo 'please fill all values';
}
else{
$check =$db->query("SELECT * FROM register WHERE email='".$_GET['email']."'";
$row=$check->num_rows;
if($row > 0)
{
echo 'email already exist';
}
else
{
$insert = $db->query("INSERT INTO register(`name`,`password`,`email`,`phone`) VALUES('".$_GET['name']."','".$_GET['password']."','".$_GET['email']."','".$_GET['phone']."')";
if($insert)
{
echo 'successfully registered';} else{ echo 'oops!请重试!‘;} else { echo "Error";}
https://stackoverflow.com/questions/34916324
复制相似问题