简单的webview示例代码Android studio

时间:2015-11-02 16:12:45

标签: javascript android android-studio webview interactive

我正在尝试为此互动地图制作一个简单的网络视图应用: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"

然后我添加了此代码以启用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 个答案:

答案 0 :(得分: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;
        }
    }

 }