Bisakah kita menggunakan javascript di android studio

Android

[Tidak didukung oleh pemirsa]

Android JS

[Tidak didukung oleh pemirsa]

Lingkungan Waktu Proses Node Js

Lingkungan Waktu Proses Node Js

Proses Kembali

Proses Kembali

Proses Depan

Proses Depan

Perpustakaan Asli Android

Perpustakaan Asli Android

Bekerja

  • Android JS menyediakan lingkungan runtime Node JS, Jadi Anda dapat menulis kode Anda di Node. JS dan dapat menggunakan paket `npm` apa pun yang membantu membangun aplikasi Anda dengan cepat
  • Kami menyediakan soket. io IPC untuk komunikasi proses depan dan belakang
  • Android JS menyediakan sebagian besar fungsi asli seperti panggilan, perpesanan, notifikasi, kamera, dll

Anda mungkin bertanya-tanya mengapa kita perlu menggunakan javascript di dalam Android?? . Namun, kami memiliki perpustakaan JS untuk itu. Sebagai contoh jika kita perlu menambahkan jenis perpustakaan Jsonlogic ke Android??

Ada cara praktis untuk melakukannya. Kita dapat menjalankan fungsi Js menggunakan Android. Tapi hanya kode logika. Kami tidak dapat melakukan perubahan UI apa pun (seperti yang saya tahu) menggunakan perpustakaan ini

Pustaka yang kami gunakan untuk mengeksekusi JS adalah Rhino. Anda dapat mengunduh versi terbaru dari sini

Setelah perpustakaan diunduh, unzip folder dan salin js. file jar dan rekatkan toples ke folder libs di dalam folder aplikasi di proyek Android. Kemudian klik kanan js. file jar dan klik "Tambahkan sebagai Perpustakaan". Jika "Tambahkan sebagai Perpustakaan" tidak muncul, buka gradasi level aplikasi dan tambahkan kode berikut

implementation files('./libs/js.jar')

Selanjutnya kita perlu membuat file properti untuk menambahkan kode fungsi JS kita. Untuk itu klik kanan folder res dan New -> direktori sumber daya Android dan pilih direktori "Raw". Di dalam direktori mentah buat file bernama config. properti. Di dalamnya tambahkan nilai properti seperti ini

jsExecute=var getRhinoHello=function(){return "hello rhino"}
_

Selanjutnya buka kelas atau aktivitas dan tambahkan fungsi berikut

Izinkan saya menjelaskan apa yang terjadi di dalam fungsi ini

  • Baris Kode 5–10 — Di sini saya memuat file properti di dalam folder mentah
  • Baris Kode 12 — Di sini kita mendapatkan nilai properti. Di dalam konfigurasi. file properti kami mendefinisikan nama properti sebagai "jsExecute". Oleh karena itu kita perlu menggunakan nama yang sama persis
  • Baris Kode 13 — Pada baris ini kita menentukan fungsi mana yang perlu dipanggil. Ini harus sama dengan nama fungsi di dalam konfigurasi. properti. Dalam contoh kami mendefinisikan nama fungsi sebagai "getRhinoHello" di dalam konfigurasi. properti dan kita harus menggunakan nama fungsi itu di sini
  • Baris Kode 37– 41 — Di sini Ini akan menjalankan fungsi JS dan mengembalikan nilainya

Saya harap Anda akan mendapatkan ide tentang fungsi tersebut. Selanjutnya kita bisa memanggil fungsi ini seperti ini dan melihat output di dalam logcat

Log.d("Rhino", "onCreate: "+ runScript(this));

Ini akan mencetak "halo badak" di dalam output logcat

Jika kita ingin meneruskan parameter ke fungsi JS, kita dapat menambahkan nilai tersebut ke array functionParams seperti ini

Object[] functionParams = new Object[]{"cool"};

Maka kita perlu memodifikasi fungsi JS untuk menerima parameter

