Membuat Applikasi Browser Sendiri Menggunakan Android Studio

Tutorial kali ini masih seputar Android, berhubung sekarang admin lagi di ikut pelatihan Android jadi mimin di haruskan untuk membuat artikel apapun itu yang berhubungnyan dengan bidang kopetensi mimin.
Tutorial kali ini adalah "Membuat Applikasi Browser Sendiri Menggunakan Android Studio". Pasti temen-temen sudah semuanya tau apa itu browser malah sekarang temen-temen lagi make browser buat baca tutorial ini :D Ya, jadi singkatnya browser adalah sebuah media yang di gunakan untuk berinteraksi langsung dengan sebuah website seperti Google, Facebook, Twitter dan lain sebagainya.
Baik kita langsung saja ke pokok pembahasan. Untuk membuat sebuah browser kita akan menggunakan  Dua layout activity, activity yang pertama di gunakan untuk menampilkan SplashScreen. Sedangkan Activity kedua di gunakan sebagai tampilan browser ketika di gunakan.
  1. Tahap pertama silahkan buat project baru
  2. Kita buat tampilan SplashScreenya terlebih dahulu. Temen-temen bisa lihat tutorialnya di artikel Membuat Spalsh Screen Android Studio
  3. Baik saya asumsikan SplashSscreen sudah berhasil di buat dan dapat di jalankan. Sekarang buka MainActivity.
  4. Tambahkan 6 Komponen Dua Linear Layout, Satu EditText, Satu Button, Satu ProgressBar (horizontal) dan Komponen WebView. Berikut sourcecodenya :   
    
    
      EditText memiliki ID : txtUrl, Button memiliki ID : btnGo, ProgressBar memiliki ID : ProgressBar dan WebView Memiliki ID : webView.
  5. Sekarang kita beralih ke MainActivity. Di dalam class MainActivity, deklarasikan semua komponen yang tadi kita buat
    // Deklarasiprivate WebView webView; private EditText txtUrl; private Button btnGo; private ProgressBar progressBar;
    Inisialikasikan komponen tersebut di dalam Method onCreate() :
    // Inisialisasikan KomponenwebView = (WebView) findViewById(R.id.webView); txtUrl = (WebView) findViewById(R.id.txtUrl); btnGo = (WebView) findViewById(R.id.btnGo);
    Setelah itu buat Variable url. Variable ini menyimpan url website yang secara default akan di buka saat Applikasi dijalankan :
    // Siapkan URLString url = "https://www.google.co.id/";
    Sekarang kita aktifkan fasilitas JavaScript dan Fasilitas lainnya :
    // Aktifkan Javascriptwebv.animate(); webv.getSettings().setJavaScriptEnabled(true); webv.getSettings().setDisplayZoomControls(true); webv.getSettings().setLoadWithOverviewMode(true); webv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); webv.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY); webv.getSettings().setAllowFileAccessFromFileURLs(true); webv.getSettings().setAllowUniversalAccessFromFileURLs(true);
    Sekarang Kita jalankan
    // Sekarang kita jalankanwebView.loadUrl(url); webView.setWebViewClient(new MyWebLaunch()); 
    Kita Buat aksi ketika btnGo di klik
    btnGo.setOnClickListener(new View.OnClickListener() {
        @Override    public void onClick(View v) {
            String url = txtUrl.getText().toString();
            // Aktifkan Javascript        webView.getSettings().setJavaScriptEnabled(true);
            webView.getSettings().setDisplayZoomControls(true);
            progressBar = (ProgressBar) findViewById(R.id.progressBar);
            webView.setWebChromeClient(new WebChromeClient(){
                @Override            public void onProgressChanged(WebView view, int newProgress) {
                    progressBar.setVisibility(View.VISIBLE);
    
    // fungsi buat status loading
    progressBar.setProgress(newProgress); if (newProgress == 100){ progressBar.setVisibility(View.GONE); } } }); webView.loadUrl(url); webView.setWebViewClient(new MyWebLaunch()); }
    }); Teman-teman bakal ngedapetin Error pada baris MyWebLaunch, ini disebabkan karena belum ada class MyWebLaunch. Caranya arahkan pointer ke MyWebLaunch kemudian tekan ALT+ENTER. pilih Create Inner Clas.... > MainActivity : Didalam Class MyWebLaunch tambahkan kode hingga seperti berikut :
    private class MyWebLaunch extends WebViewClient {
        @Override    public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return super.shouldOverrideUrlLoading(view, url);
        }
    }
    
    
  6. Nah sekarang kita coba jalankan dan Taraaa.... yap benar muncul notifikasi error saat membuka halaman :D
    Ini di karenakan kita butuh Permission untuk mengakses internet. Untuk membuka akses internet kita perlu mengedit AndroidManifest.xml yang ada di folder app > manifest.
    Tambahkan baris kode berikut. Oh iya sekalian juga tambahan attribut untuk SplashScreen agar FullScreen
    
    
    

Berikut Source code lengkapnya :

package com.example.relion.mybrowser;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ProgressBar;

public class MainActivity extends AppCompatActivity {

    // Deklarasi    private WebView webView;
    private EditText txtUrl;
    private Button btnGo;
    private ProgressBar progressBar;

    @Override    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Inisialisasikan Komponen        webView = (WebView) findViewById(R.id.webView);
        txtUrl = (EditText) findViewById(R.id.txtUrl);
        btnGo = (Button) findViewById(R.id.btnGo);
        // Siapkan URL        String url = "https://www.google.co.id/";
        // Aktifkan Javascript        webView.animate();
        webView.getSettings().setJavaScriptEnabled(true);
        webView.getSettings().setDisplayZoomControls(true);
        webView.getSettings().setLoadWithOverviewMode(true);
        webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
        webView.setScrollBarStyle(WebView.SCROLLBARS_OUTSIDE_OVERLAY);
        webView.getSettings().setAllowFileAccessFromFileURLs(true);
        webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
        // inisialisasi Progress bar        progressBar = (ProgressBar) findViewById(R.id.progressBar);
        // Buat loader        webView.setWebChromeClient(new WebChromeClient(){
            @Override            public void onProgressChanged(WebView view, int newProgress) {
                progressBar.setVisibility(View.VISIBLE);
                progressBar.setProgress(newProgress);
                if (newProgress == 100){
                    progressBar.setVisibility(View.GONE);
                }
            }
        });

        // Sekarang kita jalankan        webView.loadUrl(url);
        webView.setWebViewClient(new MyWebLaunch());

        btnGo.setOnClickListener(new View.OnClickListener() {
            @Override            public void onClick(View v) {
                String url = txtUrl.getText().toString();
                // Aktifkan Javascript                webView.getSettings().setJavaScriptEnabled(true);
                webView.getSettings().setDisplayZoomControls(true);
                progressBar = (ProgressBar) findViewById(R.id.progressBar);
                webView.setWebChromeClient(new WebChromeClient(){
                    @Override                    public void onProgressChanged(WebView view, int newProgress) {
                        progressBar.setVisibility(View.VISIBLE);
                        progressBar.setProgress(newProgress);
                        if (newProgress == 100){
                            progressBar.setVisibility(View.GONE);
                        }
                    }
                });
                webView.loadUrl(url);
                webView.setWebViewClient(new MyWebLaunch());
            }
        });
    }

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

    }
}



Oke baik sekali Applikasinya udah jadi :D Berikut penampakannya.. Semoga bermanfaat...

Note: *Jangan lupa menekan Enter saat AutoComplete muncul untuk menghindari error ketike lupa mengimport komponen

Post a Comment