Tüm resmi genişletme dosyaları kılavuzlarını izliyorum, ancak bulamıyorum. İhtiyacım olan obb dosyasına erişemiyorum.Obb genişletme dosyası içindeki dosyalara erişme
Bir zip dosyasında "depolanan" (sıkıştırılmamış) "depolanan ve" main.2001.test.expansion.proj.obb "olarak adlandırılan ve '/ mnt/sdcard/Android'de depolanan 6 ses dosyasına (80Mb) ihtiyacım var /obb/test.expansion.proj/'
Ben dosyalarındaString mainFileName = Helpers.getExpansionAPKFileName(this,true,2001);
if(!Helpers.doesFileExist(this, mainFileName, 27959282L, false))
{
//download
} else {
Log.d("test_file","file exist");
}
ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,2001,2001);
if(expansionFile!=null)
{
ZipEntryRO[] ziro = expansionFile.getAllEntries();
for (ZipEntryRO entry : ziro) {
Log.d("test_files_zip", "fileZip filename: "+entry.getZipFileName());
try{
AssetFileDescriptor ro = entry.getAssetFileDescriptor();
Log.d("test_files_zip", "--fileZip getfiledescriptor.tostring: "+ro.getFileDescriptor().toString());
Log.d("test_files_zip", "--fileZip createinputstring.tostring: "+ro.createInputStream().toString());
AssetFileDescriptor assetFileDescriptor = expansionFile.getAssetFileDescriptor(entry.getZipFileName()+"/audio02.mp3");
if(assetFileDescriptor!=null) {
Log.d("test_files_mp3", "length: "+assetFileDescriptor.getLength()); //checking it exists
}
}catch (IOException e){ Log.e("test_exp","IoExcp: "+e.getMessage()); }
}
}
erişim çalışacağım
-> assetFileDescriptor = expansionFile.getAssetFileDescriptor (.....); Ben her şeyi denedim ve farklı yerlerde buldum ama dosyayı alamadım. Dosya zip içinde isminden onun adını almak için herhangi bir yolu var mı?
Uygulama bu dosyaları bir özellik dosyasında yürütmeli ve dosyaları açıp "" herkese açık "" yapmak istemiyoruz. Düzenleme: Düzenleme. Kendime Cevap Ver
Önce okuduğumda anlamadığım bir satırdı ya da sadece özledim.
ZipResourceFile expansionFile = APKExpansionSupport.getAPKExpansionZipFile(this,2001,2001);
if(expansionFile!=null){
FileDescriptor fd = expansionFile.getAssetFileDescriptor("audio_01.mp3");
//or
InputStream is = expansionFile.getInputStream("audio_01.mp3");
}
bu asnwer size yardımcı olacaktır olabilir nasılsa http://stackoverflow.com/questions/11715855/steps-to-create-apk-expansion-file/11717019#11717019 –
Hayır, O kaynaklarından biri i Kullanıldı, ama obb içinde bir dosya okuma hakkında hiçbir şey. – Jordi
AssetFileDescriptor denedim: fd = expansionFile.getAssetFileDescriptor (zip [0] .mFileName); '. ama 'fd' boş. Bana yardımcı olabilir misiniz? –