Cara Membuat Web View dengan Android Studio
Langkah pertama buka android studio kalian dan buat project baru seperti biasa saat anda akan membuat project dan pilih Empty Activity.
Langkah kedua buka pada MainActivity.java dan tambahkan koding berikut ini :
package com.example.ugiksetyawan.webview; //SESUAIKAN NAMA PACKAGE KALIAN
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener {
SwipeRefreshLayout swipeRefreshLayout;
WebView webView;
WebSettings webSettings;
String URL = "http://ugiksetyawan.blogspot.co.id/"; //Sesuaikan alamat website yang kalian inginkan
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh);
webView = (WebView) findViewById(R.id.web_view);
swipeRefreshLayout.setOnRefreshListener(this);
webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true); // Untuk mengaktifkan javascript
webSettings.getUseWideViewPort();
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// Menampilkan loading ketika webview proses load halaman
swipeRefreshLayout.setRefreshing(true);
}
});
webView.setWebViewClient(new WebViewClient(){
// Ketika webview error atau selesai load page loading akan dismiss
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
swipeRefreshLayout.setRefreshing(false);
}
@Override
public void onPageFinished(WebView view, String url) {
swipeRefreshLayout.setRefreshing(false);
}
});
webView.loadUrl(URL);
}
@Override
public void onRefresh() {
// Untuk refresh webview dengan swipe
webView.reload();
}
@Override
public void onBackPressed() {
// Jika Webview bisa di back maka backward page sebelumnya
if (webView.canGoBack()) {
webView.goBack();
} else {
finish();
System.exit(0);
}
}
}
Selanjutnya menuju ke activity_main.xml dan tambahkan kode berikut ini :
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
Langkah berikutnya masuk dalam values lalu pilih style dan ganti koding seperti ini :
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> //Berfungsi untuk menghilangkan title bar
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
Langkah kedua buka pada MainActivity.java dan tambahkan koding berikut ini :
package com.example.ugiksetyawan.webview; //SESUAIKAN NAMA PACKAGE KALIAN
import android.support.v4.widget.SwipeRefreshLayout;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity implements SwipeRefreshLayout.OnRefreshListener {
SwipeRefreshLayout swipeRefreshLayout;
WebView webView;
WebSettings webSettings;
String URL = "http://ugiksetyawan.blogspot.co.id/"; //Sesuaikan alamat website yang kalian inginkan
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh);
webView = (WebView) findViewById(R.id.web_view);
swipeRefreshLayout.setOnRefreshListener(this);
webSettings = webView.getSettings();
webSettings.setJavaScriptEnabled(true); // Untuk mengaktifkan javascript
webSettings.getUseWideViewPort();
webView.setWebChromeClient(new WebChromeClient() {
@Override
public void onProgressChanged(WebView view, int newProgress) {
// Menampilkan loading ketika webview proses load halaman
swipeRefreshLayout.setRefreshing(true);
}
});
webView.setWebViewClient(new WebViewClient(){
// Ketika webview error atau selesai load page loading akan dismiss
@Override
public void onReceivedError(WebView view, WebResourceRequest request, WebResourceError error) {
swipeRefreshLayout.setRefreshing(false);
}
@Override
public void onPageFinished(WebView view, String url) {
swipeRefreshLayout.setRefreshing(false);
}
});
webView.loadUrl(URL);
}
@Override
public void onRefresh() {
// Untuk refresh webview dengan swipe
webView.reload();
}
@Override
public void onBackPressed() {
// Jika Webview bisa di back maka backward page sebelumnya
if (webView.canGoBack()) {
webView.goBack();
} else {
finish();
System.exit(0);
}
}
}
Selanjutnya menuju ke activity_main.xml dan tambahkan kode berikut ini :
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swipe_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</android.support.v4.widget.SwipeRefreshLayout>
Langkah berikutnya masuk dalam values lalu pilih style dan ganti koding seperti ini :
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> //Berfungsi untuk menghilangkan title bar
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
Selanjutnya didalam AndroidManifest.xml, berikan coding ini untuk bisa akses internet :
<uses-permission android:name="android.permission.INTERNET"/>
Langkah terakhir silahkan run project kalian, dan jika berhasil dan tidak ada yang eror, maka tampilannya akan berubah seperti video dibawah ini :
Comments
Post a Comment