新聞中心
隨著人們對移動設備的需求和使用方式的不斷變化,移動應用開發(fā)也成為了越來越熱門的領域。而在實際的移動應用開發(fā)中,數據庫經常被用到。而對于Android應用開發(fā)而言,SQLite是它默認內置的數據庫。

不過,對于一些比較大的數據集,你不希望在每個應用程序中都以代碼的形式將數據寫入到SQLite數據庫中。相反,你可能會想要將數據文件打包為一個單獨的文件, 并將其作為應用程序的一部分分發(fā)。這意味著你需要向你的 Android 應用程序中添加一個預制數據庫。本文將對于做一些解析。
一、添加預制數據庫文件到Assets目錄中
在項目中運用一個預制的 SQLite 數據庫時,需要將該文件通過 Assets 目錄添加到項目中。Assets 目錄是一個常規(guī)目錄,用于存儲資源文件(如圖像、音頻和SQLite數據文件),它們在應用程序的其他部分中都可以使用。
要將預制數據庫文件添加到Android項目中,首先在你要將其添加到的項目中的assets目錄下新建一個文件夾,以便組織文件。文件夾的名稱不是非常重要,但它應該語義化地描述其中包含的文件(如‘databases’)。
接下來,在assets目錄中,右鍵點擊新創(chuàng)建的文件夾并選擇“Import Files”。在“Add File”對話框中,找到你想要添加文件的位置。在此處,選擇要添加到 Assets 文件夾中的 SQLite 數據庫文件,然后選擇“OK”。
二、添加SQLite數據庫helper類
接下來,在您的應用程序中創(chuàng)建一個SQLiteOpenHelper 實例。SQLiteOpenHelper 是一個方便類,可簡化 SQLite 數據庫訪問的實現(xiàn)流程。要創(chuàng)建一個SQLiteOpenHelper 子類,必須重寫以下三個虛擬方法:
“`
public class DatabaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = “test.db”;
public DatabaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
public void onCreate(SQLiteDatabase db){
}
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
“`
創(chuàng)建DatabaseHelper類后,你可以使用 SQLiteDatabase.execSQL 方法執(zhí)行數據庫操作。例如,你可以在 onCreate 方法中使用該方法創(chuàng)建數據庫表。以讀取預制的數據庫文件為例:
“`
public void onCreate(SQLiteDatabase db) {
String SQL_CREATE_PETS_TABLE = “CREATE TABLE ” + PetsContract.PetEntry.TABLE_NAME + ” (“
+ PetsContract.PetEntry._ID + ” INTEGER PRIMARY KEY AUTOINCREMENT, “
+ PetsContract.PetEntry.COLUMN_PET_NAME + ” TEXT NOT NULL, “
+ PetsContract.PetEntry.COLUMN_PET_BREED + ” TEXT, “
+ PetsContract.PetEntry.COLUMN_PET_GENDER + ” INTEGER NOT NULL, “
+ PetsContract.PetEntry.COLUMN_PET_WEIGHT + ” INTEGER NOT NULL DEFAULT 0);”;
db.execSQL(SQL_CREATE_PETS_TABLE);
// retrive database file from assets folder
try {
InputStream inputStream = mContext.getAssets().open(DATABASE_NAME);
String outputString = getDatabasePath(DATABASE_NAME).getPath();
OutputStream outputStream = new FileOutputStream(outputString);
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0) {
outputStream.write(buffer, 0, length);
}
outputStream.flush();
outputStream.close();
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
SQLiteDatabase database = SQLiteDatabase.openDatabase(getDatabasePath(DATABASE_NAME).getPath(),null, SQLiteDatabase.OPEN_READWRITE);
this.transferDbToSystem(database);
}
“`
三、查詢數據庫
一旦 SQLiteOpenHelper 子類被實例化,就可以在你的應用程序中添加代碼來使用數據庫。例如,你可以將所有數據反映在 RecyclerView 中,如下面的示例。
“`
public Cursor getAllPets() {
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery(“SELECT * FROM ” + PetsContract.PetEntry.TABLE_NAME, null);
return res;
}
“`
四、
盡管內置SQLite數據庫可以滿足我們的日常需要,但當面臨大量數據的時候,我們不希望在每個應用程序中都以代碼的形式將數據寫入到SQLite數據庫中。相反,將其打包為一個單獨的文件,作為應用程序的一部分分發(fā),顯得尤為必要。本文對于做了一些解析,希望對廣大Android開發(fā)者朋友有所幫助。
成都網站建設公司-創(chuàng)新互聯(lián),建站經驗豐富以策略為先導10多年以來專注數字化網站建設,提供企業(yè)網站建設,高端網站設計,響應式網站制作,設計師量身打造品牌風格,熱線:028-86922220用SQLite expert創(chuàng)建的數據庫,如何導入到android中
這種方式不好,更新數據庫版本不方便
這個或毀你可以把那個老碼創(chuàng)建包導出來,侍團哪然后倒進
在data 中找到你的項目文件,倒進去就好了
放到data目錄和mnt下都可以。只是你訪問的路徑對了就行
數據庫文件導入android工程的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于數據庫文件導入android工程,Android工程如何導入數據庫文件,用SQLite expert創(chuàng)建的數據庫,如何導入到android中的信息別忘了在本站進行查找喔。
成都創(chuàng)新互聯(lián)科技公司主營:網站設計、網站建設、小程序制作、成都軟件開發(fā)、網頁設計、微信開發(fā)、成都小程序開發(fā)、網站制作、網站開發(fā)等業(yè)務,是專業(yè)的成都做小程序公司、成都網站建設公司、成都做網站的公司。創(chuàng)新互聯(lián)公司集小程序制作創(chuàng)意,網站制作策劃,畫冊、網頁、VI設計,網站、軟件、微信、小程序開發(fā)于一體。
網站標題:Android工程如何導入數據庫文件(數據庫文件導入android工程)
本文地址:http://fisionsoft.com.cn/article/djigsgc.html


咨詢
建站咨詢
