Tuesday 15 March 2016

Webview Android

WebView adalah pandangan yang menampilkan halaman web dalam aplikasi Anda. Anda juga dapat menentukan HTML tali dan dapat menunjukkan dalam aplikasi Anda menggunakan WebView. WebView membuat ternyata aplikasi Anda untuk aplikasi web.
Dalam rangka untuk menambah WebView untuk aplikasi Anda, Anda harus menambahkan <WebView> elemen untuk file layout xml Anda. Sintaks-nya adalah sebagai berikut -
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/webview"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
/>
Dalam rangka untuk menggunakannya, Anda harus mendapatkan referensi dari pandangan ini dalam file Java. Untuk mendapatkan referensi, membuat obyek dari WebView kelas. sintaks adalah -
WebView browser = (WebView) findViewById(R.id.webview);
Dalam rangka untuk memuat url web ke WebView, Anda perlu memanggil metode loadUrl (String url) dari kelas WebView, menentukan url yang diperlukan. sintaks adalah:
browser.loadUrl("http://www.google.com");
Selain hanya memuat url, Anda dapat memiliki kontrol atas WebView Anda dengan menggunakan metode yang didefinisikan di kelas WebView. Mereka terdaftar sebagai berikut -
Sr.NoMetode & Deskripsi
1canGoBack ()
Metode ini menentukan WebView memiliki item sejarah kembali.
2canGoForward ()
Metode ini menentukan WebView memiliki item sejarah ke depan.
3clearHistory ()
Metode ini akan menghapus WebView maju dan sejarah ke belakang.
4menghancurkan()
Metode ini menghancurkan keadaan internal WebView.
5findAllAsync (String find)
Metode ini menemukan semua contoh string dan menyorot mereka.
6getProgress ()
Metode ini mendapat kemajuan dari halaman saat ini.
7getTitle ()
Metode ini mengembalikan judul dari halaman saat ini.
8getUrl ()
Metode ini mengembalikan url dari halaman saat ini.
Jika Anda mengklik link dalam halaman web dari WebView, halaman yang tidak akan dimuat dalam WebView Anda. Dalam rangka untuk melakukan itu Anda perlu untuk memperpanjang kelas Anda dari WebViewClient dan mengganti metode-nya. sintaks adalah -
private class MyBrowser extends WebViewClient {
   @Override
   public boolean shouldOverrideUrlLoading(WebView view, String url) {
      view.loadUrl(url);
      return true;
   }
}

Contoh

Berikut adalah contoh yang menunjukkan penggunaan WebView Layout.Ini menciptakan aplikasi web dasar yang akan meminta Anda untuk menentukan url dan akan memuat situs url ini di WebView.
Untuk bereksperimen dengan contoh ini, Anda perlu menjalankan ini pada perangkat yang sebenarnya yang internet sedang berjalan.
TanggaDeskripsi
1Anda akan menggunakan studio Android untuk membuat aplikasi Android di bawah com.example.sairamkrishna.myapplication paket.Sementara menciptakan proyek ini, pastikan Anda Targetkan SDK dan Kompilasi Dengan di versi terbaru dari Android SDK untuk menggunakan tingkat yang lebih tinggi dari API.
2Memodifikasi src file / MainActivity.java menambahkan kode WebView.
3Memodifikasi res / layout / activity_main untuk menambahkan komponen XML masing
4Memodifikasi AndroidManifest.xml untuk menambahkan izin yang diperlukan
5Jalankan aplikasi dan memilih perangkat android berjalan dan menginstal aplikasi di atasnya dan memverifikasi hasil.
Berikut ini adalah isi dari modifikasi file utama kegiatan src / MainActivity.java.
package com.example.sairamkrishna.myapplication;

import android.app.Activity;
import android.os.Bundle;

import android.view.Menu;
import android.view.MenuItem;
import android.view.View;

import android.webkit.WebView;
import android.webkit.WebViewClient;

import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import java.io.FileInputStream;
import java.io.FileOutputStream;

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;
      }
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
   }
   
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      
      int id = item.getItemId();
      
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
         return true;
      }
      return super.onOptionsItemSelected(item);
   }
}
Berikut ini adalah isi modifikasi dari res xml / tata letak / activity_main.xml.
<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="My Webview"
      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>
Berikut adalah isi dari res / values ​​/ string.xml.
<resources>
   <string name="app_name">My Application</string>
   <string name="hello_world">Hello world!</string>
   <string name="action_settings">Settings</string>
</resources>
Berikut adalah isi dari file 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>

Mari kita coba untuk menjalankan aplikasi WebView Anda. Untuk menjalankan aplikasi dari studio Android, buka salah satu file kegiatan proyek Anda dan klik Run.
Sekarang hanya menentukan url di lapangan url dan tekan tombol browse yang muncul, untuk meluncurkan situs web. Tapi sebelum itu pastikan bahwa Anda terhubung ke internet. 

No comments:

Post a Comment