簡體   English   中英

如何更改我的代碼以使用APK擴展文件?

[英]How do I change my code to use APK Expansion file?

我的應用程序超過50MB,因為我使用了很多MP3文件。 我通常這樣做...

uri = Uri.parse("android.resource://red.cricket.RecordAlbum/" + R.raw.track_001_64kb );

...但是如果我必須使用APK擴展文件,我認為上面的代碼行必須更改。 但是變成什么呢? 任何幫助是極大的贊賞!

編輯1)感謝您的回答泰德。 我確實是這樣創建擴展文件的:

red@ubuntu:~/android/workspace/Album/res/raw$ zip -n .mp3 main.1.com.redcricket.Album.obb *mp3

那我現在該怎么辦? rm -f *mp3; cd ../..; ant clean ; ant debug rm -f *mp3; cd ../..; ant clean ; ant debug不知何故我認為這行不通。 我應該將main.1.com.redcricket.Album.obb文件放在哪里?

這些步驟在文檔中已明確列出。 概括而言,這些步驟是:

  1. 從您的.apk中刪除.mp3文件,並將其放入擴展文件中。 根據說明命名擴展文件。 該文件的格式可以是您想要的任何格式,但是文檔建議您為音頻文件使用未壓縮的ZIP格式。 Android包含APK擴展ZIP庫 ,可用於直接從ZIP文件加載.mp3文件,而無需將其解壓縮。
  2. 重寫應用以在該位置查找擴展文件

     Context ctx = getContext(); String loc = ctx.getExternalStorageDirectory() + "/Android/obb/" + ctx.getPackageName(); 
  3. 編寫代碼,以便如果文件不存在,您的應用程序將使用文檔中所述的應用程序許可服務從Google Play下載文件。 此步驟涉及很多編碼和配置。

  4. 使用APK擴展ZIP庫訪問所需的.mp3文件。 該文檔提供了通過調用MediaPlayer.setDataSource() ,文件描述符,ZIP文件的偏移量和文件長度來從擴展文件中加載MP3的示例。

另請參閱此線程以獲取有關如何執行所有操作的更多詳細信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM