2010-11-30 13 views
37

Android uygulamam yüklendiğinde önceden oluşturulmuş bazı dosyalar oluşturmak istiyorum.Uygulamanın APK'sı ile veri dosyaları nasıl eklenir?

Dosyayı hem dahili bellekteki (data/data // files /) hem de yeni oluşturulan sdcard dizinlerinde (/ sdcard // data1 /) oluşturmak istiyorum.

Bunu nasıl yapabilirim?

cevap

35

Dosyaları \res\raw içine kaydedebilir ve uygulama başladığında mevcut değilse, bu dosyaları istenen konumlara kaydetmek için kodu yazabilirsiniz.
Kontrol this dahili bellek ve Sdcard'ı
erişebilir ve dosyaların büyük bir sayı ve/varlıkları kullanması gereken bir direcory yapınız varsa

InputStream databaseInputStream = getResources().openRawResource(R.raw.yourfile); 
36

aşağıdaki kullanarak raw dosyaya erişmek için. Bunlar herhangi bir R-sabitleri verilmez ve uygulamanız tarafından taranabilir

bir varlık-fil açmak için:

String[] files = getAssets().list(""); 
+3

Bence bu doğru cevap. ayrıca bkz. http://developer.android.com/reference/android/content/res/AssetManager.html#list(java.lang.String) ve http://developer.android.com/tools/projects/index.html – likejiujitsu

1

O söz etmek gerekiyor:

InputStream is = getAssets().open("path/file.ext"); 

bir dizin listelemek için Gerçekten çok miktarda veri APK Expansion Files ile ele alınabilir.

2016'da, Google Play şu anda APK dosyanızın 100MB'den fazla olmamasını gerektirir. Çoğu uygulama için burası bol alan.

APK boyut sınırı zaman zaman artar, bu nedenle geçerli basamağı kontrol etmek anlamlı olur.