Pengembangan kode berulang

Sebagai developer seluler, Anda sering mengembangkan UI aplikasi langkah demi langkah, bukan mengembangkan semuanya sekaligus. Android Studio menggunakan pendekatan ini dengan Jetpack Compose dengan menyediakan alat yang tidak memerlukan build penuh untuk memeriksa, mengubah nilai, dan memverifikasi hasil akhir.

Edit Live

Edit Live adalah fitur yang memungkinkan Anda mengupdate composable di emulator dan perangkat fisik secara real time. Fungsi ini meminimalkan pengalihan konteks antara penulisan dan pembuatan aplikasi sehingga Anda dapat berfokus pada penulisan kode lebih lama tanpa gangguan.

Edit Live memiliki tiga mode:

  • Manual: Perubahan kode diterapkan saat didorong secara manual menggunakan Control+\ (Command+\ di macOS)
  • Manual saat Menyimpan: Perubahan kode diterapkan saat disimpan secara manual menggunakan Control+S (Command+S di macOS).
  • Otomatis: Perubahan diterapkan di perangkat atau emulator saat Anda mengupdate fungsi composable.

Edit Live berfokus pada perubahan kode terkait UI dan UX. Edit Live tidak mendukung perubahan seperti pembaruan tanda tangan metode, penambahan metode baru, atau perubahan hierarki class. Untuk mengetahui informasi selengkapnya, lihat daftar Batasan Edit Live.

Fitur ini bukan pengganti untuk mem-build dan menjalankan aplikasi atau untuk Apply Changes. Sebaliknya, fitur ini dirancang untuk mengoptimalkan alur kerja Anda saat mem-build, men-deploy, dan melakukan iterasi untuk mengembangkan UI Compose.

Alur kerja praktik terbaik adalah sebagai berikut:

  1. Siapkan aplikasi agar dapat dijalankan.
  2. Lakukan Edit Live sebanyak mungkin sampai Anda perlu melakukan perubahan yang tidak didukung Edit Live, misalnya menambahkan metode baru saat aplikasi berjalan.
  3. Setelah melakukan perubahan yang tidak didukung, klik Run Ikon
Run untuk memulai ulang aplikasi Anda dan melanjutkan Edit Live.

Mulai menggunakan Edit Live

Untuk memulai, ikuti langkah-langkah berikut untuk membuat Aktivitas Compose kosong, mengaktifkan Edit Live untuk project Anda, dan membuat perubahan dengan Edit Live.

Menyiapkan project baru

  1. Sebelum memulai, pastikan Anda telah menginstal Android Studio Giraffe atau versi yang lebih tinggi dan API level perangkat fisik atau emulator minimal harus versi 30.

  2. Buka Android Studio lalu pilih New Project pada dialog Welcome to Android Studio. Jika sudah membuka project, Anda dapat membuat project baru dengan membuka File > New > New Project.

  3. Pilih template Empty Compose Activity untuk Phone and Tablet, lalu klik Next.

    Pilihan template di Android Studio
    Gambar 1. Template yang dapat Anda pilih. Untuk Edit Live, pilih Empty Compose Activity.
  4. Isi dialog New Project dengan informasi yang diperlukan: nama, nama paket, lokasi penyimpanan, SDK minimum, dan bahasa konfigurasi build.

    Contoh setelan project dari Langkah 4 yang dimasukkan di Android Studio
    Gambar 2. Contoh setelan project.
  5. Klik Finish.

