日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
安卓數(shù)據(jù)庫(kù)文件存放路徑詳解(android數(shù)據(jù)庫(kù)文件路徑)

隨著移動(dòng)互聯(lián)網(wǎng)的日益普及,移動(dòng)應(yīng)用也在不斷地增加。安卓應(yīng)用開(kāi)發(fā)人員在創(chuàng)建應(yīng)用時(shí)一般會(huì)使用數(shù)據(jù)存儲(chǔ),以用來(lái)存儲(chǔ)應(yīng)用程序的數(shù)據(jù)。其中,數(shù)據(jù)庫(kù)是比較常見(jiàn)的數(shù)據(jù)存儲(chǔ)方式之一。在安卓系統(tǒng)中,數(shù)據(jù)庫(kù)文件存放路徑?jīng)Q定著數(shù)據(jù)庫(kù)文件的訪問(wèn)和存儲(chǔ)方式。本文將詳細(xì)介紹安卓數(shù)據(jù)庫(kù)文件存放路徑的相關(guān)細(xì)節(jié),希望能對(duì)安卓應(yīng)用開(kāi)發(fā)人員有所幫助。

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開(kāi)發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開(kāi)放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。成都創(chuàng)新互聯(lián)推出浙江免費(fèi)做網(wǎng)站回饋大家。

1. /data/data/package name/databases/

在安卓系統(tǒng)中,應(yīng)用默認(rèn)創(chuàng)建的數(shù)據(jù)庫(kù)都會(huì)被存儲(chǔ)在/data/data/package name/databases/路徑下。其中,package name為應(yīng)用的包名。此路徑是默認(rèn)的數(shù)據(jù)庫(kù)存儲(chǔ)路徑,且只有當(dāng)前應(yīng)用有權(quán)限來(lái)訪問(wèn)此路徑下的數(shù)據(jù)庫(kù)文件。在這個(gè)目錄下,應(yīng)用程序的數(shù)據(jù)庫(kù)文件是以.db的格式存儲(chǔ)的。應(yīng)用程序訪問(wèn)這個(gè)目錄下的數(shù)據(jù)庫(kù)文件時(shí),需要使用Context中的openOrCreateDatabase函數(shù)。

2. /data/data/package name/databases/database name

同樣是在/data/data/package name/databases/路徑下,這個(gè)路徑下的數(shù)據(jù)庫(kù)文件存儲(chǔ)方式比較特殊。直接在/databases/目錄下創(chuàng)建數(shù)據(jù)庫(kù)文件的話,應(yīng)用程序不會(huì)自動(dòng)識(shí)別這個(gè)數(shù)據(jù)庫(kù)文件。而如果在/databases/下創(chuàng)建了一個(gè)以數(shù)據(jù)庫(kù)名稱為命名的子目錄,那么這個(gè)數(shù)據(jù)庫(kù)文件就會(huì)被自動(dòng)識(shí)別并被應(yīng)用程序讀取。應(yīng)用訪問(wèn)這個(gè)目錄下的數(shù)據(jù)庫(kù)文件時(shí),需要使用DatabaseHelper類。

3. /storage/emulated/0/

該路徑是指手機(jī)內(nèi)置SD卡的存儲(chǔ)路徑。如果你的手機(jī)上沒(méi)有SD卡,那么應(yīng)用程序就會(huì)將文件存儲(chǔ)到內(nèi)設(shè)存儲(chǔ)器中。如果你的手機(jī)上安裝了SD卡,那么應(yīng)用程序默認(rèn)會(huì)將數(shù)據(jù)存儲(chǔ)到SD卡上。

4. /storage/emulated/0/Android/data/package name/files/

在Android 4.4以上版本中,為了提高手機(jī)系統(tǒng)的穩(wěn)定性和安全性,應(yīng)用程序數(shù)據(jù)存儲(chǔ)會(huì)被限制在/data/data/目錄下,但是針對(duì)一些需要可讀寫的緩存文件,Android 4.4以上版本提供了一個(gè)專門的存儲(chǔ)目錄:/Android/data/package name/files/。這個(gè)目錄也是應(yīng)用程序可以訪問(wèn)的,訪問(wèn)目錄下的數(shù)據(jù)庫(kù)文件時(shí)也需要使用Context中的openOrCreateDatabase函數(shù)。