jsExecute=var getRhinoHello=function(param){return "hello rhino "+param}
_

Saya harap Anda mendapatkan ide yang lebih baik tentang cara menjalankan fungsi JS di dalam aplikasi Android. Saya berharap untuk membahas lebih lanjut tentang kinerja dan cara menggunakan perpustakaan dunia nyata di artikel mendatang

Jika Anda ingin mengirimkan aplikasi web (atau hanya halaman web) sebagai bagian dari aplikasi klien, Anda dapat melakukannya menggunakan

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9. Kelas
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 adalah ekstensi dari kelas
val myWebView = WebView(activityContext)
setContentView(myWebView)
1 Android yang memungkinkan Anda menampilkan halaman web sebagai bagian dari tata letak aktivitas Anda. Itu tidak termasuk fitur apa pun dari browser web yang dikembangkan sepenuhnya, seperti kontrol navigasi atau bilah alamat. Semua yang dilakukan
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9, secara default, adalah menampilkan halaman web

Skenario umum yang menggunakan

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 berguna adalah saat Anda ingin memberikan informasi di aplikasi yang mungkin perlu diperbarui, seperti perjanjian pengguna akhir atau panduan pengguna. Di dalam aplikasi Android, Anda dapat membuat
val myWebView = WebView(activityContext)
setContentView(myWebView)
4 yang berisi
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9, lalu menggunakannya untuk menampilkan dokumen Anda yang dihosting secara online

Skenario lain di mana

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 dapat membantu adalah jika aplikasi Anda memberikan data kepada pengguna yang selalu membutuhkan koneksi Internet untuk mengambil data, seperti email. Dalam hal ini, Anda mungkin merasa lebih mudah membuat
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 di aplikasi Android Anda yang menampilkan halaman web dengan semua data pengguna, daripada melakukan permintaan jaringan, lalu mem-parsing data dan merendernya di tata letak Android. Sebagai gantinya, Anda dapat mendesain halaman web yang disesuaikan untuk perangkat Android, lalu menerapkan
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 di aplikasi Android Anda yang memuat halaman web

Dokumen ini menunjukkan cara memulai

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 dan cara melakukan beberapa hal tambahan, seperti menangani navigasi halaman dan mengikat JavaScript dari halaman web Anda ke kode sisi klien di aplikasi Android Anda

Tambahkan WebView ke aplikasi Anda

Untuk menambahkan

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 ke aplikasi Anda, Anda dapat menyertakan elemen
WebView myWebView = new WebView(activityContext);
setContentView(myWebView);
1 dalam tata letak aktivitas Anda, atau menyetel seluruh jendela Aktivitas sebagai
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 di

Tambahkan WebView di tata letak aktivitas

Untuk menambahkan

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9ke aplikasi Anda di layout, tambahkan kode berikut ke file XML layout aktivitas Anda


Untuk memuat halaman web di

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9, gunakan. Misalnya

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")

Jawa

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");

Tambahkan WebView di onCreate()

Untuk menambahkan

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 ke aplikasi Anda dalam metode
WebView myWebView = new WebView(activityContext);
setContentView(myWebView);
3 aktivitas, gunakan logika yang mirip dengan yang berikut

Kotlin

val myWebView = WebView(activityContext)
setContentView(myWebView)

Jawa

WebView myWebView = new WebView(activityContext);
setContentView(myWebView);

Kemudian muat halaman dengan

Kotlin

myWebView.loadUrl("http://www.example.com")

Jawa

myWebView.loadUrl("https://www.example.com");

Atau muat URL dari string HTML

Kotlin

// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")

Jawa

// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
String unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(),
        Base64.NO_PADDING);
myWebView.loadData(encodedHtml, "text/html", "base64");

Catatan. Ada batasan tentang apa yang dapat dilakukan HTML ini. Lihat

