简单的webview示例代码Android studio
Simple webview sample code Android studio
我正在尝试为这张交互式地图制作一个简单的网络视图应用程序:http://gta5online.com/map-interactive > 地图下方还有一个全屏 link。
现在我创建了一个资产文件夹并包含了 "interactive" 文件夹,其中包含所有文件、图标、地图图块和 HTML 文档。
我想从那里将 HTML 文档作为 Web 视图加载到 activity 中。所以它是一个本地文件。我希望应用程序处理它而不是默认浏览器。
这是我现在所做的:
我创建了一个新项目并将这些代码添加到 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"
然后我添加了此代码以启用 Internet 访问以显示,即使它是我要加载的本地 HTML 文档(供以后使用):
如您所见,我还在第一个代码块中启用了 JavaScript。
我是否也应该将一些代码放入 home.java 文件中?
我试过了,但它给出了错误:
package comapps.gta5online.gta5interactivemapcheats;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Home extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}
public class ViewWeb extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView wv;
WebView view=(WebView) this.findViewById(R.id.webView);
view.getSettings() .setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/interactive/map.html");
}
}
在 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);
您似乎缺少一些导入。用这个
替换你所有的代码
package comapps.gta5online.gta5interactivemapcheats;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class Home extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
WebView browser = (WebView) findViewById(R.id.webView);
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
browser.loadUrl("file:///android_asset/interactive/map.html");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
}
}
我正在尝试为这张交互式地图制作一个简单的网络视图应用程序:http://gta5online.com/map-interactive > 地图下方还有一个全屏 link。
现在我创建了一个资产文件夹并包含了 "interactive" 文件夹,其中包含所有文件、图标、地图图块和 HTML 文档。
我想从那里将 HTML 文档作为 Web 视图加载到 activity 中。所以它是一个本地文件。我希望应用程序处理它而不是默认浏览器。
这是我现在所做的:
我创建了一个新项目并将这些代码添加到 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"
然后我添加了此代码以启用 Internet 访问以显示,即使它是我要加载的本地 HTML 文档(供以后使用):
如您所见,我还在第一个代码块中启用了 JavaScript。
我是否也应该将一些代码放入 home.java 文件中?
我试过了,但它给出了错误:
package comapps.gta5online.gta5interactivemapcheats;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class Home extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
}
}
public class ViewWeb extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.webview);
WebView wv;
WebView view=(WebView) this.findViewById(R.id.webView);
view.getSettings() .setJavaScriptEnabled(true);
view.loadUrl("file:///android_asset/interactive/map.html");
}
}
在 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);
您似乎缺少一些导入。用这个
替换你所有的代码package comapps.gta5online.gta5interactivemapcheats;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class Home extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
WebView browser = (WebView) findViewById(R.id.webView);
WebSettings webSettings = browser.getSettings();
webSettings.setJavaScriptEnabled(true);
browser.loadUrl("file:///android_asset/interactive/map.html");
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return false;
}
}
}