Pengembangan kode berulang

Sebagai developer seluler, Anda sering mengembangkan UI aplikasi langkah demi langkah, daripada mengembangkan semuanya sekaligus. Android Studio menerapkan pendekatan ini dengan Jetpack Compose dengan menyediakan alat yang tidak memerlukan build penuh untuk diperiksa, memodifikasi nilai, dan memverifikasi hasil akhirnya.

Edit Live

Edit Live adalah fitur yang memungkinkan Anda mengupdate composable di emulator dan perangkat fisik secara langsung{i>.<i} Fungsi ini meminimalkan pengalihan konteks antara menulis dan membangun aplikasi, yang memungkinkan Anda fokus pada penulisan kode lebih lama tanpa gangguan.

Edit Live memiliki tiga mode:

  • Manual: Perubahan kode diterapkan saat diterapkan secara manual menggunakan Control+' (Command+' di macOS)
  • Manual 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 Lari
ikon untuk memulai ulang aplikasi dan melanjutkan Edit Live.

Mulai menggunakan Edit Live

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

Menyiapkan project baru

  1. Sebelum memulai, pastikan Anda memiliki Android Studio Giraffe atau versi yang lebih baru diinstal dan level API aplikasi perangkat atau emulator minimal 30.

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

  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 akan diterapkan setiap kali Anda menekan Control+' (Command+' di macOS). Di mode manual aktif simpan, perubahan kode Anda diterapkan setiap kali Anda menyimpan secara manual, menggunakan Control+S (Command+S pada macOS). Dalam mode otomatis, perubahan kode 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 Terbaru 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 diperbarui secara otomatis.

Misalnya, edit metode Greeting yang ada di MainActivity ke berikut ini:

@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 langsung muncul 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 untuk memperbarui hasil edit. Memeriksa apakah indikator Edit Live menyatakan Out Of Date seperti ditunjukkan dalam 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 baru] Edit Live memerlukan Runtime Compose 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.0-alpha05 atau lebih tinggi. Jika project Anda menggunakan versi yang lebih rendah AGP, Edit Live dinonaktifkan.

  • Edit Live memerlukan perangkat fisik atau emulator yang menjalankan level API 30 atau 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 di file. Ini hanya terjadi setelah perubahan kode pertama—status aplikasi tidak direset dengan perubahan kode berikutnya yang Anda buat pada fungsi Compose dalam file tersebut.

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

  • Anda harus menjalankan proses penuh agar debugger dapat beroperasi pada class yang telah diubah 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 pada 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 pada set perangkat terakhir yang menjadi target deployment aplikasi.

  • Edit Live berfungsi dengan deployment multiperangkat (deployment ke beberapa perangkat yang dibuat melalui Select multiple devices pada target perangkat Anda). Namun, itu tidak didukung secara resmi dan mungkin ada masalah performa. Jika Anda mengalami masalah, harap laporkan.

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

  • Edit Live saat ini tidak mendukung project Android Automotive.

Pertanyaan umum (FAQ) tentang Edit Live

  • Apa status Edit Live saat ini?

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

  • Kapan saya harus menggunakan Edit Live?

    Gunakan Edit Live jika Anda ingin dengan cepat melihat efek pembaruan terhadap UX (seperti update pengubah dan animasi) pada keseluruhan aplikasi pengalaman yang lancar bagi developer.

  • Kapan saya harus menghindari penggunaan Edit Live?

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

  • Kapan saya harus menggunakan Pratinjau Compose?

    Gunakan Pratinjau Compose saat Anda mengembangkan composable individu. Pratinjau memvisualisasikan elemen Compose dan otomatis memuat ulang untuk menampilkan pengaruh perubahan kode. Pratinjau juga mendukung tampilan elemen UI di konfigurasi dan status yang berbeda, seperti tema gelap, lokalitas, dan font penskalaan.

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
memperbarui
secara dinamis

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

Mengaktifkan Pengeditan Langsung
Literal

Apply Changes

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

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

Pengguna yang mengklik &quot;terapkan perubahan&quot;
tombol