WebView myWebView = new WebView(activityContext);
setContentView(myWebView);
_9 dan
myWebView.loadUrl("http://www.example.com")
0 untuk info lebih lanjut tentang opsi penyandian

Namun, sebelum ini berfungsi, aplikasi Anda harus memiliki akses ke Internet. Untuk mendapatkan akses internet, minta izin di file manifes Anda. Misalnya


    
    ...

Itu saja yang Anda butuhkan untuk

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 dasar yang menampilkan halaman web. Selain itu, Anda dapat menyesuaikan
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9Anda dengan memodifikasi berikut ini

  • Mengaktifkan dukungan layar penuh dengan
    myWebView.loadUrl("http://www.example.com")
    
    4. Kelas ini juga dipanggil saat
    WebView myWebView = (WebView) findViewById(R.id.webview);
    myWebView.loadUrl("http://www.example.com");
    
    9 memerlukan izin untuk mengubah UI aplikasi host, seperti membuat atau menutup jendela dan mengirim dialog JavaScript ke pengguna. Untuk mempelajari lebih lanjut tentang proses debug dalam konteks ini, baca Men-debug Aplikasi Web
  • Menangani peristiwa yang memengaruhi perenderan konten, seperti kesalahan pada pengiriman formulir atau navigasi dengan
    myWebView.loadUrl("http://www.example.com")
    
    6. Anda juga dapat menggunakan subkelas ini untuk mencegat pemuatan URL
  • Mengaktifkan JavaScript dengan memodifikasi
    myWebView.loadUrl("http://www.example.com")
    
    7
  • Menggunakan JavaScript untuk mengakses objek kerangka kerja Android yang telah Anda masukkan ke dalam
    WebView myWebView = (WebView) findViewById(R.id.webview);
    myWebView.loadUrl("http://www.example.com");
    
    9

Bekerja dengan WebView di Android versi lama

Untuk menggunakan kemampuan WebView terbaru dengan aman di perangkat yang menjalankan aplikasi Anda, tambahkan AndroidX Webkit. Pustaka

myWebView.loadUrl("http://www.example.com")
_9 adalah pustaka statis yang dapat Anda tambahkan ke aplikasi untuk menggunakan
myWebView.loadUrl("https://www.example.com");
0 API yang tidak tersedia untuk versi platform lama

Gunakan JavaScript di WebView

Jika halaman web yang Anda rencanakan untuk dimuat di

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda menggunakan JavaScript, Anda harus mengaktifkan JavaScript untuk
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda. Setelah JavaScript diaktifkan, Anda juga dapat membuat antarmuka antara kode aplikasi dan kode JavaScript Anda

Aktifkan JavaScript

JavaScript dinonaktifkan di

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 secara default. Anda dapat mengaktifkannya melalui
myWebView.loadUrl("http://www.example.com")
_7 yang dilampirkan pada
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda. Anda dapat mengambil
myWebView.loadUrl("http://www.example.com")
_7 dengan , lalu aktifkan JavaScript dengan

Misalnya

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_0

Jawa

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_1

myWebView.loadUrl("http://www.example.com")
7 menyediakan akses ke berbagai pengaturan lain yang mungkin berguna bagi Anda. Misalnya, jika Anda mengembangkan aplikasi web yang dirancang khusus untuk
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 di aplikasi Android Anda, maka Anda dapat menentukan string agen pengguna khusus dengan , lalu mengkueri agen pengguna khusus di halaman web Anda untuk memverifikasi bahwa klien meminta Anda

Ikat kode JavaScript ke kode Android

Saat mengembangkan aplikasi web yang dirancang khusus untuk

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 di aplikasi Android, Anda dapat membuat antarmuka antara kode JavaScript dan kode Android sisi klien. Misalnya, kode JavaScript Anda dapat memanggil metode dalam kode Android Anda untuk menampilkan
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
3, alih-alih menggunakan fungsi
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
4 JavaScript

