2016-08-17 17 views
0

JOBBツールから暗号化OBBファイルを作成しましたが、その中のファイルにアクセスしようとしています。画像 "image1.jpg、image2.jpg"などがあります。成功してそれをマウントすることができ:暗号化されたOBBファイルからファイルを読み取る

public void mountExpansion() { 
    final StorageManager storageManager = (StorageManager) this.getSystemService(Context.STORAGE_SERVICE); 


    String packageName = "com.nick.app"; 
    String filePath = Environment.getExternalStorageDirectory() 
      + "/Android/obb/" + packageName + "/" + "main." 
      + getString(R.string.apk_expansion_version) + "." + packageName + ".obb"; 
    final File mainFile = new File(filePath); 
    if (mainFile.exists()) { 
     Log.d("STORAGE", "FILE: " + filePath + " Exists"); 
    } else { 
     Log.d("STORAGE", "FILE: " + filePath + " DOESNT EXIST"); 
    } 

    String key = "123456"; 
    if (!storageManager.isObbMounted(mainFile.getAbsolutePath())) { 
     if (mainFile.exists()) { 
      if(storageManager.mountObb(mainFile.getAbsolutePath(), key, 
        new OnObbStateChangeListener() { 
         @Override 
         public void onObbStateChange(String path, int state) { 
          super.onObbStateChange(path, state); 
          Log.d("PATH = ",path); 
          Log.d("STATE = ", state+""); 
          expansionFilePath = storageManager.getMountedObbPath(path); 
          if (state == OnObbStateChangeListener.MOUNTED) { 
           expansionFilePath = storageManager 
             .getMountedObbPath(path); 
           Log.d("STORAGE","-->MOUNTED"); 
           Log.d("NICK","length()"+mainFile.length()); 
           Log.d("NICK","getAbsolutePath()"+mainFile.getAbsolutePath()); 
           Log.d("NICK","isDirectory()"+mainFile.isDirectory()); 

          } 
          else { 
           Log.d("##", "Path: " + path + "; state: " + state); 
          } 
         } 
        })) 
      { 
       Log.d("STORAGE_MNT","SUCCESSFULLY QUEUED"); 
      } 
      else 
      { 
       Log.d("STORAGE_MNT","FAILED"); 
      } 

     } else { 
      Log.d("STORAGE", "Patch file not found"); 
     } 
    } 



} 

そして、私のログに、私はOnObbStateChangeListenerから返された状態「1」を参照してください。暗号化されたOBBファイルを示す正常にマウントされます。しかし、この時点で、私はそれの中のファイルにどのようにアクセスしてそれらを利用できるかについて迷っています。たとえば、ImageViewなどに読み込んでください。私がここで紛失しているものについての提案はありますか?

答えて

0
storageManager.mountObb(main.getPath(), null, new OnObbStateChangeListener() { 
    @Override 
    public void onObbStateChange(String path, int state) { 
     super.onObbStateChange(path, state); 
     if (state == MOUNTED) { 
      Toast.makeText(MainActivity.this, "obb mounted", Toast.LENGTH_LONG).show(); 

      File file = new File(storageManager.getMountedObbPath(path)); 
     } else 
      Toast.makeText(MainActivity.this, "mount fail :" + path, Toast.LENGTH_LONG).show(); 
    } 
}); 

ファイルオブジェクトは、obbのすべてのファイルのディレクトリです。 これらにアクセスするには、listFiles()と呼んでください。

関連する問題