在安卓系統(tǒng)中,由于權(quán)限的限制,只有特定的應(yīng)用程序才可以訪問(wèn)某些目錄下的數(shù)據(jù)庫(kù)文件。在應(yīng)用程序開(kāi)發(fā)時(shí),根據(jù)實(shí)際需求選擇一個(gè)合適的文件存放路徑可以提高數(shù)據(jù)的訪問(wèn)效率,更加安全和穩(wěn)定地存儲(chǔ)應(yīng)用程序的數(shù)據(jù)。

以上就是安卓數(shù)據(jù)庫(kù)文件存放路徑的詳細(xì)介紹。在應(yīng)用程序開(kāi)發(fā)中,選擇一個(gè)合適的文件存放路徑對(duì)于數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)訪問(wèn)效率至關(guān)重要。安卓開(kāi)發(fā)人員應(yīng)該注意權(quán)限問(wèn)題,合理地選擇合適的存儲(chǔ)路徑,以保證應(yīng)用程序的正常運(yùn)行。

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

  • android Room數(shù)據(jù)庫(kù)框架 怎么自定義 sqlite db文件路徑
  • 在Android中使用SQLite,用getWritableDatabase()方法創(chuàng)建后,數(shù)據(jù)庫(kù)文件在哪兒?
  • 我開(kāi)發(fā)的應(yīng)用使用SQLLITE數(shù)據(jù)庫(kù),安裝到android 手機(jī)上之后,這個(gè)數(shù)據(jù)庫(kù)文件放在哪里,怎么樣取出來(lái)

android Room數(shù)據(jù)庫(kù)框架 怎么自定義 sqlite db文件路徑

要在Android系統(tǒng)中操作SQLite數(shù)據(jù)庫(kù),是通過(guò)Android的核心類SQLiteDatabase類來(lái)實(shí)現(xiàn)的,通常情況下為了數(shù)據(jù)庫(kù)升級(jí)的需要以及使用方便,會(huì)選擇繼承SQLiteOpenHelper抽像類,但是SQLiteOpenHelper會(huì)將數(shù)據(jù)庫(kù)文件創(chuàng)建在一個(gè)固定的目錄(內(nèi)存的/data/data/目錄中),如果想使用已經(jīng)存在的數(shù)據(jù)庫(kù)文件也就是說(shuō)數(shù)據(jù)庫(kù)會(huì)和程序一起發(fā)布,就得通過(guò)使用SQLiteDabase的靜態(tài)方法OpenOrCreateDatabase()方法來(lái)得到SQLiteDabase對(duì)象,下面是一個(gè)具體操作類:

package net.my.dao;

import java.io.File;

import java.io.FileOutputStream;

import java.io.InputStream;

import net.my.jokebook.R;

import android.app.Activity;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

public class DBHelper {

//得到SD卡路徑

private final String DATABASE_PATH = android.os.Environment

.getExternalStorageDirectory().getAbsolutePath()

+ “/joke”;

private final Activity activity;

//數(shù)據(jù)庫(kù)名

private final String DATABASE_FILENAME;

public DBHelper(Context context) {

// TODO Auto-generated constructor stub

//這里直接給數(shù)據(jù)庫(kù)名

DATABASE_FILENAME = “jokebook.db3”;

activity = (Activity)context;

}

//得到操作數(shù)據(jù)庫(kù)的對(duì)象

public SQLiteDatabase openDatabase()

{

try

{

boolean b = false;

//得到數(shù)據(jù)庫(kù)的完整路徑名

String databaseFilename = DATABASE_PATH + “/” + DATABASE_FILENAME;

//將數(shù)據(jù)庫(kù)文件從資源文件放到合適地方(資源文件也就是數(shù)據(jù)庫(kù)文件放在項(xiàng)目的res下的raw目錄中)

//將數(shù)據(jù)庫(kù)文件復(fù)制到SD卡中 File dir = new File(DATABASE_PATH);

if (!dir.exists())

b = dir.mkdir();

//判斷是否存在該文件

if (!(new File(databaseFilename)).exists())

{

//不存在得到數(shù)據(jù)庫(kù)輸入流對(duì)象

InputStream is = activity.getResources().openRawResource(

R.raw.jokebook);

//創(chuàng)建輸出流

FileOutputStream fos = new FileOutputStream(databaseFilename);

//將數(shù)據(jù)輸出

byte buffer = new byte;

int count = 0;

while ((count = is.read(buffer)) > 0)

{

fos.write(buffer, 0, count);

}

//關(guān)閉資源

fos.close();

is.close();

}

//得到SQLDatabase對(duì)象

SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(

databaseFilename, null);

return database;

}

catch (Exception e)

{

System.out.println(e.getMessage());

}

return null;

}

}