Untuk mengikat antarmuka baru antara kode JavaScript dan Android Anda, panggil , berikan itu instance kelas untuk mengikat JavaScript Anda dan nama antarmuka yang dapat dipanggil JavaScript Anda untuk mengakses kelas

Misalnya, Anda bisa menyertakan kelas berikut di aplikasi Android Anda

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_2

Jawa

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_3

Peringatan. Jika Anda telah menetapkan

// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
_6 ke 17 atau lebih tinggi, Anda harus menambahkan anotasi
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
7 ke metode apa pun yang Anda inginkan tersedia untuk JavaScript Anda, dan metode tersebut harus bersifat publik. Jika Anda tidak memberikan anotasi, metode ini tidak dapat diakses oleh halaman web Anda saat berjalan di Android 4. 2 atau lebih tinggi

Dalam contoh ini, kelas

// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
_8 memungkinkan halaman web membuat pesan
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
9, menggunakan metode
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
String unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(),
        Base64.NO_PADDING);
myWebView.loadData(encodedHtml, "text/html", "base64");
0

Anda dapat mengikat kelas ini ke JavaScript yang berjalan di

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda dengan
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
5 dan beri nama antarmuka
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
String unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(),
        Base64.NO_PADDING);
myWebView.loadData(encodedHtml, "text/html", "base64");
3. Misalnya

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_4

Jawa

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_5

Ini membuat antarmuka yang disebut

// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
String unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(),
        Base64.NO_PADDING);
myWebView.loadData(encodedHtml, "text/html", "base64");
3 untuk JavaScript yang berjalan di
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9. Pada titik ini, aplikasi web Anda memiliki akses ke kelas
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
8. Misalnya, inilah beberapa HTML dan JavaScript yang membuat pesan bersulang menggunakan antarmuka baru saat pengguna mengklik tombol

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_6

Tidak perlu menginisialisasi antarmuka ________31______3 dari JavaScript.

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 secara otomatis membuatnya tersedia untuk halaman web Anda. Jadi, saat pengguna mengklik tombol, fungsi
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
String unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(),
        Base64.NO_PADDING);
myWebView.loadData(encodedHtml, "text/html", "base64");
9 menggunakan antarmuka
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
String unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
String encodedHtml = Base64.encodeToString(unencodedHtml.getBytes(),
        Base64.NO_PADDING);
myWebView.loadData(encodedHtml, "text/html", "base64");
3 untuk memanggil metode

    
    ...

1

Catatan. Objek yang terikat ke JavaScript Anda berjalan di utas lain dan bukan di utas tempatnya dibuat

Peringatan. Menggunakan

// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
_5 memungkinkan JavaScript mengontrol aplikasi Android Anda. Ini bisa menjadi fitur yang sangat berguna atau masalah keamanan yang berbahaya. Ketika HTML di
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 tidak dapat dipercaya (misalnya, sebagian atau seluruh HTML disediakan oleh orang atau proses yang tidak dikenal), penyerang dapat menyertakan HTML yang mengeksekusi kode sisi klien Anda dan mungkin kode apa pun yang dipilih penyerang. Karena itu, Anda tidak boleh menggunakan
// Create an unencoded HTML string
// then convert the unencoded HTML string into bytes, encode
// it with Base64, and load the data.
val unencodedHtml =
     "'%23' is the percent code for ‘#‘ ";
val encodedHtml = Base64.encodeToString(unencodedHtml.toByteArray(), Base64.NO_PADDING)
myWebView.loadData(encodedHtml, "text/html", "base64")
_5 kecuali Anda menulis semua HTML dan JavaScript yang muncul di
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda. Anda juga tidak boleh mengizinkan pengguna menavigasi ke halaman web lain yang bukan milik Anda, dalam
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda. Alih-alih, izinkan aplikasi browser default pengguna untuk membuka tautan asing—secara default, browser web pengguna membuka semua tautan URL, jadi berhati-hatilah hanya jika Anda menangani navigasi halaman seperti yang dijelaskan di bagian berikut)

