Nama : Gede Widya Dharma
Nim : 1404505093
Dosen : I Putu Eka Pratama ST., MT
Matakuliah : Pemograman Mobile
Kampus : Jurusan Teknologi Informasi, Fakultas Teknik Universitas Udayana
Dosen : I Putu Eka Pratama ST., MT
Matakuliah : Pemograman Mobile
Kampus : Jurusan Teknologi Informasi, Fakultas Teknik Universitas Udayana
Berikut ini akan membahas mengenai pembuatan sebuah aplikasi memanfaatkan Webkit di android, dengan studi kasus sebuah URL internet maupun intranet yang diketikkan oleh pengguna aplikasi. Langkah-langkahnya sebagai berikut :
1. Buat proyek baru. Klik Next.
2. Pilih opsi Phone and Tablet yang diinginkan. Klik Next
3. Pilih Blank Activity. Klik Next.
4. Memberi nama Activity (Main Citivty). Klik Finish.
6. Ketikkan script berikut pada file activity_main.xml yang berlokasi di /res/layout. Script ini untuk membangun tatap muka aplikasi.
<?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:padding="4dp"
tools:context=".MainActivity">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="true"></WebView>
</RelativeLayout>
7. Kemudian ketikkan script Java berikut pada file main activity.java yang ada di /java/squwidy.kalkulator.
packages squwidy.webkit;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
//Define URL
private static final String URL = "https://lbagiartha.wordpress.com/";
//Define WebView
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webView = (WebView)findViewById(R.id.webView); //get webView
webView.setWebViewClient(new WebViewClient()); //set webView client
WebSettings webSettings = webView.getSettings();// initiate webView settings
webSettings.setJavaScriptEnabled(true); //allow webView perform javascript
webSettings.setBuiltInZoomControls(true); //show zoom control
webView.loadUrl(URL); //load URL
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_exit) {
//close app when click Close setting menu
finishApp();
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* Handle Back Navigation Button
* @param keyCode
* @param event
* @return
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && webView.canGoBack()) {
//back to previous url
webView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
/**
* Method to close App
*/
private void finishApp() {
finish();
moveTaskToBack(true);
}
}