2011-06-07 28 views
12

我建立了一個Android應用程序上的Android 2.2,保存文件到我使用以下SD卡:getExternalFilesDir替代的Android 2.1的

context.getExternalFilesDir(null).getAbsolutePath(); 

返回一個字符串,如:

/mnt/sdcard/Android/data/com.hello.example1/files 

現在我需要讓我的應用程序兼容android 2.1,我有什麼方法編輯用來獲取外部文件目錄?


public static String sTellMeWhereToSaveMyData(Context context) 
{ 
     String packageName = context.getPackageName(); 
     File externalPath = Environment.getExternalStorageDirectory(); 
     File appFiles = new File(externalPath.getAbsolutePath() + "/Android/data/" + packageName+ "/"); 

     if (appFiles.exists() && appFiles.isDirectory()) 
     { 
      return appFiles.getAbsolutePath(); 
     } 
     else 
     { 
      if(appFiles.exists()) 
      { 
       Log.v("File Manager","not exists"); 
      } 
      if (!appFiles.mkdir()) 
      { 
       Log.v("File Manager","Could not create"); 
      } 
     } 
     return appFiles.getAbsolutePath(); 
} 

回答

20

你應該自己撰寫的路徑:

String packageName = context.getPackageName(); 
File externalPath = Environment.getExternalStorageDirectory(); 
File appFiles = new File(externalPath.getAbsolutePath() + 
         "/Android/data/" + packageName + "/files"); 
+0

你有2個問題在這裏:1。這是** Environment.getExternalStorageDirectory()** 2.之後關閉托架** + 「/ files」)** – 2011-06-07 10:21:54

+0

修正了這個問題。我沒有用編譯器檢查這個代碼。但無論如何,這應該顯示我的意思。 – inazaruk 2011-06-07 10:24:39

+0

@inazaruk:完美我正在測試它,在編輯它之前我已經得到了它,我的評論只是爲了可能面臨同樣問題的其他人。 – 2011-06-07 10:29:43