簡體   English   中英

從.APK文件壓縮到SD卡

[英]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.

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