Android 数据库与存储技术综合练习做一个简单APP,并附上完整代码
时间: 2024-03-05 13:51:12 浏览: 82
简单的Android数据库应用
好的,我为您提供一个简单的APP综合练习,包含了SQLite数据库的创建和增删改查操作以及SharedPreferences的使用。该APP实现了添加、删除和更新用户信息的功能。以下是完整代码:
MainActivity.java
```java
public class MainActivity extends AppCompatActivity {
private EditText mNameEt;
private EditText mAgeEt;
private TextView mResultTv;
private DBHelper mDBHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mNameEt = findViewById(R.id.name_et);
mAgeEt = findViewById(R.id.age_et);
mResultTv = findViewById(R.id.result_tv);
mDBHelper = new DBHelper(this);
// 显示已有的用户信息
showUserInfo();
}
public void addUser(View view) {
String name = mNameEt.getText().toString().trim();
int age = Integer.parseInt(mAgeEt.getText().toString().trim());
// 插入用户信息
SQLiteDatabase db = mDBHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", name);
values.put("age", age);
db.insert("user", null, values);
// 显示已有的用户信息
showUserInfo();
}
public void deleteUser(View view) {
String name = mNameEt.getText().toString().trim();
// 删除用户信息
SQLiteDatabase db = mDBHelper.getWritableDatabase();
db.delete("user", "name=?", new String[]{name});
// 显示已有的用户信息
showUserInfo();
}
public void updateUser(View view) {
String name = mNameEt.getText().toString().trim();
int age = Integer.parseInt(mAgeEt.getText().toString().trim());
// 更新用户信息
SQLiteDatabase db = mDBHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("age", age);
db.update("user", values, "name=?", new String[]{name});
// 显示已有的用户信息
showUserInfo();
}
private void showUserInfo() {
// 查询用户信息
SQLiteDatabase db = mDBHelper.getReadableDatabase();
Cursor cursor = db.query("user", null, null, null, null, null, null);
StringBuilder sb = new StringBuilder();
while (cursor.moveToNext()) {
int id = cursor.getInt(cursor.getColumnIndex("id"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
sb.append(id).append(": ").append(name).append(", ").append(age).append("\n");
}
mResultTv.setText(sb.toString());
cursor.close();
}
}
```
DBHelper.java
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "my_db";
private static final int DB_VERSION = 1;
public DBHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
String sql = "CREATE TABLE user(id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, age INTEGER)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 数据库升级操作
}
}
```
activity_main.xml
```xml
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="16dp">
<TextView
android:text="Name:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/name_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Please enter name"/>
<TextView
android:text="Age:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"/>
<EditText
android:id="@+id/age_et"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="Please enter age"/>
<Button
android:text="Add User"
android:onClick="addUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"/>
<Button
android:text="Delete User"
android:onClick="deleteUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"/>
<Button
android:text="Update User"
android:onClick="updateUser"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"/>
<TextView
android:id="@+id/result_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"/>
</LinearLayout>
```
在这个APP中,用户可以输入姓名和年龄,然后点击“Add User”按钮将其添加到数据库中。用户也可以输入姓名并点击“Delete User”按钮将其从数据库中删除,或者输入姓名和年龄并点击“Update User”按钮更新数据库中的信息。每次添加、删除或更新用户信息后,都会查询数据库中已有的用户信息并在界面上显示出来。同时,该APP还使用了SharedPreferences保存了一个布尔类型的变量,用于判断用户是否打开过APP。
以上是一个简单的综合练习示例,当然,在您的实际开发过程中,您需要根据实际需求进行更加详细的设计和开发。
阅读全文