2013-07-22 43 views
24
import java.io.File; 
    File folder = new File(Environment.getExternalStorageDirectory() + "/TollCulator"); 
    boolean success = true; 
    if (!folder.exists()) { 
     //Toast.makeText(MainActivity.this, "Directory Does Not Exist, Create It", Toast.LENGTH_SHORT).show(); 
     success = folder.mkdir(); 
    } 
    if (success) { 
     //Toast.makeText(MainActivity.this, "Directory Created", Toast.LENGTH_SHORT).show(); 
    } else { 
     //Toast.makeText(MainActivity.this, "Failed - Error", Toast.LENGTH_SHORT).show(); 
    } 

Ở trên nên tạo một thư mục trong thẻ SD của tôi nếu nó không tồn tại, nếu có thì không làm gì cả. Mặc dù bánh mì nướng hoạt động dựa trên điều kiện nhưng nó không tạo ra một thư mục khi nó không tồn tại. Bất kỳ ý tưởng làm thế nào để giải quyết nó?Tạo thư mục trong Android

Manifest của tôi trông như thế này:

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.test.testing" 
    android:versionCode="1" 
    android:versionName="1.0" > 

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

    <uses-sdk 
     android:minSdkVersion="6" 
     android:targetSdkVersion="17" /> 

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name="com.test.testing.MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 

Cập nhật: Tôi cập nhật manifest cũng như cập nhật mã của tôi của tôi, nhưng nó vẫn không tạo ra các thư mục trong thẻ SD của tôi. Hãy ghi nhớ, tôi đang sử dụng Eclipse và chạy ứng dụng trực tiếp đến điện thoại của tôi (GNex VZW) thay vì sử dụng AVD.

+1

hv u thêm permisions – KOTIOS

+1

Có lẽ bạn cần phải thêm hệ thống tập tin quyền ghi vào tệp kê khai của ứng dụng. – DMH

Trả lời

80

Thêm sự cho phép này trong Manifest,
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

File folder = new File(Environment.getExternalStorageDirectory() + 
          File.separator + "TollCulator"); 
boolean success = true; 
if (!folder.exists()) { 
    success = folder.mkdirs(); 
} 
if (success) { 
    // Do something on success 
} else { 
    // Do something else on failure 
} 

khi u chạy các ứng dụng đi thư mục quá DDMS-> File Explorer-> mnt folder-> sdcard folder-> điện thoại tạo

+0

Tôi đã cập nhật câu hỏi của mình về cách cài đặt ứng dụng. – Si8

+0

bạn có thể tạo ngay bây giờ không? – KOTIOS

+0

Tôi nhận được thư mục Đã tạo nhưng không có thư mục trong sdcard của tôi. – Si8

12

Nếu bạn đang cố gắng tạo nhiều hơn một thư mục trên thư mục gốc của sdcard, ví dụ: "Environment.getExternalStorageDirectory() + "/Example/Ex App/"

sau đó thay vì folder.mkdir() bạn sẽ sử dụng folder.mkdirs()

Tôi đã thực hiện sai lầm này trong quá khứ và tôi đã mãi mãi để con số nó ra

+0

Chỉ cố gắng tạo một thư mục và sau đó kiểm tra mỗi khi ứng dụng chạy để xem nó có tồn tại hay không và tạo một thư mục khác. – Si8

Các vấn đề liên quan