Android是一个开放源码的操作系统,在移动设备上的应用非常广泛。而在Android应用开发中,SQLite是一种非常常用的轻量级嵌入式关系型数据库,它非常适合存储在设备上的数据(如音乐、视频、联系人等)。下面,本文将为大家介绍Android使用SQLite数据库的示例。
创建SQLite数据库
在Android开发中创建SQLite数据库,需要完成以下步骤:
-
创建SQLiteOpenHelper实例,该实例会创建数据库文件并返回操作数据库的DAO(Data Access Object);
-
实现创建数据库文件和表的方法,可以在onCreate()方法中实现,也可以在onUpgrade()中实现;
-
在应用程序中使用DAO来操作SQLite数据库。
下面是一个创建SQLite数据库的示例:
public class DBHelper extends SQLiteOpenHelper {
private static final String DB_NAME = "mydb.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 CREATE_BOOK_TABLE = "CREATE TABLE book(" +
"id INTEGER PRIMARY KEY," +
"name TEXT," +
"author TEXT," +
"publish_date TEXT" +
")";
db.execSQL(CREATE_BOOK_TABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String DROP_BOOK_TABLE = "DROP TABLE IF EXISTS book";
db.execSQL(DROP_BOOK_TABLE);
onCreate(db);
}
}
向SQLite数据库中插入数据
要向SQLite数据库中插入数据,需要使用ContentValues对象,它可以帮助我们向数据库中插入数据。下面是一个向SQLite数据库中插入数据的示例:
public class BookDao {
private SQLiteDatabase db;
public BookDao(Context context) {
DBHelper dbHelper = new DBHelper(context);
db = dbHelper.getWritableDatabase();
}
public void addBook(Book book) {
ContentValues values = new ContentValues();
values.put("name", book.getName());
values.put("author", book.getAuthor());
values.put("publish_date", book.getPublishDate());
db.insert("book", null, values);
}
}
从SQLite数据库中查询数据
要从SQLite数据库中查询数据,需要使用Cursor类,它可以帮助我们从数据库中查询数据。下面是一个从SQLite数据库中查询数据的示例:
public class BookDao {
private SQLiteDatabase db;
public BookDao(Context context) {
DBHelper dbHelper = new DBHelper(context);
db = dbHelper.getWritableDatabase();
}
public List<Book> getAllBooks() {
List<Book> bookList = new ArrayList<>();
Cursor cursor = db.rawQuery("SELECT * FROM book", null);
if (cursor.moveToFirst()) {
do {
Book book = new Book();
book.setId(cursor.getInt(cursor.getColumnIndex("id")));
book.setName(cursor.getString(cursor.getColumnIndex("name")));
book.setAuthor(cursor.getString(cursor.getColumnIndex("author")));
book.setPublishDate(cursor.getString(cursor.getColumnIndex("publish_date")));
bookList.add(book);
} while (cursor.moveToNext());
}
cursor.close();
return bookList;
}
}
以上是两条简单的操作示例,实际上操作SQLite数据库的方式非常多,具体实现要看应用的实际需求。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Android使用SQLite数据库的示例 - Python技术站