Tôi đang cố gắng tạo thư mục và một số thư mục con bên trong nó trên Thẻ SD ... Sau đó tôi muốn chuyển các tệp mà tôi đã lưu trữ trong/res/raw vào thư mục đó ... Thêm vào đó, tôi chỉ muốn xảy ra một lần, lần đầu tiên chương trình được chạy. Tôi nhận ra rằng điều này là vô cùng cởi mở, và rằng tôi đang yêu cầu rất nhiều ... nhưng bất kỳ sự giúp đỡ nào cũng sẽ được đánh giá cao.Android: Cách tạo thư mục trên Thẻ SD và sao chép tệp từ/res/raw sang nó?
Trả lời
này sẽ sao chép tất cả các file trong "clipart" thư mục con của thư mục nội dung .apk vào "clipart" thư mục con của thư mục của ứng dụng của bạn trên thẻ SD:
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
String basepath = extStorageDirectory + "/name of your app folder on the SD card";
//...
// in onCreate
File clipartdir = new File(basepath + "/clipart/");
if (!clipartdir.exists()) {
clipartdir.mkdirs();
copyClipart();
}
private void copyClipart() {
AssetManager assetManager = getResources().getAssets();
String[] files = null;
try {
files = assetManager.list("clipart");
} catch (Exception e) {
Log.e("read clipart ERROR", e.toString());
e.printStackTrace();
}
for(int i=0; i<files.length; i++) {
InputStream in = null;
OutputStream out = null;
try {
in = assetManager.open("clipart/" + files[i]);
out = new FileOutputStream(basepath + "/clipart/" + files[i]);
copyFile(in, out);
in.close();
in = null;
out.flush();
out.close();
out = null;
} catch(Exception e) {
Log.e("copy clipart ERROR", e.toString());
e.printStackTrace();
}
}
}
private void copyFile(InputStream in, OutputStream out) throws IOException {
byte[] buffer = new byte[1024];
int read;
while((read = in.read(buffer)) != -1){
out.write(buffer, 0, read);
}
}
tôi gặp phải vấn đề tương tự khi sử dụng mkdirs(), tuy nhiên vì cách chạy lệnh:
mkdir một/hai
thất bại trên Linux, thì subse phương pháp http://download.oracle.com/javase/1.4.2/docs/api/java/io/File.html#mkdirs() quently thất bại quá. Tôi đoán điều này có nghĩa là không có cách nào để sử dụng mkdir trên Android? Công việc của tôi (có thể khá khó khăn) là tạo từng thư mục cần thiết riêng biệt:
String extStorageDirectory = Environment.getExternalStorageDirectory().toString();
new File(extStorageDirectory + "/one/").mkdirs();
new File(extStorageDirectory + "/one/two/).mkdirs();
[File.mkDirs() ] (http://developer.android.com/reference/java/io/File.html#mkdirs%28%29) hoạt động. Tôi đã dùng thử trên Android 2.1 (API cấp 7) – Mudassir
- 1. ghi Android vào thư mục thẻ sd
- 2. Cách mở thư mục thẻ SD trong Android AVD?
- 3. Android chuyển sang hành vi thẻ SD
- 4. Cách liệt kê tất cả các tệp và thư mục nằm trên thẻ sd
- 5. Sao chép tệp từ thư mục này sang thư mục khác bằng cách sử dụng vbscripting
- 6. Cách sao chép tệp từ thư mục sang thư mục khác
- 7. Cho phép người dùng chọn thư mục trên thẻ SD
- 8. Cách kiểm tra xem tệp có tồn tại trong một thư mục trong thẻ sd
- 9. Ant - sao chép tệp và thư mục con từ chỉ một thư mục con trên cây
- 10. Cách sao chép tệp từ một thư mục sang thư mục khác bằng cách tạo thư mục nếu thư mục đó không tồn tại
- 11. Làm cách nào để sao lưu tệp cơ sở dữ liệu vào thẻ SD trên Android?
- 12. VBA để sao chép tệp từ một thư mục này sang một thư mục khác
- 13. Làm cách nào để sao chép các tệp của tôi từ một thư mục này sang một thư mục khác?
- 14. Sao chép tệp từ thư mục này sang thư mục khác bằng Ruby
- 15. Cách tìm hiểu xem ứng dụng đã được di chuyển sang thẻ SD trên Android
- 16. ghi tệp vào thẻ sd và không lưu trữ USB
- 17. Di chuyển ứng dụng sang thẻ SD
- 18. Làm thế nào để tạo thư mục tự động trên thẻ SD
- 19. cách sao chép tệp vào thư mục chia sẻ capistrano
- 20. Cách tạo một hàm đệ quy để sao chép tất cả các tệp và thư mục
- 21. Lưu trữ dữ liệu trên thẻ SD trong Android
- 22. Cách tháo thẻ SD một cách an toàn trên Android
- 23. Trong FTP, làm cách nào để sao chép tệp từ xa sang các thư mục khác
- 24. lưu trữ dữ liệu ứng dụng Android trên Thẻ SD
- 25. Sử dụng máy ảnh không có thẻ SD trên Android
- 26. Cách lắp thẻ SD trên trình giả lập Android (1.6)
- 27. Cách Sao chép Tệp Hình ảnh từ Bộ sưu tập sang một thư mục khác theo lập trình trong Android
- 28. Cách tạo video từ Thẻ SD
- 29. Cách tốt nhất để sao chép thư mục và tất cả thư mục con và tệp bằng C#
- 30. Tạo thư mục trong Android
mã này cần phải đảm bảo nó chỉ xảy ra một lần, khi cài đặt và sau đó xóa tệp khỏi APK? – joon
@joon: Bạn có thể sử dụng [link] (http://developer.android.com/reference/android/content/SharedPreferences.html) để lưu một giá trị boolean để đảm bảo nó chỉ xảy ra một lần. Nhân tiện, bạn không thể xóa tệp khỏi apk. @ Xem thêm: [link] (http://developer.android.com/guide/topics/resources/providing-resources.html) – Justin