導航:首頁 > 文件教程 > android保存文件files

android保存文件files

發布時間:2023-07-14 06:17:36

❶ Android數據存儲之File總結

在使用File存儲App數據時,我們需要了解Android系統的存儲系統。Android的存儲分為內部存儲和外部存儲。

由於Android系統的廠商比較多,對於外部存儲目錄的定義有所不同,可能在根目錄下的mnt,sdcard和storage下。以storage為例,打開emulated/0目錄,外部存儲目錄就出現了。雖然可以通過多種路徑打開外部存儲文件,但是最終他們的路徑是相同的:

mnt:

storage:

sdcard:

外部存儲目錄下包含兩大類:公有目錄和私有目錄

私有目錄:

對比下來External有以下幾點優點:

缺點:

內部存儲與外部存儲許可權申請對比如下:

首先我們要獲取外部存儲目標文件的路徑:

然後確定自己需要創建的文件名,結合上面的到的路徑,創建一個File對象:

Android系統默認數據清理的路徑是,內部存儲目錄中相應的cache文件夾中的文件和外部存儲中相應的cache文件夾中的文件。

你的app的internal storage 目錄是以你的app的包名作為標識存放在Android文件系統的特定目錄下[data/data/com.example.xx]。 從技術上講,如果你設置文件為可讀的,那麼其他app就可以讀取你的internal文件。然而,其他app需要知道你的包名與文件名。若是你沒有設置為可讀或者可寫,其他app是沒有辦法讀寫的。因此只要你使用MODE_PRIVATE ,那麼這些文件就不可能被其他app所訪問。

另外記住一點,內部存儲在你的APP卸載的時候,會一塊被刪除,因此,我們可以在cache目錄裡面放置我們的圖片緩存,而且cache與files的差別在於,如果手機的內部存儲空間不夠了,會自行選擇cache目錄進行刪除,因此,不要把重要的文件放在cache文件裡面,可以放置在files裡面,因為這個文件只有在APP被卸載的時候才會被刪除。還有要注意的一點是,如果應用程序是更新操作,內部存儲不會被刪除,區別於被用戶手動卸載。

不管你是使用 () 來存儲可以共享的文件,還是使用 getExternalFilesDir() 來儲存那些對於你的app來說是私有的文件,有一點很重要,那就是你要使用那些類似DIRECTORY_PICTURES 的API的常量。那些目錄類型參數可以確保那些文件被系統正確的對待。例如,那些以DIRECTORY_RINGTONES 類型保存的文件就會被系統的media scanner認為是ringtone而不是音樂。

在開發中,不建議往內部存儲中寫太多的數據,畢竟空間有限。外部存儲在使用的時候最好能夠將文件存放在私有目錄下,這樣有利於系統維護,也避免用戶的反感。

徹底理解android中的內部存儲與外部存儲

Android存儲挖坑記

緩存文件可以放在哪裡?它們各自的特點是什麼

❷ android app文件目錄結構

原來,只要把文件寫在這里的話,可以不用動態申請許可權,只要在manifest裡面聲明許可權就ok了;

應用程序在運行的過程中如果需要向手機上保存數據,一般是把數據保存在SDcard中的。
大部分應用是直接在SDCard的根目錄下創建一個文件夾,然後把數據保存在該文件夾中。
這樣當該應用被卸載後,這些數據還保留在SDCard中,留下了垃圾數據。

並且在API
6.0之後,根目錄文件存儲是需要用戶授權的,就算你在AndroidManifest.xml中配置了存儲許可權,用戶不授權也是寫不進去了。

SD卡讀寫許可權:

如果你想讓你的應用被卸載後,與該應用相關的數據也清除掉,該怎麼辦呢?

通過

可以得到

這個目錄裡面,一般放一些長時間保存的數據

方法可以獲取到 SDCard/ Android /data/你的應用的包名/files/ 目錄,一般放一些長時間保存的數據
通過

方法可以獲取到

如果使用上面的方法,當你的應用在被用戶卸載後,SDCard/Android/data/你的應用的包名/ 這個目錄下的所有文件都會被刪除,不會留下垃圾信息。並且

