我从网络请求中获取html代码段更新,需要将其插入到本地html文件中,然后可以在运行时用webView.loadUrl
来获取。
我可以使用/android_assets/myFile.html
从webView.loadUrl
轻松加载文件,但是由于在运行时无法访问/android_assets
目录,因此无法写入文件:Writing to /android_assets at runtime >
所以我的问题是,是否可以将myFile.html
放在另一个位置,以便我可以在运行时写入它并也将其加载到webView
中?
答案 0 :(得分:1)
为此,您应该从html加载内容,对其进行修改,然后将其保存到存储中。
Usage: String yourData = LoadData("myFile.html");
public String LoadData(String inFile) {
String tContents = "";
try {
InputStream stream = getAssets().open(inFile);
int size = stream.available();
byte[] buffer = new byte[size];
stream.read(buffer);
stream.close();
tContents = new String(buffer);
} catch (IOException e) {
// Handle exceptions here
}
return tContents;
}
要在WebView中加载数据。调用WebView的loadData()方法
webView.loadData(yourData, "text/html; charset=utf-8", "UTF-8");
答案 1 :(得分:0)
资产目录是只读的,您不能动态更改它。
您可以在流动目录中读取和清除文件:
Context.getFilesDir()
无需许可
典型位置:/data/data/app.package.name/files /
Context.getExternalFilesDir(null)
当api级别<= 18时需要WRITE_EXTERNAL_STORAGE
典型位置:/sdcard/Android/data/app.package.name/files /
Environment.getExternalStorageDirectory()
需要WRITE_EXTERNAL_STORAGE
典型位置:/ sdcard /