📌  相关文章
📜  使用Back4App在Android中进行用户注册

📅  最后修改于: 2021-05-10 17:18:00             🧑  作者: Mango

先决条件:如何将Android App与Back4App连接?

我们已经看到在我们的Android应用程序中添加Back4App。在本文中,我们将介绍如何在Android App中添加用户注册表单,以便用户可以在该应用程序中注册自己。

我们将在本文中构建什么?

我们将构建一个简单的应用程序,在其中添加一个简单的用户注册表格,以便用户可以使用其用户名和密码进行注册。下面是视频,我们将在其中观看我们将要构建的内容。

分步实施

本文是“如何将Android App与Back4App连接”的续篇。

步骤1:使用activity_main.xml文件

导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码

XML


  
    
    
  
    
    
  
    
    
  
    
    


XML


      
    
    
      
    
    
  


Java
import android.os.Bundle;
import android.widget.TextView;
  
import androidx.appcompat.app.AppCompatActivity;
  
public class HomeActivity extends AppCompatActivity {
  
    // creating a variable for our text view..
    private TextView userNameTV;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
          
        // initializing our variables
        userNameTV = findViewById(R.id.idTVUserName);
          
        // getting data from intent.
        String name = getIntent().getStringExtra("username");
          
        // setting data to our text view.
        userNameTV.setText(name);
    }
}


Java
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.parse.ParseException;
import com.parse.ParseUser;
import com.parse.SignUpCallback;
  
public class MainActivity extends AppCompatActivity {
      
    // creating variables for our edit text and buttons.
    private EditText userNameEdt, passwordEdt;
    private Button registerBtn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // initializing our edit text  and buttons.
        userNameEdt = findViewById(R.id.idEdtUserName);
        passwordEdt = findViewById(R.id.idEdtPassword);
        registerBtn = findViewById(R.id.idBtnRegister);
          
        // adding on click listener for our button.
        registerBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                  
                // on below line we are getting data from our edit text.
                String userName = userNameEdt.getText().toString();
                String password = passwordEdt.getText().toString();
                 
                // checking if the entered text is empty or not.
                if (TextUtils.isEmpty(userName) && TextUtils.isEmpty(password)) {
                    Toast.makeText(MainActivity.this, "Please enter user name and password", Toast.LENGTH_SHORT).show();
                }
                  
                // calling a method to register a user.
                registerUser(userName, password);
            }
        });
    }
  
    private void registerUser(String userName, String password) {
          
        // on below line we are creating
        // a new user using parse user.
        ParseUser user = new ParseUser();
          
        // Set the user's username and password, 
        // which can be obtained from edit text
        user.setUsername(userName);
        user.setPassword(password);
          
        // calling a method to register the user.
        user.signUpInBackground(new SignUpCallback() {
            @Override
            public void done(ParseException e) {
                // on user registration checking if
                // the error is null or not.
                if (e == null) {
                    // if the error is null we are displaying a toast message and 
                    // redirecting our user to new activity and passing the user name.
                    Toast.makeText(MainActivity.this, "User Registered succesfully", Toast.LENGTH_SHORT).show();
                    Intent i = new Intent(MainActivity.this, HomeActivity.class);
                    i.putExtra("username", userName);
                    startActivity(i);
                } else {
                    // if we get any error then we are logging out
                    // our user and displaying an error message
                    ParseUser.logOut();
                    Toast.makeText(MainActivity.this, "Fail to Register User..", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}


第2步:创建新活动以在注册后重定向我们的用户

导航到应用程序> Java >应用程序的包名称>右键单击它>新建>空活动,并将其命名为HomeActivity 。或者您也可以参考本文“如何在Android Studio中创建新活动”?

步骤3:使用activity_home.xml文件

导航至应用程序> res>布局> activity_home.xml文件,然后将以下代码添加到其中。

XML格式



      
    
    
      
    
    
  

步骤4:使用HomeActivity。 Java文件

导航到应用程序> Java >您的应用程序的程序包名称> HomeActivity。 Java文件,并向其中添加以下代码。在代码内部添加了注释,以更详细地了解代码。

Java

import android.os.Bundle;
import android.widget.TextView;
  
import androidx.appcompat.app.AppCompatActivity;
  
public class HomeActivity extends AppCompatActivity {
  
    // creating a variable for our text view..
    private TextView userNameTV;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_home);
          
        // initializing our variables
        userNameTV = findViewById(R.id.idTVUserName);
          
        // getting data from intent.
        String name = getIntent().getStringExtra("username");
          
        // setting data to our text view.
        userNameTV.setText(name);
    }
}

步骤5:使用MainActivity。 Java文件

转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。

Java

import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
  
import androidx.appcompat.app.AppCompatActivity;
  
import com.parse.ParseException;
import com.parse.ParseUser;
import com.parse.SignUpCallback;
  
public class MainActivity extends AppCompatActivity {
      
    // creating variables for our edit text and buttons.
    private EditText userNameEdt, passwordEdt;
    private Button registerBtn;
  
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
          
        // initializing our edit text  and buttons.
        userNameEdt = findViewById(R.id.idEdtUserName);
        passwordEdt = findViewById(R.id.idEdtPassword);
        registerBtn = findViewById(R.id.idBtnRegister);
          
        // adding on click listener for our button.
        registerBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                  
                // on below line we are getting data from our edit text.
                String userName = userNameEdt.getText().toString();
                String password = passwordEdt.getText().toString();
                 
                // checking if the entered text is empty or not.
                if (TextUtils.isEmpty(userName) && TextUtils.isEmpty(password)) {
                    Toast.makeText(MainActivity.this, "Please enter user name and password", Toast.LENGTH_SHORT).show();
                }
                  
                // calling a method to register a user.
                registerUser(userName, password);
            }
        });
    }
  
    private void registerUser(String userName, String password) {
          
        // on below line we are creating
        // a new user using parse user.
        ParseUser user = new ParseUser();
          
        // Set the user's username and password, 
        // which can be obtained from edit text
        user.setUsername(userName);
        user.setPassword(password);
          
        // calling a method to register the user.
        user.signUpInBackground(new SignUpCallback() {
            @Override
            public void done(ParseException e) {
                // on user registration checking if
                // the error is null or not.
                if (e == null) {
                    // if the error is null we are displaying a toast message and 
                    // redirecting our user to new activity and passing the user name.
                    Toast.makeText(MainActivity.this, "User Registered succesfully", Toast.LENGTH_SHORT).show();
                    Intent i = new Intent(MainActivity.this, HomeActivity.class);
                    i.putExtra("username", userName);
                    startActivity(i);
                } else {
                    // if we get any error then we are logging out
                    // our user and displaying an error message
                    ParseUser.logOut();
                    Toast.makeText(MainActivity.this, "Fail to Register User..", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
}

现在运行您的应用程序,并查看该应用程序的输出。

输出:

在以下链接上查看项目: https : //github.com/ChaitanyaMunje/GFG-Back4App/tree/RegisterUser