寫完這個(gè)類之后,就能得到SQLiteDatabase對(duì)象,就能對(duì)數(shù)據(jù)庫(kù)操作了。

在Android中使用SQLite,用getWritableDatabase()方法創(chuàng)建后,數(shù)據(jù)庫(kù)文件在哪兒?

你看看這個(gè)對(duì)你是否有幫助。沒(méi)用過(guò)機(jī)器人SDK

數(shù)據(jù)庫(kù)存放在 /data/data/PACKAGE_NAME/databases 目錄下

你當(dāng)然可以指定數(shù)據(jù)庫(kù)名字,可以將db文件打包在工程里。

private SQLiteDatabase openDatabase() {

try {

// 獲得dictionary.db文件的絕對(duì)路徑

String databaseFilename = DATABASE_PATH + “/” + DATABASE_FILENAME;

File dir = new File(DATABASE_PATH);

// 如果/sdcard/dictionary目錄中存在,創(chuàng)建這個(gè)目錄

if (!dir.exists())

dir.mkdir();

// 如果在/sdcard/dictionary目錄中不存在

// dictionary.db文件,則從res\raw目錄中復(fù)制這個(gè)文件到

// SD卡的目錄(/sdcard/dictionary)

if (!(new File(databaseFilename)).exists()) {

// 獲得封裝dictionary.db文件的InputStream對(duì)象

InputStream is = getResources().openRawResource(

R.raw.dictionary);

FileOutputStream fos = new FileOutputStream(databaseFilename);

byte buffer = new byte;

int count = 0;

// 開(kāi)始復(fù)制dictionary.db文件

while ((count = is.read(buffer)) > 0) {

fos.write(buffer, 0, count);

}

fos.close();

is.close();

}

// 打開(kāi)/sdcard/dictionary目錄中的dictionary.db文件

SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase(

databaseFilename, null);

return database;

} catch (Exception e) {

}

return null;

我開(kāi)發(fā)的應(yīng)用使用SQLLITE數(shù)據(jù)庫(kù),安裝到android 手機(jī)上之后,這個(gè)數(shù)據(jù)庫(kù)文件放在哪里,怎么樣取出來(lái)

數(shù)據(jù)庫(kù)文件瞎段行放在/data/data/對(duì)應(yīng)的包/databases/對(duì)應(yīng)的數(shù)據(jù)庫(kù)

在控制臺(tái)中輸入adb shell 回車》ls》cd data/data》ls》cd “對(duì)應(yīng)的包”》燃升ls

取出來(lái):adb push 手機(jī)路徑 本地路徑

例磨嘩:adb pull /data/data/com.art/databases/art.db e:/

android數(shù)據(jù)庫(kù)文件路徑的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于android數(shù)據(jù)庫(kù)文件路徑,安卓數(shù)據(jù)庫(kù)文件存放路徑詳解,android Room數(shù)據(jù)庫(kù)框架 怎么自定義 sqlite db文件路徑,在Android中使用SQLite,用getWritableDatabase()方法創(chuàng)建后,數(shù)據(jù)庫(kù)文件在哪兒?,我開(kāi)發(fā)的應(yīng)用使用SQLLITE數(shù)據(jù)庫(kù),安裝到android 手機(jī)上之后,這個(gè)數(shù)據(jù)庫(kù)文件放在哪里,怎么樣取出來(lái)的信息別忘了在本站進(jìn)行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。


本文標(biāo)題:安卓數(shù)據(jù)庫(kù)文件存放路徑詳解(android數(shù)據(jù)庫(kù)文件路徑)
文章來(lái)源:http://www.dlmjj.cn/article/cdcsdhe.html