[英]Zip to SD Card from .APK file
這可能是一個非常愚蠢/ noob喜歡的問題,但是什么是安裝.apk文件的最佳方法,安裝時將zip文件從資產或原始文件夾中刪除到特定目錄中的SD卡上?
我有一個應用程序需要這樣做,我做的是檢查我運行時是否需要SDCard,這樣我可以替換它,如果用戶刪除它。 這是我的代碼:
void copyAssets()
{
String[] files;
try
{
files = this.getResources().getAssets().list("");
}
catch (IOException e1)
{
return;
}
if(!mWorkingPath.exists())
{
if(!mWorkingPath.mkdirs())
{
new AlertDialog.Builder(this)
.setTitle(R.string.ERROR)
.setMessage(R.string.FAILED_DIR_CREATE)
.setPositiveButton(android.R.string.ok, new OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which)
{
dialog.dismiss();
}
})
.create()
.show();
}
}
for(int i = 0; i < files.length; i++)
{
try
{
String fileName = files[i];
if(fileName.compareTo("images") == 0 ||
fileName.compareTo("sounds") == 0 ||
fileName.compareTo("webkit") == 0)
{
continue;
}
File outFile = new File(mWorkingPath, fileName);
if(outFile.exists()) continue;
InputStream in = getAssets().open(fileName);
OutputStream out = new FileOutputStream(outFile);
// Transfer bytes from in to out
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0)
{
out.write(buf, 0, len);
}
in.close();
out.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.