新聞中心
Android開(kāi)發(fā)中,我們通常會(huì)使用SQLite數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)和管理數(shù)據(jù)。而有些時(shí)候,我們可能需要導(dǎo)入已存在的外部數(shù)據(jù)庫(kù)文件,以便我們能夠在我們的應(yīng)用程序中使用。那么,如何導(dǎo)入外部數(shù)據(jù)庫(kù)呢?本文將為你提供詳細(xì)的步驟和方法。

十多年的陵川網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。全網(wǎng)整合營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整陵川建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。成都創(chuàng)新互聯(lián)公司從事“陵川網(wǎng)站設(shè)計(jì)”,“陵川網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
1. 準(zhǔn)備工作
在開(kāi)始導(dǎo)入外部數(shù)據(jù)庫(kù)之前,我們需要準(zhǔn)備一些工具和文件。具體如下:
1.1. SQLite數(shù)據(jù)庫(kù)管理工具
在導(dǎo)入外部數(shù)據(jù)庫(kù)之前,我們需要使用SQLite數(shù)據(jù)庫(kù)管理工具來(lái)創(chuàng)建和編輯我們的數(shù)據(jù)庫(kù)文件??梢允褂靡韵氯我庖环NSQLite數(shù)據(jù)庫(kù)管理工具:
– SQLiteStudio
– SQLite Expert
– DB Browser for SQLite
– Navicat for SQLite
1.2. 外部數(shù)據(jù)庫(kù)文件
在準(zhǔn)備工作中,我們需要有一份我們需要導(dǎo)入的外部數(shù)據(jù)庫(kù)文件??梢詮囊韵挛恢毛@取到 SQLite 數(shù)據(jù)庫(kù)文件:
– 在現(xiàn)有SQLite數(shù)據(jù)庫(kù)中導(dǎo)出
– 從 Web 或外部服務(wù)商下載
1.3. Android Studio
我們需要在 Android Studio 中打開(kāi)我們的項(xiàng)目,并編寫(xiě)代碼來(lái)實(shí)現(xiàn)導(dǎo)入外部數(shù)據(jù)庫(kù)的功能。
2. 將外部數(shù)據(jù)庫(kù)文件復(fù)制到應(yīng)用的內(nèi)部存儲(chǔ)
由于外部數(shù)據(jù)庫(kù)文件并不在我們的應(yīng)用程序類路徑下,所以我們需要將其復(fù)制到我們的應(yīng)用程序內(nèi)部存儲(chǔ)中。可以在以下任意一種位置獲取到應(yīng)用內(nèi)部存儲(chǔ)路徑:
– 像這樣使用 Context.getFilesDir() 來(lái)獲取應(yīng)用程序數(shù)據(jù)的根目錄,例如:/data/data/com.your.package/files/
– 在 GridView 中使用 Environment.getExternalStorageDirectory() + “/foldername”獲取SD卡文件夾路徑。
執(zhí)行以下步驟來(lái)將外部數(shù)據(jù)庫(kù)文件復(fù)制到應(yīng)用程序的內(nèi)部存儲(chǔ):
2.1. 將外部數(shù)據(jù)庫(kù)文件從源位置復(fù)制到我們的 Android 項(xiàng)目的 assets 目錄中。
2.2. 創(chuàng)建一個(gè)舊數(shù)據(jù)庫(kù)名稱和新數(shù)據(jù)庫(kù)名稱。舊數(shù)據(jù)庫(kù)名稱是外部數(shù)據(jù)庫(kù)文件的名稱,新數(shù)據(jù)庫(kù)名稱是復(fù)制并粘貼到內(nèi)部存儲(chǔ)的數(shù)據(jù)庫(kù)名稱。
2.3. 使用方法`.getApllicationContext()`獲取上下文,使用 `context.getFilesDir()`方法獲取應(yīng)用程序私有存儲(chǔ)文件夾位置。創(chuàng)建一個(gè)空白的臨時(shí)數(shù)據(jù)庫(kù)。
2.4. 打開(kāi)兩個(gè)數(shù)據(jù)庫(kù):供提取數(shù)據(jù)的舊數(shù)據(jù)庫(kù)和為存儲(chǔ)數(shù)據(jù)創(chuàng)建的新數(shù)據(jù)庫(kù)。使用以下語(yǔ)句打開(kāi)舊數(shù)據(jù)庫(kù):
`(new SQLiteOpenHelper(context, OLD_DATABASE_NAME, null, 1) {`
2.5. 創(chuàng)建一個(gè)空的舊表和一個(gè)新表,或者使用一個(gè)現(xiàn)有的舊表和新表。
2.6. 從舊表中導(dǎo)入數(shù)據(jù),并將其存儲(chǔ)到新表。
2.7. 一旦完成數(shù)據(jù)移動(dòng),關(guān)閉所有的數(shù)據(jù)庫(kù)。
3. 實(shí)現(xiàn)導(dǎo)入
所述的上述步驟可以通過(guò)以下代碼實(shí)現(xiàn):
public class MnActivity extends AppCompatActivity {
public String DB_PATH;
public String DB_NAME;
SQLiteDatabase database;
public void importDatabase(){
try {
String actualPath = context.getDatabasePath(“your db”).getAbsolutePath();
DB_PATH = actualPath.substring(0, actualPath.lastIndexOf(“/”) + 1);
DB_NAME = “new_db.db”;
InputStream inputStream = context.getAssets().open(DB_NAME);
OutputStream outputStream = new FileOutputStream(DB_PATH + DB_NAME);
byte[] buffer = new byte[1024];
int length;
while ((length = inputStream.read(buffer)) > 0){
outputStream.write(buffer, 0, length);
}
outputStream.flush();
outputStream.close();
inputStream.close();
DatabaseHelper databaseHelper = new DatabaseHelper(context, DB_NAME);
databaseHelper.createDatabase();
Toast.makeText(context, “Data Imported Successfully”, Toast.LENGTH_SHORT).show();
} catch (Exception e) {
Toast.makeText(context, “Error Importing Data”, Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
4.
導(dǎo)入外部數(shù)據(jù)庫(kù)可能是一個(gè)棘手的任務(wù),但付出的努力值得。在本文中,我們已經(jīng)討論了如何使用 SQLite 數(shù)據(jù)庫(kù)管理工具創(chuàng)建和編輯數(shù)據(jù)庫(kù)文件,以及如何使用 Android Studio 將外部數(shù)據(jù)庫(kù)文件復(fù)制到應(yīng)用程序內(nèi)部存儲(chǔ),最后討論了在導(dǎo)入過(guò)程中的步驟。希望本文對(duì)你在開(kāi)發(fā)過(guò)程中有所幫助。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù)!
android中怎么導(dǎo)入外部的數(shù)據(jù)庫(kù),和讀取數(shù)據(jù)庫(kù)里面的數(shù)據(jù)到文本框中顯示
android 不是自帶的脊者sqlite數(shù)據(jù)庫(kù)的么,都是頃橘自動(dòng)生成的;你的數(shù)據(jù)庫(kù)哪來(lái)的?為什么還要雀野團(tuán)放到raw文件夾去?
android怎么將.sql格式的文件導(dǎo)入到Sqlite去
有人說(shuō)用sqlite3
sqlite3
mydb.db
>.read
dd.sql
mydb.db
就是我的android的數(shù)據(jù)庫(kù),數(shù)據(jù)表結(jié)構(gòu)就是(,)這樣的
dd.sql
就是外部數(shù)據(jù)庫(kù)
dd.sql里面的打開(kāi)就是
Insert
Into
(,)
Values(“001″,”David”);
請(qǐng)問(wèn)這樣可以導(dǎo)入么..或者有祥配什么別的方法可以導(dǎo)入?
—–參考解決方法
把mydb.db用DDMS導(dǎo)出,用navicat打開(kāi),執(zhí)行sql腳…
有人說(shuō)用謹(jǐn)虧指sqlite3
sqlite3
mydb.db
>.read
dd.sql
mydb.db
就是我的android的空激數(shù)據(jù)庫(kù),數(shù)據(jù)表結(jié)構(gòu)就是(,)這樣的
dd.sql
就是外部數(shù)據(jù)庫(kù)
dd.sql里面的打開(kāi)就是
Insert
Into
(,)
Values(“001″,”David”);
請(qǐng)問(wèn)這樣可以導(dǎo)入么..或者有什么別的方法可以導(dǎo)入?
—–參考解決方法
把mydb.db用DDMS導(dǎo)出,用navicat打開(kāi),執(zhí)行sql腳本,把mydb.db用DDMS導(dǎo)入
關(guān)于android導(dǎo)入外部數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
創(chuàng)新互聯(lián)-老牌IDC、云計(jì)算及IT信息化服務(wù)領(lǐng)域的服務(wù)供應(yīng)商,業(yè)務(wù)涵蓋IDC(互聯(lián)網(wǎng)數(shù)據(jù)中心)服務(wù)、云計(jì)算服務(wù)、IT信息化、AI算力租賃平臺(tái)(智算云),軟件開(kāi)發(fā),網(wǎng)站建設(shè),咨詢熱線:028-86922220
分享文章:Android教程:如何導(dǎo)入外部數(shù)據(jù)庫(kù)?(android導(dǎo)入外部數(shù)據(jù)庫(kù))
文章來(lái)源:http://www.dlmjj.cn/article/cdpissg.html


咨詢
建站咨詢
