如何在android app中将文件下载到assets / www /?

时间:2014-07-31 23:18:08

标签: android

所以,我正在编写一个Android应用程序,我想让它在webView中显示信息,所以我在assets/www中显示了一个简单的本地.html文件,并且一切正常,但是假设我想要更改信息,或许添加一些内容,我怎么能让应用程序从Dropbox下载文件并将其放入assets/www?就像这样:

if (isOnline()) {
            download("https://dl.dropboxusercontent.com/u/0000000/index.html", "assets/www")
}
else {
            Toast.makeText(this, "No internet connection, this information might be out of date", Toast.LENGTH_LONG).show();
    }

我已经编写了isOnline()函数,只需要下载功能,但我不知道从哪里开始。

编辑,我到目前为止已尝试过这个:

if (isOnline()) { 
            try {
                URL url = new URL("https://db.tt/WyAqN9r0");
                BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
                String FILENAME = "tutortrusthandbook.html";
                FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
                String str;
                while ((str = in.readLine()) != null) {
                    fos.write(str.getBytes());
                }
                in.close();
                fos.close();
            } catch (MalformedURLException e) {
            } catch (IOException e) {
            } catch (Exception e) {
                Toast.makeText(getApplicationContext(), "Exception Info " +     e.getCause(),Toast.LENGTH_LONG).show();
                e.printStackTrace();
            }

        }
WebView webview = (WebView) findViewById(R.id.webView1);
webview.loadUrl("file://tutortrusthandbook.html");

但我不确定它是否已经管理了任何内容,因为我现在不知道如何显示该文件...

1 个答案:

答案 0 :(得分:1)

  

我怎么能让应用程序从Dropbox下载文件并将其放入资产/ www?

你做不到。资产在运行时是只读的。将下载的文件保存到内部存储空间(getFilesDir())并将其加载到WebView中,如果您没有下载的更新,则将其重新下载到资产中。