Mengaktifkan Edit Live

  1. Buka setelan untuk mengaktifkan Edit Live.

    • Pada Windows atau Linux, buka File > Settings > Editor > Live Edit.
    • Pada macOS, buka Android Studio > Settings > Editor > Live Edit.
  2. Pilih opsi Live Edit dan mode yang ingin dijalankan dari setelan.

    Dalam mode manual, perubahan kode dikirim setiap kali Anda menekan Control+\ (Command+\ di macOS). Dalam mode manual di penyimpanan, perubahan kode Anda akan diterapkan setiap kali Anda menyimpan secara manual, menggunakan Control+S (Command+S di macOS). Dalam mode otomatis, perubahan kode akan diterapkan di perangkat atau emulator saat Anda membuat perubahan.

    UI kotak centang Edit Live di setelan Android Studio
    Gambar 3. Setelan Edit Live.
  3. Di editor, buka file MainActivity, yang merupakan titik entri aplikasi Anda.

  4. Klik Run Tombol UI untuk men-deploy aplikasi Anda.

  5. Setelah Anda mengaktifkan Edit Live, tanda centang hijau Up-to-date akan muncul di kanan atas jendela alat Running Devices:

    UI tanda centang hijau Edit Live

Membuat dan meninjau perubahan

Saat Anda membuat perubahan yang didukung di editor, perangkat pengujian virtual atau fisik akan diupdate secara otomatis.

Misalnya, edit metode Greeting yang ada di MainActivity menjadi berikut:

@Composable
fun Greeting(name: String) {
    Text(
        text = "Hello $name!",
        Modifier
            .padding(80.dp) // Outer padding; outside background
            .background(color = Color.Cyan) // Solid element background color
            .padding(16.dp) // Inner padding; inside background, around text)
    )
}

Perubahan Anda akan muncul secara instan di perangkat pengujian, seperti yang ditunjukkan pada gambar 4.

Perubahan pada metode Salam diterapkan di perangkat
Gambar 4. Perangkat pengujian yang menampilkan perubahan Edit Live pada metode Greeting.

Memecahkan masalah Edit Live

Jika Anda tidak melihat hasil edit di perangkat pengujian, Android Studio mungkin gagal memperbarui hasil edit Anda. Periksa apakah indikator Edit Live bertuliskan Out Of Date seperti yang ditunjukkan pada gambar 5, yang menunjukkan error kompilasi. Untuk mengetahui informasi tentang error dan saran cara mengatasinya, klik indikator.

Ikon sudah tidak berlaku Edit Live
Gambar 5. Indikator status Edit Live.

Batasan Edit Live

Berikut adalah daftar batasan saat ini.

  • [Hanya berlaku untuk Android Studio Giraffe dan yang lebih tinggi] Edit Live memerlukan Compose Runtime 1.3.0 atau yang lebih tinggi. Jika project Anda menggunakan versi Compose yang lebih rendah, Edit Live akan dinonaktifkan.

  • [Hanya berlaku untuk Android Studio Giraffe dan yang lebih tinggi] Edit Live memerlukan AGP 8.1 atau yang lebih baru. Jika project Anda menggunakan versi AGP yang lebih rendah, Edit Live akan dinonaktifkan.

  • Edit Live memerlukan perangkat fisik atau emulator yang menjalankan API level 30 atau yang lebih tinggi.

  • Edit Live hanya mendukung pengeditan isi fungsi, yang berarti Anda tidak dapat mengubah nama fungsi atau tanda tangan, menambahkan atau menghapus fungsi, atau mengubah kolom non-fungsi.

  • Edit Live mereset status aplikasi saat pertama kali Anda mengubah fungsi Compose dalam file. Hal ini hanya terjadi setelah perubahan kode pertama—status aplikasi tidak direset oleh perubahan kode berikutnya yang Anda buat pada fungsi Compose di file tersebut.

  • Class yang dimodifikasi dengan Edit Live mungkin menimbulkan beberapa masalah performa. Jalankan aplikasi dan gunakan build rilis yang bersih jika Anda mengevaluasi performanya.

  • Anda harus menjalankan run penuh agar debugger dapat beroperasi pada class yang telah Anda ubah dengan Edit Live.

  • Aplikasi yang berjalan mungkin error saat Anda mengeditnya dengan Edit Live. Jika ini terjadi, Anda dapat men-deploy ulang aplikasi dengan tombol Run Tombol UI.

  • Edit Live tidak melakukan manipulasi bytecode apa pun yang ditentukan dalam file build project, misalnya manipulasi bytecode yang akan diterapkan saat project dibuat menggunakan opsi dalam menu Build atau dengan mengklik tombol Build atau Run.

  • Fungsi Non-Composable diupdate secara langsung pada perangkat atau emulator dan rekomposisi penuh dipicu. Rekomposisi penuh mungkin tidak memanggil fungsi yang diupdate. Untuk fungsi non-composable, Anda harus memicu fungsi yang baru diupdate atau menjalankan lagi aplikasi.

  • Edit Live tidak dilanjutkan saat aplikasi dimulai ulang. Anda harus menjalankan aplikasi lagi.

  • Edit Live hanya mendukung proses yang dapat di-debug.

  • Edit Live tidak mendukung project yang menggunakan nilai kustom untuk moduleName pada kotlinOptions dalam konfigurasi build.

  • Edit Live tidak berfungsi dengan deployment multi-deploy. Artinya, Anda tidak dapat men-deploy ke satu perangkat, lalu ke perangkat lain. Edit Live hanya aktif di kumpulan perangkat terakhir tempat aplikasi di-deploy.

  • Edit Live berfungsi dengan deployment multiperangkat (deployment ke beberapa perangkat yang dibuat melalui Select multiple devices di menu dropdown perangkat target). Namun, Edit Live tidak didukung secara resmi dan mungkin terdapat masalah. Jika Anda mengalami masalah, laporkan.

  • Apply Changes/Apply Code Changes tidak kompatibel dengan Edit Live dan mengharuskan aplikasi yang berjalan dimulai ulang.

