我在Java应用程序中创建了一个sqlite数据库,并将其推送到我的Android设备上。我想读取这个数据库(也可能稍后写入它)。到目前为止,我找到的大多数教程都是在Android内部创建DB...
我不认为我需要覆盖SQLiteOpenHelper类的onCreate()和onUpdate()方法,对吗?此外,下面的教程中创建表格的部分,由于我已经有了自己的数据库。
你们知道任何教程、示例代码吗?
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "contactsManager";
// Contacts table name
private static final String TABLE_CONTACTS = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
// Create tables again
onCreate(db);
}
我只需要打开我在内存中的数据库,对我的数据库执行一个SQL查询并获取结果。
copyDataBase
方法将数据库从应用文件中提取出来,并复制到您的应用程序数据库目录中,以便您可以实际使用它。当您更改模式(或内容)时,您需要更改版本号。如果您在onUpgrade
方法中编写代码,就可以更新您的数据库。 - Barak