要在安卓应用程序中访问数据库,必须首先创建一个数据库。您可以通过以下方式在您的Android Studio项目中创建数据库:
- 在您的app模块下的build.gradle文件中添加以下依赖项:
dependencies {
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'android.arch.persistence.room:runtime:1.1.1'
annotationProcessor 'android.arch.persistence.room:compiler:1.1.1'
}
- 在您的app模块下的src/main目录中创建一个Java类并将其命名为DatabaseHelper。
- 在DatabaseHelper类中定义您的数据库的表和列。
- 在DatabaseHelper类中添加以下内容以创建数据库:
public class DatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "DatabaseName";
private static final int DATABASE_VERSION = 1;
private static final String TABLE_NAME = "TableName";
private static final String COLUMN_NAME = "ColumnName";
private static final String COLUMN_AGE = "ColumnAge";
private static final String CREATE_TABLE =
"CREATE TABLE " + TABLE_NAME + " (" +
COLUMN_NAME + " TEXT," +
COLUMN_AGE + " INTEGER)";
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_NAME);
// Create tables again
onCreate(db);
}
}
- 在您的MainActivity类中使用以下代码调用DatabaseHelper并向其添加数据:
DatabaseHelper dbHelper = new DatabaseHelper(this);
// Inserting Contacts
Log.d("Insert: ", "Inserting ..");
dbHelper.addContact(new Contact("John", "555"));
dbHelper.addContact(new Contact("Mary", "456"));
dbHelper.addContact(new Contact("Tom", "789"));
dbHelper.addContact(new Contact("Jane", "147"));
// Reading all contacts
Log.d("Reading: ", "Reading all contacts..");
List<Contact> contacts = dbHelper.getAllContacts();
for (Contact cn : contacts) {
String log = "Name: " + cn.getName() + ", Phone: " + cn.getPhone();
// Writing Contacts to log
Log.d("Name: ", log);
}
上述代码将向DatabaseHelper添加四个联系人,并显示所有联系人的名称和电话号码。您可以根据需要修改此代码以满足您的特定要求。
希望这可以帮助您创建一个访问数据库的安卓应用程序!
- 创建一个数据库
- 创建一个表
- 在后台创建一个PHP接口
- 在Android Studio中创建一个类
- 添加依赖库
- 编写访问数据库的代码
- 在Android模拟器或设备上测试访问数据库的功能
- 调试和优化代码
具体操作步骤如下:
- 创建一个数据库
在阿里云上创建一个MySQL数据库,并配置好相关信息,如用户名、密码、主机地址、端口号等。
- 创建一个表
在MySQL数据库中创建一个表,定义好字段名称和数据类型。例如:
CREATE TABLE student (id int(11) NOT NULL AUTO_INCREMENT, name varchar(255) NOT NULL, age int(11) NOT NULL, PRIMARY KEY (id));
- 在后台创建一个PHP接口
在阿里云上创建一个PHP接口,用来与Android Studio进行数据交互。该接口将会接收到从Android Studio发送过来的请求,然后处理相关的逻辑,最后将结果返回给Android Studio。例如:
<?php
// 连接数据库
$conn = mysqli_connect(‘localhost’, ‘root’, ‘password’, ‘testdb’);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// 查询数据
$sql = “SELECT * FROM student”;
$result = mysqli_query($conn, $sql);
$data = array(); // 存放返回结果的数组
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
$data[] = $row;
}
}
// 把结果转换为JSON格式并返回
echo json_encode($data);
// 关闭数据库连接
mysqli_close($conn);
?>
该接口的功能是查询MySQL数据库中的所有学生信息,并将结果转换为JSON格式返回。
- 在Android Studio中创建一个类
在Android Studio中创建一个类,用来管理和访问数据库。例如:
public class DatabaseManager {
private static final String BASE_URL = "http://alibaba.com/"; // PHP接口的URL
private Context mContext;
public DatabaseManager(Context context) {
this.mContext = context;
}
public void getStudents(final OnDataReceivedListener listener) {
String url = BASE_URL + "get_students.php";
StringRequest request = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
JSONArray array = null;
try {
array = new JSONArray(response);
} catch (JSONException e) {
e.printStackTrace();
}
if (array != null) {
List<Student> students = new ArrayList<>();
for (int i = 0; i < array.length(); i++) {
try {
JSONObject object = array.getJSONObject(i);
Student student = new Student();
student.setId(object.getInt("id"));
student.setName(object.getString("name"));
student.setAge(object.getInt("age"));
students.add(student);
} catch (JSONException e) {
e.printStackTrace();
}
}
listener.onDataReceived(students);
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
MyApplication.getInstance().addToRequestQueue(request);
}
}
该类主要功能是访问PHP接口,并将结果转换为Java对象返回。
- 添加依赖库
在Android Studio中的build.gradle文件中添加以下依赖库:
dependencies {
...
implementation 'com.android.volley:volley:1.2.1'
...
}
- 编写访问数据库的代码
在Activity或Fragment中,创建一个DatabaseManager对象,并调用其getStudents()方法,从而访问PHP接口并获取到学生数据。例如:
DatabaseManager manager = new DatabaseManager(this);
manager.getStudents(new OnDataReceivedListener() {
@Override
public void onDataReceived(List<Student> students) {
// 将学生数据展示在ListView中
}
});
- 在Android模拟器或设备上测试访问数据库的功能
启动一个Android模拟器或连接一个Android设备,安装和运行上述代码。如果一切正常,将在Android屏幕上看到从PHP接口获取到的学生数据。
- 调试和优化代码
在测试过程中,如果遇到问题,可以使用Android Studio中的调试工具对代码进行调试和优化,以便更快地解决问题。
发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/158094.html