2013-02-25 7 views

ответ

2

файлы расширение No.Your загружаются в SDCard/Android/obb, и вам нужно их загрузить и разархивировать, чтобы использовать его в дальнейшем. Вот код для получения файлов расширения.

закрытый конечный статический String EXP_PATH = "/ Android/obb /";

static String[] getAPKExpansionFiles(Context ctx, int mainVersion, 
     int patchVersion) { 
    String packageName = ctx.getPackageName(); 
    Vector<String> ret = new Vector<String>(); 
    if (Environment.getExternalStorageState().equals(
      Environment.MEDIA_MOUNTED)) { 
     // Build the full path to the app's expansion files 
     File root = Environment.getExternalStorageDirectory(); 
     File expPath = new File(root.toString() + EXP_PATH + packageName); 

     // Check that expansion file path exists 
     if (expPath.exists()) { 
      if (mainVersion > 0) { 
       String strMainPath = expPath + File.separator + "main." 
         + mainVersion + "." + packageName + ".obb"; 
       File main = new File(strMainPath); 
       if (main.isFile()) { 
        ret.add(strMainPath); 
       } 
      } 
      if (patchVersion > 0) { 
       String strPatchPath = expPath + File.separator + "patch." 
         + mainVersion + "." + packageName + ".obb"; 
       File main = new File(strPatchPath); 
       if (main.isFile()) { 
        ret.add(strPatchPath); 
       } 
      } 
     } 
    } 
    String[] retArray = new String[ret.size()]; 
    ret.toArray(retArray); 
    return retArray; 
} 



String[] test = getAPKExpansionFiles(myContext, 2, 0); 
     Log.d(LOG_TAG, "total file : " + test.length); 

     for (int i = 0; i < test.length; i++) 
      Log.d(LOG_TAG, "filename is : " + test[i]); 
     if (test.length > 0) { 
      try { 
       file = APKExpansionSupport.getResourceZipFile(test) 
         .getAllEntries(); 
       Log.d(LOG_TAG, "total zip file : " + file.length); 
       for (int i = 0; i < file.length; i++) { 

         Log.d(LOG_TAG, "zip filename is : " 
           + (file[i].mFileName).split("/")[1]); 

         File("/mnt/sdcard/Android/obb/one.example.expansion.downloader/main.3.one.example.expansion.downloader.obb/myvideo.mp4"); 
         File desc = new File("/mnt/sdcard/.YourFolder"); 

         ZipHelper.unzip(test[0], desc); 


       } 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

Удачи!

+1

Фактически файлы расширения не обеспечивают безопасность данных. Потому что данные на sdcard, так что любой может получить к нему доступ, которые нарушают правила аутентификации – User42590

+0

эй, мне нужна ваша помощь – Goofy

+1

Да @Goofy, как я могу вам помочь? –