Menangani navigasi halaman

Saat pengguna mengeklik tautan dari laman web di

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda, perilaku default Android adalah meluncurkan aplikasi yang menangani URL. Biasanya, browser web default membuka dan memuat URL tujuan. Namun, Anda dapat mengganti perilaku ini untuk
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda, sehingga tautan terbuka di dalam
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda. Anda kemudian dapat mengizinkan pengguna untuk menavigasi mundur dan maju melalui riwayat halaman web mereka yang dikelola oleh
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda

Catatan. Untuk alasan keamanan, aplikasi browser sistem tidak membagikan data aplikasinya dengan aplikasi Anda

Untuk membuka tautan yang diklik oleh pengguna, berikan

myWebView.loadUrl("http://www.example.com")
6 untuk
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda, menggunakan. Misalnya

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_7

Jawa

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_8

Semua tautan yang diklik pengguna dimuat di

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 Anda

Jika Anda ingin lebih mengontrol di mana tautan yang diklik dimuat, buat

myWebView.loadUrl("http://www.example.com")
6 Anda sendiri yang menggantikan metode ini. Contoh berikut mengasumsikan bahwa
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_07 adalah inner class dari
val myWebView = WebView(activityContext)
setContentView(myWebView)
4

Kotlin

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_9

Jawa

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
0

Kemudian buat instance dari

myWebView.loadUrl("http://www.example.com")
6 baru ini untuk
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9

Kotlin

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
1

Jawa

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
2

Sekarang ketika pengguna mengklik tautan, sistem memanggil

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
06, yang memeriksa apakah host URL cocok dengan domain tertentu (sebagaimana didefinisikan di atas). Jika cocok, maka metode mengembalikan salah agar tidak mengesampingkan pemuatan URL (memungkinkan
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 untuk memuat URL seperti biasa). Jika host URL tidak cocok, maka
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
13 dibuat untuk meluncurkan Aktivitas default untuk menangani URL (yang menyelesaikan ke browser web default pengguna)

Tangani URL khusus

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 menerapkan batasan saat meminta sumber daya dan menyelesaikan tautan yang menggunakan skema URL khusus. Misalnya, jika Anda menerapkan panggilan balik seperti atau , maka
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 memanggilnya hanya untuk URL yang valid

Misalnya,

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 mungkin tidak memanggil metode
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
06 Anda untuk tautan seperti ini

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_3

URL yang tidak valid seperti di atas ditangani secara tidak konsisten di WebView, jadi sebaiknya gunakan URL yang dibuat dengan baik, seperti menggunakan skema kustom atau menggunakan URL HTTPS untuk domain yang dikontrol organisasi Anda

Alih-alih menggunakan string sederhana di tautan seperti yang ditunjukkan sebelumnya, Anda dapat menggunakan skema khusus seperti berikut ini

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_4

Anda kemudian dapat menangani URL ini dalam metode

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
06 Anda seperti ini

Kotlin

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
5

Jawa

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_6

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
_06 API terutama ditujukan untuk meluncurkan maksud untuk URL tertentu. Saat menerapkannya, pastikan untuk mengembalikan
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
22 untuk URL yang harus ditangani oleh
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9. Namun, Anda tidak terbatas pada meluncurkan niat;

Peringatan. Jangan panggil

WebView myWebView = new WebView(activityContext);
setContentView(myWebView);
6,
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
25, atau metode serupa dari dalam
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
06. Hal ini menyebabkan aplikasi tidak efisien. Hal yang lebih efisien untuk dilakukan adalah mengembalikan
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
22 untuk memungkinkan WebView melanjutkan memuat URL dengan implementasi defaultnya

Menavigasi riwayat halaman web

