Может кто-то дать один пример внедрения webview в android

Привет, я разрабатываю приложение для Android с использованием реализации WebView.

Я следил за официальным андроидом .

Я не получаю ошибок при создании моего проекта в eclipse, но при запуске приложения:

приложение перестало работать неожиданно

Ответ 1

Ваш файл Java должен выглядеть следующим образом:

public class WebViewSampleActivity extends Activity {
     WebView wb;
    private class HelloWebViewClient extends WebViewClient {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            return false;
        }
    }
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);      
        wb=(WebView)findViewById(R.id.webView1);        
        wb.getSettings().setJavaScriptEnabled(true);
        wb.getSettings().setLoadWithOverviewMode(true);
        wb.getSettings().setUseWideViewPort(true);
        wb.getSettings().setBuiltInZoomControls(true);
        wb.getSettings().setPluginState(WebSettings.PluginState.ON);
        wb.getSettings().setPluginsEnabled(true);           
        wb.setWebViewClient(new HelloWebViewClient());
        wb.loadUrl("http://www.examplefoo.com");        
    }
}

Ваш xml файл должен выглядеть следующим образом:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" 
    android:layout_gravity="center">

    <WebView
        android:id="@+id/webView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" />

</LinearLayout>

Используйте следующее в манифесте после <uses-sdk><uses-sdk/>:

 <uses-permission android:name="android.permission.INTERNET"/>

Ответ 2

Android WebView loadurl example

Пример Android WebView

WebView используется для отображения веб-страниц в нашем приложении. Позвольте сделать WebView и загрузить любой веб-сайт

предоставить разрешение в AndroidManifest.XML

<uses-permission android:name="android.permission.INTERNET"/>

activity_main.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="match_parent"
    android:layout_height="match_parent" />

MainActivity.Java

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;

public class MainActivity extends AppCompatActivity
{
private WebView webview;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

webview=(WebView)findViewById(R.id.webview);
//loads androidride homepage to webview
webview.loadUrl("https://www.androidride.com");
}
}

Ответ 3

WebView - это представление, отображающее веб-страницы внутри вашего приложения. Вы также можете указать строку HTML и показать ее в приложении с помощью WebView.

Учебник с примером: http://www.viralandroid.com/2015/09/android-webview-tutorial-with-examples.html

файл activity_main.xml

<WebView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"/>

Файл MainActivity.java

import android.webkit.WebView;

...

webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://www.viralandroid.com");

Ответ 4

Здесь вы идете:

    LinearLayout root = new LinearLayout(this);
root.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

WebView wv = new WebView(this);
wv.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
wv.getSettings().setJavaScriptEnabled(true); 

wv.loadUrl("http://www.google.com");
root.addView(wv);

setContentView(root);

Поместите этот код в свой метод onCreate. И не забудьте установить разрешающий интернет в манифесте Android.

Ответ 5

  class WebViewClass extends WebViewClient {
        final  ProgressBar loadProgress;
        final  WebView wv;

        WebViewClass(WebView webView, ProgressBar progressBar) {
            this.wv = webView;
            this.loadProgress = progressBar;
        }

        public void onPageFinished(WebView view, String url) {
            wv.setVisibility(View.VISIBLE);
            loadProgress.setVisibility(View.INVISIBLE);
            view.clearCache(true);
        }

        public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
            wv.loadData("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" + "<center>" + getString(R.string.erroopsproblem) + ".</center>", "text/html", "UTF-8");
        }
    }

Теперь используйте этот класс в onCreate(), например

WebView wv = (WebView) findViewById(R.id.webview);
        wv.setWebViewClient(new WebViewClient());
        wv.getSettings().setLoadsImagesAutomatically(true);
        wv.getSettings().setJavaScriptEnabled(true);
        wv.setScrollBarStyle(View.VISIBLE);
        wv.getSettings().setBuiltInZoomControls(true);
        wv.getSettings().setSupportZoom(true);
        wv.getSettings().setLoadWithOverviewMode(true);
        wv.getSettings().setUseWideViewPort(true);
        wv.getSettings().setAllowContentAccess(true);
        wv.loadUrl(Dest);
        wv.setVisibility(View.INVISIBLE);
        wv.setWebViewClient(new WebViewClass(wv, loadProgress));

Ответ 6

XML файл

<WebView xmlns:android="http://schemas.android.com/apk/res/android"

   android:id="@+id/myweb"

   android:layout_width="fill_parent"

   android:layout_height="fill_parent"/>

Java файл

 WebView web = (WebView) findViewById(R.id.myweb);

 web.setWebViewClient(new WebViewClient());

 web.getSettings().setLoadsImagesAutomatically(true);

 web.getSettings().setJavaScriptEnabled(true);

 web.getSettings().setBuiltInZoomControls(true);

 web.getSettings().setSupportZoom(true);

 web.getSettings().setLoadWithOverviewMode(true);

 web.getSettings().setUseWideViewPort(true);

 web.getSettings().setAllowContentAccess(true);

 web.loadUrl("https://www.technolifehacker.com");

 web.setWebViewClient(new WebViewClient(){

Ответ 7

В дополнение к ответу @ghost, если вы хотите, чтобы ваше веб-представление было полнофункциональным, как браузер, т.е. Вы могли идти вперед и назад, тогда вам необходимо переопределить метод onBackPressed для вашей деятельности, как показано ниже.

@Override
public void onBackPressed() {
if (webView.canGoBack()) {
    webView.goBack();
  } else {
    super.onBackPressed();
  }
}

Ответ 9

Вы должны

  1. Создайте файл XML макета, например, "test.xml"
  2. Создайте класс, унаследовавший Activity, например, 'wvtutorial
  3. В методе OnCreate его жизненного цикла создайте экземпляр WebView, например, "wview", с инициализированным значением null
  4. И другие