先决条件:如何将Android App与Back4App连接?
Back4App是一个在线数据库提供平台,可为我们提供服务,通过这些服务我们可以管理数据库中应用程序的数据。这是一系列4篇文章的系列文章,我们将在Android中使用Back4App执行基本的CRUD(创建,读取,更新和删除)操作。我们将在本系列中涵盖以下4篇文章:
- 如何在Android中将数据添加到Back4App数据库?
- 如何从Android中的Back4App数据库读取数据?
- 如何在Android的Back4App数据库中更新数据?
- 如何在Android的Back4App数据库中删除数据?
我们将在本文中构建什么?
我们将构建一个简单的应用程序,在该应用程序中,我们会将数据从Android应用程序添加到Back4App数据库。
分步实施
步骤1:创建一个新项目
要在Android Studio中创建新项目,请参阅如何在Android Studio中创建/启动新项目。请注意,选择Java作为编程语言。
步骤2:将您的应用程序连接到Back4App
我们已经在先决条件文章中看到了将我们的Android应用程序连接到Back4App的过程。因此,您可以查看该文章。
步骤3:在AndroidManifest.xml文件中向Internet添加权限
导航至应用程序> AndroidManifest.xml,然后将以下代码添加到其中。
XML
XML
Java
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.ParseObject;
import com.parse.SaveCallback;
public class MainActivity extends AppCompatActivity {
// creating variables for our edit text
private EditText courseNameEdt, courseDurationEdt, courseDescriptionEdt;
// creating variable for button
private Button submitCourseBtn;
// creating a strings for storing our values from edittext fields.
private String courseName, courseDuration, courseDescription;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing our edittext and buttons
courseNameEdt = findViewById(R.id.idEdtCourseName);
courseDescriptionEdt = findViewById(R.id.idEdtCourseDescription);
courseDurationEdt = findViewById(R.id.idEdtCourseDuration);
submitCourseBtn = findViewById(R.id.idBtnSubmitCourse);
submitCourseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// getting data from edittext fields.
courseName = courseNameEdt.getText().toString();
courseDescription = courseDescriptionEdt.getText().toString();
courseDuration = courseDurationEdt.getText().toString();
// validating the text fields if empty or not.
if (TextUtils.isEmpty(courseName)) {
courseNameEdt.setError("Please enter Course Name");
} else if (TextUtils.isEmpty(courseDescription)) {
courseDescriptionEdt.setError("Please enter Course Description");
} else if (TextUtils.isEmpty(courseDuration)) {
courseDurationEdt.setError("Please enter Course Duration");
} else {
// calling method to add data to Firebase Firestore.
addDataToDatabase(courseName, courseDescription, courseDuration);
}
}
});
}
private void addDataToDatabase(String courseName, String courseDescription, String courseDuration) {
// Configure Query
ParseObject courseList = new ParseObject("courses");
// on below line we are adding our data with their key value in our object.
courseList.put("courseName", courseName);
courseList.put("courseDescription", courseDescription);
courseList.put("courseDuration", courseDuration);
// after adding all data we are calling a
// method to save our data in background.
courseList.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
// inside on done method we are checking
// if the error is null or not.
if (e == null) {
// if the error is null we are displaying a simple toast message.
Toast.makeText(MainActivity.this, "Data has been successfully added to Database", Toast.LENGTH_SHORT).show();
// on below line we are setting our edit text fields to empty value.
courseNameEdt.setText("");
courseDescriptionEdt.setText("");
courseDurationEdt.setText("");
} else {
// if the error is not null we will be
// displaying an error message to our user.
Toast.makeText(getApplicationContext(), e.getMessage().toString(), Toast.LENGTH_LONG).show();
}
}
});
}
}
步骤4:使用activity_main.xml文件
导航到应用程序> res>布局> activity_main.xml,然后将以下代码添加到该文件中。以下是activity_main.xml文件的代码。
XML格式
步骤5:使用MainActivity。 Java文件
转到MainActivity。 Java文件并参考以下代码。下面是MainActivity的代码。 Java文件。在代码内部添加了注释,以更详细地了解代码。
Java
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.ParseObject;
import com.parse.SaveCallback;
public class MainActivity extends AppCompatActivity {
// creating variables for our edit text
private EditText courseNameEdt, courseDurationEdt, courseDescriptionEdt;
// creating variable for button
private Button submitCourseBtn;
// creating a strings for storing our values from edittext fields.
private String courseName, courseDuration, courseDescription;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// initializing our edittext and buttons
courseNameEdt = findViewById(R.id.idEdtCourseName);
courseDescriptionEdt = findViewById(R.id.idEdtCourseDescription);
courseDurationEdt = findViewById(R.id.idEdtCourseDuration);
submitCourseBtn = findViewById(R.id.idBtnSubmitCourse);
submitCourseBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// getting data from edittext fields.
courseName = courseNameEdt.getText().toString();
courseDescription = courseDescriptionEdt.getText().toString();
courseDuration = courseDurationEdt.getText().toString();
// validating the text fields if empty or not.
if (TextUtils.isEmpty(courseName)) {
courseNameEdt.setError("Please enter Course Name");
} else if (TextUtils.isEmpty(courseDescription)) {
courseDescriptionEdt.setError("Please enter Course Description");
} else if (TextUtils.isEmpty(courseDuration)) {
courseDurationEdt.setError("Please enter Course Duration");
} else {
// calling method to add data to Firebase Firestore.
addDataToDatabase(courseName, courseDescription, courseDuration);
}
}
});
}
private void addDataToDatabase(String courseName, String courseDescription, String courseDuration) {
// Configure Query
ParseObject courseList = new ParseObject("courses");
// on below line we are adding our data with their key value in our object.
courseList.put("courseName", courseName);
courseList.put("courseDescription", courseDescription);
courseList.put("courseDuration", courseDuration);
// after adding all data we are calling a
// method to save our data in background.
courseList.saveInBackground(new SaveCallback() {
@Override
public void done(ParseException e) {
// inside on done method we are checking
// if the error is null or not.
if (e == null) {
// if the error is null we are displaying a simple toast message.
Toast.makeText(MainActivity.this, "Data has been successfully added to Database", Toast.LENGTH_SHORT).show();
// on below line we are setting our edit text fields to empty value.
courseNameEdt.setText("");
courseDescriptionEdt.setText("");
courseDurationEdt.setText("");
} else {
// if the error is not null we will be
// displaying an error message to our user.
Toast.makeText(getApplicationContext(), e.getMessage().toString(), Toast.LENGTH_LONG).show();
}
}
});
}
}
现在运行您的应用程序,并查看该应用程序的输出。您可以查看在Back4App控制台中添加的数据。导航到Back4App控制台,然后在左侧导航栏中。您将看到课程的选项,单击该选项,您将看到由您添加的数据。
输出:
以下是执行添加操作后Android Studio中的文件结构: