简单的 webview 示例代码 Android studio
Posted
技术标签:
【中文标题】简单的 webview 示例代码 Android studio【英文标题】:Simple webview sample code Android studio 【发布时间】:2016-02-02 14:18:55 【问题描述】:我正在尝试为这个交互式地图制作一个简单的 webview 应用程序:http://gta5online.com/map-interactive> 地图下方还有一个全屏链接。
现在我创建了一个资产文件夹并包含了“交互式”文件夹,其中包含所有文件、图标、地图图块和 html 文档。
我想将 HTML 文档从那里加载到作为 web 视图的活动中。所以它是一个本地文件。我希望应用程序处理它而不是默认浏览器。
这是我现在所做的:
我创建了一个新项目并将这些代码添加到 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_
android:layout_
然后我添加了此代码以启用 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);
【问题讨论】:
【参考方案1】:您似乎缺少一些导入。用这个替换你所有的代码
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;
【讨论】:
好的,我自己在模拟器中的虚拟nexus 5设备上成功运行了它。我拥有的代码要短得多,我不知道它是否都符合要求。我如何在这里发布代码。我可以把它放在这里吗,因为它不会显示为标记为代码。 我也会尝试使用您的代码。有没有办法使用应用程序用户代理而不是默认浏览器?顺便谢谢 @serdox -- 用户代理设置在这里看看它是如何完成的 -- ***.com/questions/7327160/android-mobile-user-agent -- useragentstring.com/pages/Android%20Webkit%20Browser 好的,我的代码是这样的。它起作用了:'package comapps.gta5online.gta5interactivemapcheats;导入android.support.v7.app.AppCompatActivity;导入android.os.Bundle;导入 android.webkit.WebView;' ' 'public class Home extends AppCompatActivity @Override protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState); setContentView(R.layout.activity_home);字符串 url ="file:///android_asset/interactive/map.html"; WebView 视图=(WebView) this.findViewById(R.id.webview); view.getSettings() .setJavaScriptEnabled(true); view.loadUrl(url);以上是关于简单的 webview 示例代码 Android studio的主要内容,如果未能解决你的问题,请参考以下文章
在android的webview中嵌入一段HTML代码或Javascript脚本
如何在android 7中加载html之前在webview中注入javascript脚本
Android WebView 和 webrtc hello world 示例
Android webview示例不起作用(R.layout.show_web_view);