创建一个新的Android工程,创建界面如图所示,通过用户输入的姓名和手机号码,将数据保存至数据库。可以通过相应的功能按钮实现数据库中数据的增删改查功能:点击添加将输入的姓名和电话添加至数据库;点击查询展示数据库表数据,点击修改可修改对应姓名的手机号码,点击删除清空数据库表所有数据。
时间: 2023-06-26 12:03:15 浏览: 88
好的,我会为你提供大概的思路和步骤。
1. 创建一个新的Android工程,命名为“DatabaseDemo”。
2. 在activity_main.xml文件中创建界面,包括两个EditText控件用于输入姓名和手机号码,四个Button控件分别对应添加、查询、修改、删除功能。
3. 在MainActivity.java文件中定义数据库相关的变量和常量,包括数据库名称、表名称、列名称等。
4. 在MainActivity.java文件中实现添加、查询、修改、删除功能对应的方法,使用SQLiteOpenHelper类完成数据库的创建和升级操作。
5. 在MainActivity.java文件中调用对应的方法,完成相应功能的实现。
以下是一个简单的示例代码:
1. activity_main.xml文件:
```
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<EditText
android:id="@+id/edit_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="姓名" />
<EditText
android:id="@+id/edit_phone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="手机号码" />
<Button
android:id="@+id/btn_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加" />
<Button
android:id="@+id/btn_query"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查询" />
<Button
android:id="@+id/btn_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="修改" />
<Button
android:id="@+id/btn_delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删除" />
</LinearLayout>
```
2. MainActivity.java文件:
```
public class MainActivity extends AppCompatActivity {
private EditText mEditName;
private EditText mEditPhone;
private Button mBtnAdd;
private Button mBtnQuery;
private Button mBtnUpdate;
private Button mBtnDelete;
private SQLiteDatabase mDatabase;
private static final String DB_NAME = "mydb.db";
private static final String TABLE_NAME = "mytable";
private static final String COLUMN_ID = "_id";
private static final String COLUMN_NAME = "name";
private static final String COLUMN_PHONE = "phone";
private static final int DB_VERSION = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEditName = findViewById(R.id.edit_name);
mEditPhone = findViewById(R.id.edit_phone);
mBtnAdd = findViewById(R.id.btn_add);
mBtnQuery = findViewById(R.id.btn_query);
mBtnUpdate = findViewById(R.id.btn_update);
mBtnDelete = findViewById(R.id.btn_delete);
mBtnAdd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = mEditName.getText().toString();
String phone = mEditPhone.getText().toString();
ContentValues values = new ContentValues();
values.put(COLUMN_NAME, name);
values.put(COLUMN_PHONE, phone);
mDatabase.insert(TABLE_NAME, null, values);
Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();
}
});
mBtnQuery.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Cursor cursor = mDatabase.query(TABLE_NAME, null, null, null, null, null, null);
StringBuilder builder = new StringBuilder();
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex(COLUMN_ID));
String name = cursor.getString(cursor.getColumnIndex(COLUMN_NAME));
String phone = cursor.getString(cursor.getColumnIndex(COLUMN_PHONE));
builder.append("id: ").append(id).append(", name: ").append(name)
.append(", phone: ").append(phone).append("\n");
}
cursor.close();
Toast.makeText(MainActivity.this, builder.toString(), Toast.LENGTH_LONG).show();
}
});
mBtnUpdate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String name = mEditName.getText().toString();
String phone = mEditPhone.getText().toString();
ContentValues values = new ContentValues();
values.put(COLUMN_PHONE, phone);
mDatabase.update(TABLE_NAME, values, COLUMN_NAME + "=?", new String[] { name });
Toast.makeText(MainActivity.this, "修改成功", Toast.LENGTH_SHORT).show();
}
});
mBtnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mDatabase.delete(TABLE_NAME, null, null);
Toast.makeText(MainActivity.this, "删除成功", Toast.LENGTH_SHORT).show();
}
});
MyDatabaseHelper helper = new MyDatabaseHelper(this, DB_NAME, null, DB_VERSION);
mDatabase = helper.getWritableDatabase();
}
@Override
protected void onDestroy() {
super.onDestroy();
mDatabase.close();
}
private static class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String CREATE_TABLE = "create table " + TABLE_NAME
+ " (" + COLUMN_ID + " integer primary key autoincrement, "
+ COLUMN_NAME + " text not null, "
+ COLUMN_PHONE + " text not null)";
public MyDatabaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists " + TABLE_NAME);
onCreate(db);
}
}
}
```
这个示例代码实现了基本的增删改查操作,你可以根据自己的需求进行修改和扩展。
阅读全文