我尝试为此互动地图制作一个简单的网络视图应用:http://gta5online.com/map/interactive>地图下方还有一个全屏链接。
现在我创建了一个资产文件夹,其中包含“interactive”文件夹,其中包含所有文件,图标,地图图块和html文档。
我想将html文档从那里加载到一个活动中作为webview。所以它是一个本地文件。我希望应用程序处理它而不是默认浏览器。
这就是我现在所做的:
我创建了一个新项目并将这些代码添加到activity_home.xml文件中:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("file:///android_asset/interactive/map.html");
/>
然后我添加了此代码以启用Internet访问即使它是我想要加载的本地html文档(以供以后使用):
<uses-permission android:name="android.permission.INTERNET"/>
我也在第一个代码块启用了javascript,你可以看到。
我是否应该将一些代码放入home.java文件中?
在YT教程中我看到他在java文件中使用了类似的东西:
#in mainactivity.java
setContentView(R.layout.activity_main);
String url ="file:///android_asset/interactive/map.html";
WebView view=(WebView) this.findViewById(R.id.webView);
view.getSettings() .setJavaScriptEnabled(true);
view.loadUrl(url);
有人可以通过解释我做错了什么以及如何完成这个应用程序的简单步骤来帮助一个菜鸟实现这个目标吗?我确信这对你们来说很简单,即使它对我来说很难。
答案 0 :(得分:2)
在Android中要非常小心,你永远不能将Java代码放入XML代码中。
此代码:
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
myWebView.loadUrl("file:///android_asset/interactive/map.html");
webSettings.setJavaScriptEnabled(true);
答案 1 :(得分:1)
在您的activity_home.xml文件中必须只有以下内容:
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
答案 2 :(得分:0)
这是由于原始政策违规行为相同,您需要使用loaddatawithurl
阅读
和