Tekrardan Selam Erhan,
Ben şöyle birşey denedim ve çalıştı.
Önce assetten html'in içeriğini okuyup bir string'de tutuyorum. Onu'da loadData ile yüklüyorum. Umarım işini görür. Emulator'den aldığım ekran görüntüsü ekte.
WebView ile ilgili hiçbir şey yapmadım. Direk senin kodları copy-paste yaptım :)
Kod:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView webView = (WebView) findViewById(R.id.webView1);
webView.getSettings().setJavaScriptEnabled(true);
// webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
// webView.getSettings().setLoadsImagesAutomatically(true);
// webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
webView.getSettings().setDefaultTextEncodingName("utf-8");
String htmlContent = readAssets("index.html");
webView.loadData(htmlContent, "text/html", "utf-8");
// webView.loadUrl("file:///android_asset/index.html");
}
private String readAssets(String path){
InputStream inputStream = null;
Reader reader = null;
try {
inputStream = getAssets().open(path);
reader = new InputStreamReader(inputStream, "UTF-8");
StringBuffer buffer = new StringBuffer();
char[] chrBuffer = new char[1024];
int lengthOfReadBytes;
while ((lengthOfReadBytes = reader.read(chrBuffer)) != -1) {
buffer.append(chrBuffer, 0, lengthOfReadBytes);
}
return buffer.toString();
} catch (Exception e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
reader = null;
}
}
if (inputStream != null) {
try {
inputStream.close();
} catch (IOException e) {
inputStream = null;
}
}
}
return null;
}
}
/sites/default/files/cevaplar/dosya/2020/file-webview.png