Полезные примеры Android

Полезные примеры Android
Android — WebView

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

Чтобы добавить WebView в свое приложение, вы должны добавить элемент <WebView> в свой файл макета xml. Его синтаксис следующий —

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

Чтобы использовать его, вы должны получить ссылку на это представление в файле Java. Чтобы получить ссылку, создайте объект класса WebView. Его синтаксис —

WebView browser = (WebView) findViewById(R.id.webview);

Чтобы загрузить веб-адрес в WebView, вам необходимо вызвать метод loadUrl (String url) класса WebView, указав требуемый URL. Его синтаксис:

browser.loadUrl("http://www.tutorialspoint.com");

Помимо загрузки URL-адреса, вы можете лучше контролировать свой WebView с помощью методов, определенных в классе WebView. Они перечислены следующим образом —

Sr.No Метод и описание
1

canGoBack ()

Этот метод указывает, что у WebView есть элемент предыдущей истории.

2

canGoForward ()

Этот метод указывает, что у WebView есть элемент истории пересылки.

3

чистая история()

Этот метод очистит прямую и обратную историю WebView.

4

разрушать()

Этот метод разрушает внутреннее состояние WebView.

5

findAllAsync (поиск строки)

Этот метод находит все экземпляры строки и выделяет их.

6

getProgress ()

Этот метод получает прогресс текущей страницы.

7

getTitle ()

Этот метод возвращает заголовок текущей страницы.

8

getUrl ()

Этот метод возвращает URL-адрес текущей страницы.

Если вы нажмете на любую ссылку внутри веб-страницы WebView, эта страница не будет загружена внутри вашего WebView. Для этого вам нужно расширить свой класс от WebViewClient и переопределить его метод. Его синтаксис —

private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}

Пример

Вот пример, демонстрирующий использование WebView Layout. Он создает базовое веб-приложение, которое попросит вас указать URL-адрес и загрузит этот веб-сайт с URL-адресом в WebView.

Чтобы поэкспериментировать с этим примером, вам нужно запустить его на реальном устройстве, на котором работает Интернет.

Шаги Описание
1 Вы будете использовать Android studio для создания Android-приложения в пакете com.example.sairamkrishna.myapplication.
2 Измените файл src / MainActivity.java, чтобы добавить код WebView.
3 Измените res / layout / activity_main, чтобы добавить соответствующие XML-компоненты.
4 Измените AndroidManifest.xml, чтобы добавить необходимые разрешения.
5 Запустите приложение, выберите работающее устройство Android, установите на него приложение и проверьте результаты.

Ниже приводится содержимое измененного файла основной деятельности src / MainActivity.java .

package com.example.sairamkrishna.myapplication;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity  {
Button b1;
EditText ed1;
private WebView wv1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1=(Button)findViewById(R.id.button);
ed1=(EditText)findViewById(R.id.editText);
wv1=(WebView)findViewById(R.id.webView);
wv1.setWebViewClient(new MyBrowser());
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String url = ed1.getText().toString();
wv1.getSettings().setLoadsImagesAutomatically(true);
wv1.getSettings().setJavaScriptEnabled(true);
wv1.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
wv1.loadUrl(url);
}
});
}
private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}

Ниже приводится измененное содержимое файла xml res / layout / activity_main.xml .

В следующем коде abc обозначает логотип tutorialspoint.com.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
<TextView android:text="WebView" android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview"
android:textSize="35dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tutorials point"
android:id="@+id/textView"
android:layout_below="@+id/textview"
android:layout_centerHorizontal="true"
android:textColor="#ff7aff24"
android:textSize="35dp" />
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:hint="Enter Text"
android:focusable="true"
android:textColorHighlight="#ff7eff15"
android:textColorHint="#ffff25e6"
android:layout_marginTop="46dp"
android:layout_below="@+id/imageView"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignRight="@+id/imageView"
android:layout_alignEnd="@+id/imageView" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/imageView"
android:src="@drawable/abc"
android:layout_below="@+id/textView"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Enter"
android:id="@+id/button"
android:layout_alignTop="@+id/editText"
android:layout_toRightOf="@+id/imageView"
android:layout_toEndOf="@+id/imageView" />
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/webView"
android:layout_below="@+id/button"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_alignParentBottom="true" />
</RelativeLayout>

Ниже приводится содержимое файла res / values ​​/ string.xml .

<resources>
<string name="app_name">My Application</string>
</resources>

Ниже приводится содержимое файла AndroidManifest.xml .

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.sairamkrishna.myapplication" >
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Попробуем запустить ваше приложение WebView. Чтобы запустить приложение из студии Android, откройте один из файлов активности вашего проекта и щелкните Значок запуска Eclipseзначок « Выполнить» на панели инструментов. Студия Android будет отображаться, как показано ниже

Теперь просто укажите URL-адрес в поле URL-адреса и нажмите появившуюся кнопку обзора, чтобы запустить веб-сайт. Но перед этим убедитесь, что вы подключены к Интернету. После нажатия кнопки появится следующий экран —

Учебное пособие по Android WebView

Примечание. Просто изменив URL-адрес в поле URL-адреса, ваш WebView откроет желаемый веб-сайт.

Учебное пособие по Android WebView

На изображении выше показан веб-просмотр tutorialspoint.com.

Select the fields to be shown. Others will be hidden. Drag and drop to rearrange the order.
  • Image
  • SKU
  • Rating
  • Price
  • Stock
  • Availability
  • Add to cart
  • Description
  • Content
  • Weight
  • Dimensions
  • Additional information
  • Attributes
  • Custom attributes
  • Custom fields
Click outside to hide the compare bar
Compare