編輯:關於Android編程
一、方法介紹:
每個Android應用程序都可以通過Context來獲取與應用程序相關的目錄,這些目錄的功能各異,每一個目錄都有自己的特點,有時候可能會搞混淆,本文結合android源碼注釋和實際操作,詳細介紹一下每個方法:
方法:getFilesDir
釋義:返回通過Context.openFileOutput()創建和存儲的文件系統的絕對路徑,應用程序文件,這些文件會在程序被卸載的時候全部刪掉。
方法:getCacheDir
釋義:返回應用程序指定的緩存目錄,這些文件在設備內存不足時會優先被刪除掉,所以存放在這裡的文件是沒有任何保障的,可能會隨時丟掉。
方法:getDir
釋義:這是一個可以存放你自己應用程序自定義的文件,你可以通過該方法返回的File實例來創建或者訪問這個目錄,注意該目錄下的文件只有你自己的程序可以訪問。
方法:getExternalCacheDir
釋義:使用這個方法需要寫外部存儲的權限“
方法:getExternalFilesDir
釋義:使用這個方法需要寫外部存儲的權限“
方法:getExternalFilesDir
釋義:和上面的方法一樣,只是返回的是其目錄下某一類型的文件,這些類型可以是:
Environment#DIRECTORY_MUSIC 音樂
Environment#DIRECTORY_PODCASTS 音頻
Environment#DIRECTORY_RINGTONES 鈴聲
Environment#DIRECTORY_ALARMS 鬧鈴
Environment#DIRECTORY_NOTIFICATIONS 通知鈴聲
Environment#DIRECTORY_PICTURES 圖片
Environment#DIRECTORY_MOVIES 視頻
方法:getDatabasePath
釋義:保存通過Context.openOrCreateDatabase 創建的數據庫文件
方法:getPackageCodePath
釋義:返回android 安裝包的完整路徑,這個包是一個zip的壓縮文件,它包括應用程序的代碼和assets文件。
方法:getPackageResourcePath
釋義:返回android 安裝包的完整路徑,這個包是一個ZIP的要鎖文件,它包括應用程序的私有資源。
方法:getObbDir
釋義:返回應用程序的OBB文件目錄(如果有的話),注意如果該應用程序沒有任何OBB文件,這個目錄是不存在的。
二、測試程序:
測試代碼如下:
private StringBuilder getFilePath( ){ StringBuilder filePathBuilder = new StringBuilder( ); // 返回通過Context.openFileOutput()創建和存儲的文件系統的絕對路徑,應用程序文件,這些文件會在程序被卸載的時候全部刪掉。 filePathBuilder.append( "getFilesDir == " ).append( getFilesDir( ) ).append( "\n" ); // 返回應用程序指定的緩存目錄,這些文件在設備內存不足時會優先被刪除掉,所以存放在這裡的文件是沒有任何保障的,可能會隨時丟掉。 filePathBuilder.append( "getCacheDir == " ).append( getCacheDir( ) ).append( "\n" ); // 這是一個可以存放你自己應用程序自定義的文件,你可以通過該方法返回的File實例來創建或者訪問這個目錄,注意該目錄下的文件只有你自己的程序可以訪問。 filePathBuilder.append( "getDir == " ).append( getDir("test.txt", Context.MODE_WORLD_WRITEABLE) ).append( "\n" ); /* 需要寫文件權限*/ // 調用該方法會返回應用程序的外部文件系統(Environment.getExternalStorageDirectory())目錄的絕對路徑,它是用來存放應用的緩存文件,它和getCacheDir目錄一樣,目錄下的文件都會在程序被卸載的時候被清除掉。 filePathBuilder.append( "getExternalCacheDir == " ).append( getExternalCacheDir( ) ).append( "\n" ); // 這個目錄是與應用程序相關的外部文件系統,它和getExternalCacheDir不一樣的是只要應用程序存在它就會一直存在,這些文件只屬於你的應用,不能被其它人訪問。同樣,這個目錄下的文件在程序被卸載時也會被一同刪除。 filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( "/" ) ).append( "\n" ); /** * 和上面的方法一樣,只是返回的是其目錄下某一類型的文件,這些類型可以是: * Environment#DIRECTORY_MUSIC 音樂 * Environment#DIRECTORY_PODCASTS 音頻 * Environment#DIRECTORY_RINGTONES 鈴聲 * Environment#DIRECTORY_ALARMS 鬧鈴 * Environment#DIRECTORY_NOTIFICATIONS 通知鈴聲 * Environment#DIRECTORY_PICTURES 圖片 * Environment#DIRECTORY_MOVIES 視頻 * * */ filePathBuilder.append( "getExternalFilesDir == " ).append( getExternalFilesDir( Environment.DIRECTORY_PICTURES ) ).append( "\n" ); // 保存通過Context.openOrCreateDatabase 創建的數據庫文件 filePathBuilder.append( "getDatabasePath == " ).append( getDatabasePath( DATA_BASE_NAME ) ).append( "\n" ); // 返回android 安裝包的完整路徑,這個包是一個zip的壓縮文件,它包括應用程序的代碼和assets文件 filePathBuilder.append( "getPackageCodePath == " ).append( getPackageCodePath( ) ).append( "\n" ); // 返回android 安裝包的完整路徑,這個包是一個ZIP的要鎖文件,它包括應用程序的私有資源。 filePathBuilder.append( "getPackageResourcePath == " ).append( getPackageResourcePath( ) ).append( "\n" ); // 返回應用程序的OBB文件目錄(如果有的話),注意如果該應用程序沒有任何OBB文件,這個目錄是不存在的。 filePathBuilder.append( "getObbDir == " ).append( getObbDir( ) ).append( "\n" ); return filePathBuilder; }
效果圖: 步驟一:分析變量信息 //-------------必須給的數據相關------------- private String[
目標 實現 控制 小飛機 左右移動 躲避子彈 打boss.本節 實現 開始菜單界面1 首先 資源文件拷過來2, 劃分游戲狀態 public static final
本文給大家分享Android裡應用版本更新功能這一塊的實現。一個好的應用軟件都是需要好的維護,從初出版本到最後精品,這個過程需要版本不停的更新,那麼如何讓用戶第一時間獲取
之前的10篇博文主要是記錄了Android4.2.2的SurfaceFlinger的相關內容,為何之前會投入那麼多的時間,原因就在於之前在看camera的架構時,遇到了本