這個方法獲得的文件存儲路徑適用於6.0以後系統,只要AndroidManifest.xml配置讀寫許可權了,就不需要用戶再授權了。

正常開發中獲取存儲路徑的方法是:

可以看到,當SD卡存在或者SD卡不可被移除的時候,就調用getExternalCacheDir()方法來獲取緩存路徑,否則就調用getCacheDir()方法來獲取緩存路徑。前者獲取到的就是 /sdcard/Android/data/<application package>/cache 這個路徑,而後者獲取到的是 /data/data/<application package>/cache 這個路徑。

設置->應用->應用詳情裡面的」清除數據「與」清除緩存「選項分別對應的是data/data/<application package>/和data/data/<application package>/cache

external storage (外部存儲):

Environment.getExternalStorageDirectory()SD根目錄:/mnt/sdcard/ (6.0後寫入需要用戶授權)

context.getExternalFilesDir(dir)路徑為:/mnt/sdcard/Android/data/< package name >/files/…

context.getExternalCacheDir()路徑為:/mnt/sdcard//Android/data/< package name >/cache/…

internal storage(內部存儲):

context.getFilesDir()路徑是:/data/data/< package name >/files/…

context.getCacheDir()路徑是:/data/data/< package name >/cach/…

❸ android開發怎麼存儲數據

Android平台開發過程中,進行數據存儲的方式有五種,一下是這五種數據存儲的總結:

第一種:使用SharedPreferences存儲數據

適用范圍:保存少量的數據,且這些數據的格式非常簡單:字元串型、基本類型的值。比如應用程序的各種配置信息(如是否打開音效、是否使用震動效果、小游戲的玩家積分等),解鎖口 令密碼

核心原理:保存基於XML文件存儲的key-value鍵值對數據,通常用來存儲一些簡單的配置信息。通過DDMS的File Explorer面板,展開文件瀏覽樹,很明顯SharedPreferences數據總是存儲在/data/data/<package name>/shared_prefs目錄下。SharedPreferences對象本身只能獲取數據而不支持存儲和修改,存儲修改是通過SharedPreferences.edit()獲取的內部介面Editor對象實現。SharedPreferences本身是一 個介面,程序無法直接創建SharedPreferences實例,只能通過Context提供的getSharedPreferences(String name, int mode)方法來獲取SharedPreferences實例,該方法中name表示要操作的xml文件名,第二個參數具體如下:

Context.MODE_PRIVATE: 指定該SharedPreferences數據只能被本應用程序讀、寫。

Context.MODE_WORLD_READABLE:指定該SharedPreferences數據能被其他應用程序讀,但不能寫。

Context.MODE_WORLD_WRITEABLE:指定該SharedPreferences數據能被其他應用程序讀,寫

Editor有如下主要重要方法:

SharedPreferences.Editor clear():清空SharedPreferences里所有數據

SharedPreferences.Editor putXxx(String key , xxx value):向SharedPreferences存入指定key對應的數據,其中xxx 可以是boolean,float,int等各種基本類型據

SharedPreferences.Editor remove():刪除SharedPreferences中指定key對應的數據項

boolean commit():當Editor編輯完成後,使用該方法提交修改

實際案例:運行界面如下

Android sqlite3資料庫管理工具

Android SDK的tools目錄下提供了一個sqlite3.exe工具,這是一個簡單的sqlite資料庫管理工具。開發者可以方便的使用其對sqlite資料庫進行命令行的操作。

程序運行生成的*.db文件一般位於"/data/data/項目名(包括所處包名)/databases/*.db",因此要對資料庫文件進行操作需要先找到資料庫文件:

1、進入shell 命令

adb shell

2、找到資料庫文件

#cd data/data
#ls --列出所有項目
#cd project_name --進入所需項目名
#cd databases
#ls --列出現寸的資料庫文件

3、進入資料庫

#sqlite3 test_db --進入所需資料庫

會出現類似如下字樣:

SQLite version 3.6.22
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>

