html - 內嵌app 的web 頁面如何應用 app 內置的靜態文件
問題描述
如題:目前打算做一個內嵌在安卓 APP 里面的頁面打算把靜態文件也放在 app 里面。還要求能跟隨版本更新~求大神指導
問題解答
回答1:把靜態文件放在assets文件夾下,如果這個文件是個html文件,可以用webview.loadUrl('file:///android_asset/demo.html')方式加載,如果是其他文件,可以通過InputStream in = context.getAssets().open('demo.js');方式讀取,比如js文件,可以通過如下方式讀取并注入到html頁面中
InputStream in = context.getAssets().open('demo.js');byte buff[] = new byte[1024];ByteArrayOutputStream fromFile = new ByteArrayOutputStream();do { int numread = in.read(buff); if (numread <= 0) {break; } fromFile.write(buff, 0, numread);} while (true);jsString = fromFile.toString(); webview.loadUrl('javascript:'+jsString);回答2:
web頁面相關的文件放到assets里面就可以了。
回答3:WebView.load(url) 支持本地路徑也支持加載assets目錄里的文件
相關文章:
1. pip安裝提示Twisted錯誤問題(Python3.6.4安裝Twisted錯誤)2. javascript - 關于css絕對定位在ios瀏覽器被橡皮筋遮擋的問題3. 關于Mysql聯合查詢4. centos7 編譯安裝 Python 3.5.1 失敗5. mysql - 這個數據庫合計用 視圖做,和直接算好存在數據庫里,到時候調用起來哪個快?6. python - beautifulsoup獲取網頁內容的問題7. python - 能通過CAN控制一部普通的家用轎車嗎?8. 人工智能 - python 機器學習 醫療數據 怎么學9. mysql - 分庫分表、分區、讀寫分離 這些都是用在什么場景下 ,會帶來哪些效率或者其他方面的好處10. c++ - 請問MySQL_Connection::isReadOnly 怎么解決?
