1
如果我使用路徑來獲取html內容,我面對應用程序已停止錯誤。但是,如果我在代碼行中像「........」一樣逐個寫HTML內容,那麼程序就會運行。哪裏有問題?Android WebView
Andriod文件;
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webcontent);
webView = (WebView) findViewById(R.id.webView);
webView.getSettings().setJavaScriptEnabled(true);
String content = null;
try {
content = Files.toString(new File("C:\\Users\\-SurrealBlack-\\Desktop\\b.html"), Charsets.UTF_8);
} catch (IOException e) {
e.printStackTrace();
}
webView.loadData(content, "text/html", "UTF-8");
}
HTML file;
<html>
<style type="text/css">
html, body {
margin: 0;
padding: 1em;
font: 0.9em Verdana, Arial, sans serif;
}
input, select, textarea {
font: 0.9em Verdana, Arial, sans-serif;
}
h2 {
margin-top: 0.75em;
font-size: 1.6em;
}
#leftcol {
position: absolute;
top: 0;
left: 1em;
padding: 0;
width: 455px;
}
#map {
width: 450px;
height: 225px;
border: 1px solid #ccc;
}
#input {
width: 450px;
}
#text {
font-size: 0.85em;
margin: 1em 0 1em 0;
width: 100%;
height: 10em;
}
#info {
position: relative;
padding: 2em 0;
margin-left: 470px;
}
#features {
font-size: 0.8em;
width: 100%;
height: 200px;
}
#intersections {
font-size: 0.8em;
width: 100%;
height: 200px;
}
p {
margin: 0;
padding: 0.75em 0 0.75em 0;
}
</style>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var map, vectors, geojson, drawControls, selectControl, selectedFeature, polygonLayer;
function init() {
map = new OpenLayers.Map('map');
var baseLayer = new OpenLayers.Layer.Google('Google Layer',
{});
polygonLayer = new OpenLayers.Layer.Vector("Polygon Layer");
map.addLayers([baseLayer,polygonLayer]);
map.addControl(new OpenLayers.Control.MousePosition());
map.addControl(new OpenLayers.Control.LayerSwitcher());
selectControl = new OpenLayers.Control.SelectFeature(polygonLayer,
{ onSelect: onFeatureSelect, onUnselect: onFeatureUnselect });
drawControls = {
polygon: new OpenLayers.Control.DrawFeature(polygonLayer,
OpenLayers.Handler.Polygon),
point: new OpenLayers.Control.DrawFeature(polygonLayer,
OpenLayers.Handler.Point),
select: selectControl
};
for (var key in drawControls) {
map.addControl(drawControls[key]);
}
geojson = new OpenLayers.Format.GeoJSON();
map.setCenter(new OpenLayers.LonLat(0, 0), 1);
}
function toggleControl(element) {
for (key in drawControls) {
var control = drawControls[key];
if (element.value == key && element.checked) {
control.activate();
} else {
control.deactivate();
}
}
}
function onPopupClose(evt) {
selectControl.unselect(selectedFeature);
}
function onFeatureSelect(feature) {
selectedFeature = feature;
popup = new OpenLayers.Popup.FramedCloud("chicken",
feature.geometry.getBounds().getCenterLonLat(),
null,
"<div style='font-size:.8em'>Feature: " + feature.id + "<br>Area: " + feature.geometry.getArea() + "</div>",
null, true, onPopupClose);
feature.popup = popup;
map.addPopup(popup);
}
function onFeatureUnselect(feature) {
map.removePopup(feature.popup);
feature.popup.destroy();
feature.popup = null;
}
</script>
</head>
<body onload="init()">
<div id="map" class="smallmap"></div>
</body>
</html>
是您的文件所在文件夾下?它在PC上嗎?!嗯...然後問自己爲什麼不能訪問它! –
是否需要允許訪問文件? – user3086033
我不認爲你可以訪問像C:\ xyz \ zxy.htm這樣的路徑。 –