用android studio,在Dairy数据库中查看所有记录并显示在listview中,写出SQLite数据库创建和功能实现的完整过程
时间: 2023-11-26 20:06:02 浏览: 136
SQLite是一种轻型的数据库,适用于移动设备以及小型应用程序。在Android中,SQLite也是默认的数据库,可以通过Android提供的API来创建、读取和修改SQLite数据库。下面是使用Android Studio实现SQLite数据库的创建和功能实现的完整过程:
1. 创建数据库
在Android中创建SQLite数据库需要继承SQLiteOpenHelper类,并实现onCreate()和onUpgrade()方法。在onCreate()方法中,我们需要定义数据库的表结构。
```java
public class DBHelper extends SQLiteOpenHelper {
private static final String DATABASE_NAME = "dairy.db";
private static final int DATABASE_VERSION = 1;
public DBHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
// 定义表结构
String sql = "CREATE TABLE dairy (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT, content TEXT, date TEXT)";
db.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// 升级数据库版本
db.execSQL("DROP TABLE IF EXISTS dairy");
onCreate(db);
}
}
```
2. 插入数据
在插入数据之前,我们需要获取一个可写的数据库实例,并通过ContentValues对象来设置要插入的数据。
```java
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", "今天的日记");
values.put("content", "今天天气很好");
values.put("date", "2021-01-01");
db.insert("dairy", null, values);
db.close();
```
3. 查询数据
查询数据需要使用到Cursor对象,它可以通过执行SQL语句来获取数据。
```java
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("dairy", null, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
String title = cursor.getString(cursor.getColumnIndex("title"));
String content = cursor.getString(cursor.getColumnIndex("content"));
String date = cursor.getString(cursor.getColumnIndex("date"));
// 将数据添加到ListView中
} while (cursor.moveToNext());
}
cursor.close();
db.close();
```
4. 更新数据
更新数据需要使用到ContentValues对象,我们可以先查询要更新的数据,然后将更新后的数据保存到ContentValues中,再执行update()方法。
```java
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("title", "更新后的日记");
values.put("content", "今天天气依然很好");
values.put("date", "2021-01-02");
db.update("dairy", values, "id=?", new String[]{"1"});
db.close();
```
5. 删除数据
删除数据同样需要使用到SQLiteDatabase对象,我们可以通过执行delete()方法来删除指定的数据。
```java
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getWritableDatabase();
db.delete("dairy", "id=?", new String[]{"1"});
db.close();
```
6. 显示数据
在Android中,我们可以使用ListView控件来显示数据,需要定义一个Adapter来将数据显示在ListView中。
```java
DBHelper dbHelper = new DBHelper(this);
SQLiteDatabase db = dbHelper.getReadableDatabase();
Cursor cursor = db.query("dairy", null, null, null, null, null, null);
ArrayList<Map<String, String>> list = new ArrayList<>();
if (cursor.moveToFirst()) {
do {
Map<String, String> map = new HashMap<>();
String title = cursor.getString(cursor.getColumnIndex("title"));
String content = cursor.getString(cursor.getColumnIndex("content"));
String date = cursor.getString(cursor.getColumnIndex("date"));
map.put("title", title);
map.put("content", content);
map.put("date", date);
list.add(map);
} while (cursor.moveToNext());
}
SimpleAdapter adapter = new SimpleAdapter(this, list, android.R.layout.simple_list_item_2,
new String[]{"title", "content", "date"}, new int[]{android.R.id.text1, android.R.id.text2});
ListView listView = findViewById(R.id.list_view);
listView.setAdapter(adapter);
cursor.close();
db.close();
```
以上就是使用Android Studio实现SQLite数据库的创建和功能实现的完整过程。实际应用中,我们还需要对数据进行合理的管理和处理,以保证数据的安全性和可靠性。
阅读全文