Androidエミュレーターで画像を表示するhtmlファイルをロードする必要があります。アプリケーションの /assets フォルダーに表示される別の css ファイルと html ファイルと画像があります。getAssets() を使用して css ファイルと html ファイルを読み取ります。文字列のみを使用して文字列内のhtmlファイルを取得し、その文字列のみを使用してhtmlファイルをロードする状況にあるため、loadData()メソッドを使用してhtmlファイルをロードしようとしましたが、「file:///android_asset」を使用していません/eppi.html". 誰でも解決策を教えてもらえますか?次のコードから理解できます。前もって感謝します。
私の MainActivity.java コード:
package com.exercise.AndroidHTML;
import java.io.InputStream;
import java.io.IOException;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.content.res.AssetManager;
public class AndroidHTMLActivity extends Activity {
WebView myBrowser;
String html;
String css;
String HTML;
/** Called when the activity is first created. */
@SuppressLint("SetJavaScriptEnabled")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myBrowser = (WebView)findViewById(R.id.mybrowser);
AssetManager assetmanager=getAssets();
InputStream input;
try{
input= assetmanager.open("eppi.html");
int size=input.available();
byte[] buffer=new byte[size];
input.read(buffer);
input.close();
html=new String(buffer);
} catch (IOException e){
e.printStackTrace();
}
try{
InputStream input1= assetmanager.open("eppi.css");
int size=input1.available();
byte[] buffer=new byte[size];
input1.read(buffer);
input1.close();
css=new String(buffer);
}catch (IOException e){
e.printStackTrace();
}
HTML=css+html;
myBrowser.getSettings().setJavaScriptEnabled(true);
WebSettings settings = myBrowser.getSettings();
settings.setDefaultTextEncodingName("utf-8");
myBrowser.loadData(HTML,"text/html","utf-8");
}
}
私のeppi.cssファイル:
<html>
<head>
<style>
#header{
height:80px;
width:320px;
position:absolute;
background-color:#000000;
}
#text{
height:80px;
width:159px;
position:absolute;
color:#806C00;
}
#logo{
top:2px;
left:200px;
height:80px;
width:97px;
position:absolute;
}
#image{
top:79px;
height:80px;
width:159px;
position:absolute;
}
#image1{
top:79px;
left:159px;
height:80px;
width:161px;
position:absolute;
}
#image2{
top:158px;
height:80px;
width:159px;
position:absolute;
}
#image3{
top:158px;
left:159px;
height:80px;
width:161px;
position:absolute;
}
#body{
margin:0;
padding:0;
}
</style>
</head>
私のeppi.htmlコード:
<body id="body">
<div id="header">
<div id="text">
<center>
h4><b><i>The Show
Welcomes You</i></b></h4>
</center>
</div>
<div id="logo">
<img src="logo.png" width="100" height="75">
</div>
</div>
<div id="image">
<a href="Media.html"><img src="mine.png" width="159" height="80"/></a>
</div>
<div id="image1">
<a href="Trading.html"><img src="offers.png" width="161" height="80"/></a>
</div>
<div id="image2">
<a href="Hours.html"><img src="horse.png" width="159" height="80"/></a>
</div>
<div id="image3">
<a href="Release.html"><img src="entering.png" width="161" height="80"/></a>
</div>
</body>
</html>