日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
安卓數(shù)據(jù)庫存儲路徑詳解 (安卓生成的數(shù)據(jù)庫在哪里)

對于安卓應(yīng)用來說,數(shù)據(jù)存儲一直是一個非常重要的問題。在應(yīng)用程序中需要進行數(shù)據(jù)的存儲和管理,而數(shù)據(jù)庫的應(yīng)用范圍非常廣泛,無論是小型的本地數(shù)據(jù)庫還是較大規(guī)模的云數(shù)據(jù)庫,都需要進行一些合理的配置。在安卓系統(tǒng)中,數(shù)據(jù)庫的存儲路徑也是需要進行配置的。本文將就安卓數(shù)據(jù)庫存儲路徑進行詳細的講解。

創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計,向陽網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設(shè)10年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:向陽等地區(qū)。向陽做網(wǎng)站價格咨詢:13518219792

一、安卓數(shù)據(jù)庫存儲路徑的概述

對于開發(fā)人員而言,需要了解安卓系統(tǒng)中數(shù)據(jù)庫的存儲路徑,以此來進行數(shù)據(jù)庫的創(chuàng)建、訪問以及備份等相關(guān)操作。而安卓系統(tǒng)中的數(shù)據(jù)庫存儲路徑默認是在/data/data//databases/下,其中“包名”是應(yīng)用程序的包名。 這個路徑是一個應(yīng)用程序私有的文件存儲路徑,只有應(yīng)用程序本身才能訪問這些文件。

對于一些需要對數(shù)據(jù)庫進行備份操作的應(yīng)用程序,要注意備份文件存放路徑的選擇,以免數(shù)據(jù)被誤刪除。在備份文件存放路徑選擇時,可以考慮將備份文件存放在應(yīng)用程序外部的存儲介質(zhì)中,例如SD卡等。

二、安卓數(shù)據(jù)庫存儲路徑的具體實現(xiàn)

1.創(chuàng)建數(shù)據(jù)庫

創(chuàng)建數(shù)據(jù)庫時需要指定數(shù)據(jù)庫文件存放的路徑,如果不指定,則默認生成的數(shù)據(jù)庫存放路徑為/data/data//databases/。創(chuàng)建數(shù)據(jù)庫的方式有兩種,一種是使用SQLiteOpenHelper輔助類中的構(gòu)造函數(shù),另一種是直接通過SQLiteDatabase的openDatabase方法打開已經(jīng)存在的數(shù)據(jù)庫。

下面以SQLiteOpenHelper為例,代碼如下:

//聲明帶有參數(shù)的構(gòu)造函數(shù)

public DBHelper(Context context, int version){

super(context, “myDatabase.db”, null, version);

}

//創(chuàng)建數(shù)據(jù)庫方法

public void onCreate(SQLiteDatabase db) {

//創(chuàng)建數(shù)據(jù)表

db.execSQL(“create table user(id integer primary key autoincrement, name varchar(20))”);

}

接下來就可以在應(yīng)用程序中使用這個數(shù)據(jù)庫了。當(dāng)然,可以在實例化SQLiteOpenHelper時指定數(shù)據(jù)存放路徑。

2.備份數(shù)據(jù)庫

在應(yīng)用程序備份數(shù)據(jù)庫時,需要將數(shù)據(jù)庫文件復(fù)制到指定存儲介質(zhì)中。下面是一個例子:

public boolean backupDatabase(String destPath) {

FileInputStream fis = null;

FileOutputStream fos = null;

File source = new File(“/data/data//databases/myDatabase.db”);

File dest = new File(destPath);

try {

if (!dest.exists()) {

dest.createNewFile();

}

fis = new FileInputStream(source);

fos = new FileOutputStream(dest);

int len = 0;

byte[] buffer = new byte[1024];

while ((len = fis.read(buffer)) != -1) {

fos.write(buffer, 0, len);

}

fis.close();

fos.close();

return true;

} catch (Exception e) {

e.printStackTrace();

}

return false;

}

在上述代碼中,將數(shù)據(jù)庫文件復(fù)制到外部存儲介質(zhì)中,所以需要WRITE_EXTERNAL_STORAGE權(quán)限。這種方式備份的數(shù)據(jù)庫可以被其他應(yīng)用程序讀取和操作。在備份數(shù)據(jù)庫時,要注意文件夾是否存在,文件名是否正確等問題。

3.還原數(shù)據(jù)庫

還原數(shù)據(jù)庫與備份數(shù)據(jù)庫類似,只是將存儲介質(zhì)中的數(shù)據(jù)庫文件復(fù)制回應(yīng)用程序的數(shù)據(jù)庫存儲路徑中。下面是一個例子:

public boolean restoreDatabase(String srcPath) {

FileInputStream fis = null;

FileOutputStream fos = null;

File dest = new File(“/data/data//databases/myDatabase.db”);

File source = new File(srcPath);

try {

if (!dest.exists()) {

dest.createNewFile();

}

fis = new FileInputStream(source);

fos = new FileOutputStream(dest);

int len = 0;

byte[] buffer = new byte[1024];

while ((len = fis.read(buffer)) != -1) {

fos.write(buffer, 0, len);

}

fis.close();

fos.close();

return true;

} catch (Exception e) {

e.printStackTrace();

}

return false;

}

需要注意的是,在還原數(shù)據(jù)庫時,要保證存儲介質(zhì)中存在備份文件,文件名和路徑是否正確,以及是否有相應(yīng)的權(quán)限。

三、

相關(guān)問題拓展閱讀:

  • 安卓手機開發(fā),創(chuàng)建SQlite數(shù)據(jù)庫后,默認路徑是存

安卓手機開發(fā),創(chuàng)建SQlite數(shù)據(jù)庫后,默認路徑是存

要找的sqlite數(shù)據(jù)叢盯做庫 文件,默認情況下存儲在這個位則租置 C:Documents and SettingsAdministratorandroidavd 虛擬機名字avd/userdataimg這個鏡像文件中。 如果想不打開虛擬機就找到你的數(shù)據(jù)庫文件,已滲衡經(jīng)試過ultraiso無法識別這種鏡像格式。

關(guān)于安卓生成的數(shù)據(jù)庫在哪里的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

成都服務(wù)器租用選創(chuàng)新互聯(lián),先試用再開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)提供簡單好用,價格厚道的香港/美國云服務(wù)器和獨立服務(wù)器。物理服務(wù)器托管租用:四川成都、綿陽、重慶、貴陽機房服務(wù)器托管租用。


文章標(biāo)題:安卓數(shù)據(jù)庫存儲路徑詳解 (安卓生成的數(shù)據(jù)庫在哪里)
鏈接地址:http://www.5511xx.com/article/djicedc.html