所以,我正在编写一个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");
但我不确定它是否已经管理了任何内容,因为我现在不知道如何显示该文件...
答案 0 :(得分:1)
我怎么能让应用程序从Dropbox下载文件并将其放入资产/ www?
你做不到。资产在运行时是只读的。将下载的文件保存到内部存储空间(getFilesDir()
)并将其加载到WebView
中,如果您没有下载的更新,则将其重新下载到资产中。