Saat

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 Anda menimpa pemuatan URL, secara otomatis mengumpulkan riwayat halaman web yang dikunjungi. Anda dapat menavigasi mundur dan maju melalui riwayat dengan dan

Misalnya, berikut ini menunjukkan bagaimana

val myWebView = WebView(activityContext)
setContentView(myWebView)
_4 Anda dapat menggunakan tombol Kembali perangkat untuk menavigasi mundur

Kotlin

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_7

Jawa

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_8

Metode mengembalikan true jika sebenarnya ada riwayat halaman web untuk dikunjungi pengguna. Demikian juga, Anda dapat menggunakan untuk memeriksa apakah ada riwayat penerusan. Jika Anda tidak melakukan pemeriksaan ini, setelah pengguna mencapai akhir riwayat,

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
29 atau
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
30 tidak melakukan apa pun

Menangani perubahan konfigurasi perangkat

Selama waktu proses, perubahan status aktivitas terjadi saat konfigurasi perangkat berubah, seperti saat pengguna memutar perangkat atau menutup editor metode masukan (IME). Perubahan ini menyebabkan aktivitas objek

WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
_9 dihancurkan dan aktivitas baru dibuat, yang juga membuat objek
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.loadUrl("http://www.example.com");
9 baru yang memuat URL objek yang dihancurkan. Untuk mengubah perilaku default aktivitas, Anda dapat mengubah caranya menangani ________22______38 perubahan dalam manifes Anda. Untuk mempelajari lebih lanjut tentang menangani perubahan konfigurasi selama runtime, baca Menangani perubahan konfigurasi

Kelola jendela

Secara default, permintaan untuk membuka jendela baru diabaikan. Ini benar apakah dibuka oleh JavaScript atau oleh atribut target di tautan. Anda dapat menyesuaikan

myWebView.loadUrl("http://www.example.com")
_4 Anda untuk memberikan perilaku Anda sendiri untuk membuka banyak jendela

Peringatan. Agar aplikasi Anda lebih aman, sebaiknya cegah munculan dan jendela baru agar tidak terbuka. Cara teraman untuk menerapkan perilaku ini adalah dengan meneruskan

val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
40 ke
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
41 tetapi tidak mengesampingkan metode
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
42, yang bergantung pada
val myWebView: WebView = findViewById(R.id.webview)
myWebView.loadUrl("http://www.example.com")
43. Perhatikan bahwa logika ini mencegah halaman apa pun yang menggunakan ________22______44 dalam tautannya untuk dimuat

Apakah studio Android menggunakan Java atau JavaScript?

Bahasa utama yang digunakan untuk Android studio adalah Java dan Kotlin . Namun, bahasa lain juga didukung, seperti C dan C++.

Bagaimana cara menulis kode JavaScript di Android Studio?

Menggunakan JavaScript di Android Studio .
Anda bermaksud membangun Aplikasi Android, bukan? . .
Anda tidak dapat menggunakan JavaScript di Android Studio tetapi Anda dapat membuat Aplikasi Android berbasis JavaScript

Bagaimana cara mengaktifkan JavaScript di Android Studio?

Aktifkan JavaScript . Anda dapat mengambil WebSettings dengan getSettings() , lalu aktifkan JavaScript dengan setJavaScriptEnabled(). WebView myWebView = (WebView) findViewById(R. pengenal. through the WebSettings attached to your WebView . You can retrieve WebSettings with getSettings() , then enable JavaScript with setJavaScriptEnabled() . WebView myWebView = (WebView) findViewById(R. id.

Bisakah kita menggunakan JavaScript untuk aplikasi Android?

Framework JavaScript dianggap sebagai yang terbaik dalam mengembangkan dan membuat aplikasi seluler yang efisien, khususnya aplikasi Android . Mereka adalah kumpulan pustaka kode JavaScript yang memungkinkan pengembang web menggunakan kode yang telah ditulis sebelumnya dalam pengembangannya.