Pertanyaan umum (FAQ) tentang Edit Live

  • Apa status Edit Live saat ini?

    Edit Live tersedia di Android Studio Giraffe. Untuk mengaktifkannya, buka File > Settings > Editor > Live Edit (Android Studio > Settings > Editor > Live Edit di macOS).

  • Kapan saya harus menggunakan Edit Live?

    Gunakan Edit Live jika Anda ingin segera melihat efek update pada elemen UX (seperti update pengubah dan animasi) di keseluruhan pengalaman aplikasi.

  • Kapan sebaiknya saya menghindari penggunaan Edit Live?

    Edit Live berfokus pada perubahan kode terkait UI dan UX. Fitur ini tidak mendukung perubahan seperti pembaruan tanda tangan metode, penambahan metode baru, atau perubahan hierarki class. Untuk informasi selengkapnya, lihat Batasan Edit Live.

  • Kapan saya harus menggunakan Pratinjau Compose?

    Gunakan Pratinjau Compose saat Anda mengembangkan composable individu. Pratinjau memvisualisasikan elemen Compose dan otomatis memuat ulang untuk menampilkan efek perubahan kode. Pratinjau juga mendukung tampilan elemen UI dalam berbagai konfigurasi dan status, seperti tema gelap, lokalitas, dan skala font.

Edit Live literal (tidak digunakan lagi)

Android Studio dapat diupdate secara real-time beberapa literal konstan yang digunakan di composable dalam pratinjau, emulator, dan perangkat fisik. Berikut beberapa jenis yang didukung:

  • Int
  • String
  • Color
  • Dp
  • Boolean

Video pengguna yang mengubah literal dalam kode sumber, dan pratinjau
diperbarui secara dinamis

Anda dapat melihat literal konstan yang memicu update real-time tanpa langkah kompilasi dengan mengaktifkan dekorasi literal melalui Live Edit indikator UI literal:

Mengaktifkan Pengeditan Langsung
Literal

Apply Changes

Apply Changes memungkinkan Anda mengupdate kode dan resource tanpa harus men-deploy ulang aplikasi ke emulator atau perangkat fisik (dengan batasan).

Setiap kali menambahkan, memodifikasi, atau menghapus composable, Anda dapat mengupdate aplikasi tanpa harus men-deploy ulang dengan mengklik tombol Apply Code Changes:

Pengguna yang mengklik tombol "terapkan perubahan"