SQLite练习
SQLite是一款轻量级的数据库引擎,它被广泛应用于移动设备上的应用程序开发,特别是在Android系统中。SQLite支持SQL标准,使得开发者能够轻松地在本地存储和管理数据,无需依赖服务器。在"SQLite练习"中,我们将重点探讨如何在Android开发中使用SQLite来创建一个简单日志系统,实现增、删、改、查等基本操作。 我们需要在Android项目中添加SQLite支持。这通常涉及到创建一个SQLiteOpenHelper的子类,这个类会处理数据库的创建、升级以及版本管理。例如,我们可以创建一个名为`NotePadDBHelper`的类,继承自SQLiteOpenHelper,并在构造函数中指定数据库的名称和版本号。 ```java public class NotePadDBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "NotePad.db"; public static final int DATABASE_VERSION = 1; // 其他代码... } ``` 接着,我们需要在`onCreate()`方法中编写SQL语句来创建数据库表。在这个例子中,我们的日志表可能包含两列:`title`(标题)和`content`(内容)。创建表的SQL语句如下: ```java @Override public void onCreate(SQLiteDatabase db) { String CREATE_TABLE_NOTE = "CREATE TABLE " + TABLE_NOTE + "(" + COLUMN_ID + " INTEGER PRIMARY KEY," + COLUMN_TITLE + " TEXT," + COLUMN_CONTENT + " TEXT" + ")"; db.execSQL(CREATE_TABLE_NOTE); } ``` 在Android中,我们通过ContentResolver和ContentProvider来与SQLite交互。然而,对于简单的应用,可以直接使用SQLiteOpenHelper的`getWritableDatabase()`或`getReadableDatabase()`方法获取数据库实例,然后执行SQL操作。例如,插入一条日志记录: ```java public void insertNote(String title, String content) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(COLUMN_TITLE, title); values.put(COLUMN_CONTENT, content); long id = db.insert(TABLE_NOTE, null, values); db.close(); // 关闭数据库连接 } ``` 查询操作可以使用`rawQuery()`方法,传入SQL查询语句。例如,获取所有日志记录: ```java public List<Note> getAllNotes() { List<Note> noteList = new ArrayList<>(); SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.query(TABLE_NOTE, new String[]{COLUMN_ID, COLUMN_TITLE, COLUMN_CONTENT}, null, null, null, null, null); if (cursor != null) { while (cursor.moveToNext()) { Note note = new Note(); note.setId(cursor.getInt(cursor.getColumnIndex(COLUMN_ID))); note.setTitle(cursor.getString(cursor.getColumnIndex(COLUMN_TITLE))); note.setContent(cursor.getString(cursor.getColumnIndex(COLUMN_CONTENT))); noteList.add(note); } } cursor.close(); db.close(); return noteList; } ``` 对于更新和删除操作,我们可以使用`update()`和`delete()`方法。更新一条日志记录: ```java public int updateNote(Note note) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(COLUMN_TITLE, note.getTitle()); values.put(COLUMN_CONTENT, note.getContent()); return db.update(TABLE_NOTE, values, COLUMN_ID + " = ?", new String[]{String.valueOf(note.getId())}); } ``` 删除一条日志记录: ```java public void deleteNote(int id) { SQLiteDatabase db = this.getWritableDatabase(); db.delete(TABLE_NOTE, COLUMN_ID + " = ?", new String[]{String.valueOf(id)}); db.close(); } ``` 在实际应用中,我们还需要处理用户界面与数据库之间的交互,比如使用ListView显示日志列表,使用EditText和Button进行编辑和保存操作,以及处理异常情况。在"Prac_NotePad"项目中,这些细节都将得到实践和实现。 SQLite是Android开发中的一个重要组成部分,它为我们提供了在本地存储结构化数据的能力。通过学习和实践如何使用SQLite,开发者能够创建功能丰富的应用程序,满足用户的日常需求。在"SQLite练习"中,我们将深入理解这一技术,并通过实际操作提升技能。
- 1
- 粉丝: 3
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助