Java 在android web视图中加载html文件时不显示图像

Java 在android web视图中加载html文件时不显示图像,java,android,html,Java,Android,Html,我需要加载一个html文件,它将在android emulator中显示图像。我有一个单独的css文件,html文件和图像将显示在我的应用程序的/assets文件夹中。我使用getAssets()读取css文件和html文件。我尝试使用loadData()方法加载html文件,因为我的情况是仅使用字符串获取字符串中的html文件,并且仅使用该字符串加载html文件,而不使用“file:///android_asset/eppi.html". 有人能说出解决方案吗?你可以从我下面的代码中理解。 提

我需要加载一个html文件,它将在android emulator中显示图像。我有一个单独的css文件,html文件和图像将显示在我的应用程序的/assets文件夹中。我使用getAssets()读取css文件和html文件。我尝试使用loadData()方法加载html文件,因为我的情况是仅使用字符串获取字符串中的html文件,并且仅使用该字符串加载html文件,而不使用“file:///android_asset/eppi.html". 有人能说出解决方案吗?你可以从我下面的代码中理解。 提前谢谢

my 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>

#标题{
高度:80px;
宽度:320px;
位置:绝对位置;
背景色:#000000;
}
#正文{
高度:80px;
宽度:159px;
位置:绝对位置;
颜色:#806C00;
}
#标志{
顶部:2个;
左:200px;
高度:80px;
宽度:97px;
位置:绝对位置;
}
#形象{
顶部:79px;
高度:80px;
宽度:159px;
位置:绝对位置;
}
#图1{
顶部:79px;
左:159px;
高度:80px;
宽度:161px;
位置:绝对位置;
}
#图2{
顶部:158px;
高度:80px;
宽度:159px;
位置:绝对位置;
}
#图3{
顶部:158px;
左:159px;
高度:80px;
宽度:161px;
位置:绝对位置;
}
#身体{
保证金:0;
填充:0;
}
我的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>

h4>表演
欢迎你
您可以解析HTML(至少在基本层面上),查找图像并手动加载它们(就像处理HTML文件一样)


将HTML中的图像URL更改为base64 echoded后。

必须更改图像路径。与其写

也许你需要一个www文件夹,看,我认为这是同样的问题,看,谢谢。我照你说的做了。但这对我来说不起作用me@Meena请提供一些细节。你被困在哪里?这只是一个调试问题,因为我确信Android浏览器支持数据URL。