至此,可對資料庫進行sql操作。

4、sqlite常用命令

>.databases --產看當前資料庫
>.tables --查看當前資料庫中的表
>.help --sqlite3幫助
>.schema --各個表的生成語句

以上便是android開發存儲數據的五種方法!

❹ 在喜馬拉雅聽書上下載的音樂保存在手機哪個文件夾

安卓系統中(華為V10為例)

內部存儲位置:/Android/data/com.ximalaya.ting.android/files/download

安卓系統有個專門的文件管理,下面根專據步驟指引屬,找到最終的文件放置位置。

1.首先到手機桌面菜單查找「文件管理」

❺ 安卓手機版騰訊視頻緩存文件在哪裡具體哪個文件夾急,怎麼轉到電腦上

1、在自己的手機上點一下「文件管理」,先打開那個文件夾。

拓展資料

1、Android是一種基於Linux的自由及開放源代碼的操作系統,主要使用於移動設備,如智能手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用「安卓」或「安致」。

2、Android操作系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的源代碼。第一部Android智能手機發布於2008年10月。

❻ Android本地存儲的幾種方式

Android 提供了5種方式存儲數據: --使用SharedPreferences存儲數據; --文件存儲數據; --SQLite資料庫存儲數據; --使用ContentProvider存儲數據; --網路存儲數據; 先說下,Preference,File, DataBase這三種方式分別對應的目錄是/data/data/Package Name/Shared_Pref, /data/data/Package Name/files, /data/data/Package Name/database 。 在Android中通常使用File存儲方式是用 Context.openFileOutput(String fileName, int mode)和Context.openFileInput(String fileName)。 Context.openFileOutput(String fileName, int mode)生成的文件自動存儲在/data/data/Package Name/files目錄下,其全路徑是/data/data/Pac

❼ Android 文件存儲-將數據保存在data目錄下

  在平常使用Android手機的時候,我們都知道,幾乎每一個app都在/data/data/<相應的包名>的文件夾下保存數據。那這些數據怎麼進行保存的呢?在這里,將簡單的介紹一下。

  Context類中有一個openFileOutPut方法,這個方法可以將我們的數據保存在data目錄下的文件裡面。
  openFileOutput(String name, int mode)方法中帶兩個參數,第一個參數是文件名,這里只能寫文件的名字,不能包含路徑,因為所有的數據都保存在/data/data/<應用包名>/files/目錄下;第二個參數是文件的操作模式,有MDOE_PRIVATE,MODE_APPEND,MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE。
  其中MODE_PRIVATE模式的是默認的操作模式,每一次寫入的內容時,都會覆蓋前面的內容;MODE_APPEND模式表示的是每次寫入的內容追加在前面的後面;MODE_WORLD_READABLE表示的是其他應用程序可以對該文件進行寫的操作;MODE_WORLD_WRITEABLE表示的是其他應用程序可以對該文件進行讀的操作。不過在後面的兩種模式過於危險,google已經在Android 4.2中廢棄了。
  openFileOutput()方法返回的是一個FileOutPutStream的對象,得到了這個對象,就可以使用Java的IO流來對文件的使用了。

  點擊保存過後,就會把我們的數據保存在data目錄下。
  如果我們想要查看的話,就可以在Android studio(我是2.3.2的版本)中找到Tools->Android->Android Device Monitor

  再打開/data/data/<應用包名>/files/,發現有一個文件,就是我們之前創建的一個文件。
  我們可以點擊右上角的圖標進行相應的導出工作,對相應的文件進行導出操作。

  在Context類中,與openFileOutput方法對應的是openFileInput方法,用戶從data目錄讀取相應的數據。這個方法相較於openFileOutput方法簡單一些。

效果示意圖:

閱讀全文

與android保存文件files相關的資料

熱點內容
g71的編程應注意什麼 瀏覽:572
文件路徑不符合是什麼意思 瀏覽:543
qq如何換綁微信綁定 瀏覽:67
文件包下載的安裝包在哪裡 瀏覽:811
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327

友情鏈接