Modul 11 - Web View
- Reza Prihandi
- Jun 26, 2021
- 2 min read
WebView pada Android Studio
Jika ingin menyediakan aplikasi web (atau hanya halaman web) sebagai bagian dari aplikasi klien, Anda dapat melakukannya menggunakan WebView. Class WebView adalah ekstensi class View Android yang memungkinkan Anda menampilkan halaman web sebagai bagian dari tata letak aktivitas Anda. Class ini tidak menyertakan fitur apa pun dari browser web yang dikembangkan sepenuhnya, seperti kontrol navigasi atau kolom URL. Semua yang dilakukan WebView secara default adalah menampilkan halaman web.
Praktikum
Pertama jalankan aplikasi IDE Android Studio, caranya : a. Pilih Start >> Android Studio b. Pilih >> Start a new Android Studio Project c. Pilih >> Empty Activity >> Next
Name >> WebView
Package Name >> ubah menjadi nama blog kalian masing-masing, di sini saya menggunakan url blog saya adi.unggasid.com lalu di ikuti nama project WebView
Save Location >> C:\Users\DELL\AndroidStudioProjects\NamaMhs\WebView
Language >> Java
Minimum API Level >> API 15 >> Klik Finish

Siapkan sebuah file gambar dengan forma file .png yang akan kita gunakan sebagai icon Aplikasi web view kita lalu copy kedalam folder ../res/drawable/.
Selanjutnya buat layout dengan ketikan kode program activity_main.xml seperti di bawah ini, kita akan menambahkan progress bar di layout ini supaya ketika proses load website akan menampilkan icon loading.
<?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:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:id="@+id/webView" />
<ProgressBar
style="?android:attr/progressBarStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="110dp"
android:id="@+id/progressBar2" />
</RelativeLayout>
Setelah itu Buka dan ubah script MainActivity.java dan tambahkan script untuk memanggil url website, object class Webview, dan proses progress bar pada MainActivity.java
import android.graphics.Bitmap;
import android.os.Bundle;
import android.view.KeyEvent;
import android.view.View;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
WebView webView;
ProgressBar bar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView) findViewById(R.id.webView);
bar=(ProgressBar) findViewById(R.id.progressBar2);
webView.setWebViewClient(new myWebclient());
webView.getSettings().setJavaScriptEnabled(true);
webView.loadUrl("https://nenengevi07.blogspot.com/");
}
public class myWebclient extends WebViewClient{
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
bar.setVisibility(View.GONE);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return super.shouldOverrideUrlLoading(view, url);
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if((keyCode==KeyEvent.KEYCODE_BACK) && webView.canGoBack()){
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
Tambahkan uses-permission INTERNET dalam script AndroidManifest.xml seperti di bawah ini
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="adi.unggasid.webview"><uses-permission android:name="android.permission.INTERNET"/>
. . . . .
. . . . .
Maka hasilnya akan seperti ini jika di run.
Comments