本文介紹了我可以從除Drawable或Assets之外的任何其他文件夾加載文件嗎?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧!
問題描述
我知道Android中的大多數(shù)文件訪問方法一般都是通過訪問Drawable(使用R.Drawable..)來執(zhí)行的。或某些資產(chǎn)(使用AssetManager)。
無論如何,我是否可以訪問我的Android項目名稱下的任何其他文件夾,如myFolderA或myNewFolderA?
如果可能的話,我想這些其他方式可能不被認為是正常的,但我只想知道這是否可能。
推薦答案
我是否可以訪問Android項目名稱下的
myfolderA
或myNewFolderA
等上述文件夾以外的其他文件夾?
是您可以,如Android Documentation中所述:
Android使用的文件系統(tǒng)類似于其他平臺上的基于磁盤的文件系統(tǒng)。您可以使用Android文件系統(tǒng)File APIs
讀寫文件。
File
對象適合以從頭到尾的順序讀取或?qū)懭氪罅繑?shù)據(jù),而無需跳過。例如,它適用于圖像文件或通過網(wǎng)絡(luò)交換的任何內(nèi)容。
您還必須注意在哪里讀/寫您的文件:
內(nèi)部和外部存儲
所有Android設(shè)備都有兩個文件存儲區(qū)域:內(nèi)部存儲和外部存儲。這些名字來自Android的早期,當時大多數(shù)設(shè)備都提供內(nèi)置的非易失性存儲器(內(nèi)部存儲),以及微型SD卡(外部存儲)等可移動存儲介質(zhì)。有些設(shè)備將永久存儲空間分為&內(nèi)部和外部分區(qū),因此即使沒有可移動存儲介質(zhì),也總是有兩個存儲空間,并且無論外部存儲是可移動的還是不可移動的,API的行為都是相同的。以下列表匯總了有關(guān)每個存儲空間的事實。
在內(nèi)部存儲上保存文件
在將文件保存到內(nèi)部存儲時,您可以通過調(diào)用以下兩種方法之一獲取相應(yīng)的目錄File
:
getFilesDir()
返回表示您的應(yīng)用的內(nèi)部目錄的文件。
getCacheDir()
返回代表應(yīng)用程序臨時緩存文件的內(nèi)部目錄的文件。確保在不再需要每個文件時將其刪除,并對您在任何給定時間使用的內(nèi)存量實施合理的大小限制,例如1 MB。如果系統(tǒng)存儲空間開始不足,它可能會在沒有警告的情況下刪除您的緩存文件。
要在其中一個目錄中創(chuàng)建新文件,可以使用
File()
構(gòu)造函數(shù),傳遞由上述方法之一提供的File
,該方法指定您的內(nèi)部存儲目錄。例如:
File file = new File(context.getFilesDir(), filename);
外部存儲的權(quán)限:
為了允許您進行讀寫,您必須授予權(quán)限:
<manifest ...>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
</manifest>
這篇關(guān)于我可以從除Drawable或Assets之外的任何其他文件夾加載文件嗎?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,