1.0: Pengantar Android
Apa yang dimaksud dengan Android?
Android adalah sistem operasi dan platform pemrograman yang dikembangkan oleh Google untuk ponsel cerdas dan perangkat seluler lainnya (seperti tablet). Android bisa berjalan di beberapa macam perangkat dari banyak produsen yang berbeda. Android menyertakan kit development perangkat lunak untuk penulisan kode asli dan perakitan modul perangkat lunak untuk membuat aplikasi bagi pengguna Android. Android juga menyediakan pasar untuk mendistribusikan aplikasi. Secara keseluruhan, Android menyatakan ekosistem untuk aplikasi seluler.
Mengapa mengembangkan aplikasi untuk Android?
Aplikasi dikembangkan untuk berbagai alasan: menjawab kebutuhan bisnis, membangun layanan baru, membuat bisnis baru, dan menyediakan game serta jenis materi lainnya untuk pengguna. Developer memilih untuk mengembangkan bagi Android agar bisa menjangkau sebagian besar pengguna perangkat seluler.
Platform paling populer untuk aplikasi seluler
Sebagai platform perangkat seluler paling populer di dunia, Android mendukung ratusan juta perangkat seluler di lebih dari 190 negara di seluruh dunia. Android memiliki basis pemasangan terbesar dari platform seluler apa pun dan masih tumbuh dengan cepat. Setiap hari, jutaan pengguna lain menyalakan perangkat Android mereka untuk pertama kalinya dan mulai mencari aplikasi, game, dan materi digital lainnya.
Pengalaman terbaik untuk pengguna aplikasi
Android menyediakan antarmuka pengguna (UI) layar sentuh untuk berinteraksi dengan aplikasi. Antarmuka pengguna Android sebagian besar berdasarkan pada manipulasi langsung, menggunakan isyarat sentuhan seperti menggesek, mengetuk, dan mencubit untuk memanipulasi objek di layar. Selain keyboard, ada keyboard virtual yang bisa disesuaikan untuk masukan teks. Android juga bisa mendukung pengontrol game dan keyboard fisik berukuran penuh yang dihubungkan dengan Bluetooth atau USB.
Layar utama Android bisa berisi sejumlah laman ikon aplikasi, yang akan meluncurkan aplikasi terkait, dan widget, dengan menampilkan materi langsung yang diperbarui secara otomatis seperti cuaca, kotak masuk email pengguna, atau ticker berita. Android juga bisa memutar materi multimedia seperti musik, animasi, dan video. Gambar di atas menampilkan ikon aplikasi pada layar utama (kiri), musik yang diputar (tengah), dan widget yang ditampilkan (kanan). Sepanjang bagian atas layar terdapat bilah status, yang menampilkan informasi tentang perangkat dan konektivitasnya. Layar utama Android bisa terdiri dari sejumlah laman, yang bisa digesek mundur dan maju oleh pengguna.
Android didesain untuk menyediakan respons cepat terhadap masukan pengguna. Selain antarmuka sentuh yang berubah-ubah, kemampuan getaran perangkat Android bisa menyediakan umpan balik sentuhan. Perangkat keras internal seperti akselerometer, giroskop, dan sensor kedekatan, digunakan oleh banyak aplikasi untuk merespons tindakan pengguna tambahan. Sensor tersebut bisa mendeteksi rotasi layar dari potret ke lanskap untuk tampilan yang lebih lebar atau sensor bisa memungkinkan pengguna untuk menyetir kendaraan virtual dengan memutar perangkat seolah-olah setir mobil.
Platform Android, berdasarkan pada kernel Linux, terutama didesain untuk perangkat seluler layar sentuh seperti ponsel cerdas dan tablet. Karena perangkat Android biasanya bertenaga baterai, Android didesain untuk mengelola proses guna menjaga konsumsi daya tetap minimum, sehingga menyediakan penggunaan baterai lebih lama.
Mudah mengembangkan aplikasi
Gunakan Android Software Development Kit (SDK) Android untuk mengembangkan aplikasi yang memanfaatkan UI dan sistem operasi Android. SDK terdiri dari serangkaian alat development menyeluruh yang menyertakan debugger, pustaka perangkat lunak kode pratulis, emulator perangkat, dokumentasi, kode contoh, dan tutorial. Gunakan alat-alat ini untuk membuat aplikasi yang terlihat hebat dan manfaatkan kemampuan perangkat keras yang tersedia di setiap perangkat.
Untuk mengembangkan aplikasi menggunakan SDK, gunakan bahasa pemrograman Java untuk mengembangkan aplikasi dan file Extensible Markup Language (XML) untuk menjelaskan sumber daya data. Dengan menulis kode di Java dan membuat biner aplikasi tunggal, Anda akan memiliki aplikasi yang bisa berjalan pada faktor bentuk ponsel dan tablet. Anda bisa mendeklarasikan UI dalam rangkaian sumber daya XML ringan, satu rangkaian untuk bagian UI yang umum bagi semua faktor bentuk, dan rangkaian lain untuk fitur yang khusus bagi ponsel atau tablet. Pada waktu proses, Android menerapkan rangkaian sumber daya yang tepat berdasarkan ukuran layar, kepadatan, lokal, dan sebagainya.
Untuk membantu Anda mengembangkan aplikasi secara efisien, Google menawarkan Lingkungan Development Terintegrasi (IDE) Java lengkap yang disebut Android Studio, dengan fitur lanjutan untuk pengembangan, debug, dan pemaketan aplikasi Android. Dengan menggunakan Android Studio, Anda bisa mengembangkan perangkat Android yang tersedia, atau membuat perangkat virtual yang mengemulasikan konfigurasi perangkat keras apa pun.
Android menyediakan arsitektur development yang kaya. Anda tidak perlu mengetahui banyak tentang komponen arsitektur ini, namun perlu mengetahui apa yang tersedia dalam sistem yang digunakan untuk aplikasi Anda. Diagram berikut menampilkan komponen utama sistem tumpukan Android — sistem operasi dan arsitektur development.
Dalam gambar di atas:
- Aplikasi: Aplikasi berada pada tingkat ini, bersama dengan aplikasi sistem inti untuk email, perpesanan SMS, kalender, penjelajahan Internet, atau kontak.
- Kerangka Kerja API Java: Semua fitur Android tersedia untuk developer melalui antarmuka pemograman aplikasi (API) yang ditulis dalam bahasa Java. Anda tidak perlu mengetahui detail semua API untuk mempelajari cara mengembangkan aplikasi Android, namun Anda bisa mengetahui selengkapnya tentang API berikut ini, yang berguna untuk membuat aplikasi:Sistem Tampilan digunakan untuk membangun UI aplikasi, termasuk daftar, tombol, dan menu.
Pengelola Referensi digunakan untuk mengakses sumber daya non-kode seperti string, grafik, dan file layout yang dilokalkan.
Pengelola Notifikasi digunakan untuk menampilkan peringatan khusus di bilah status.
Pengelola Aktivitas yang mengelola daur hidup aplikasi.
Penyedia Materi yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain.
Semua API kerangka kerja yang digunakan aplikasi sistem Android. - Pustaka dan Waktu Proses Android:Setiap aplikasi berjalan dalam prosesnya sendiri dan dengan instance Android Runtime sendiri, yang memungkinkan beberapa mesin sekaligus virtual pada perangkat bermemori rendah. Android juga menyertakan rangkaian pustaka waktu proses inti yang menyediakan sebagian besar fungsionalitas bahasa pemrograman Java, termasuk beberapa fitur bahasa Java 8 yang digunakan kerangka kerja Java API. Banyak layanan dan komponen sistem Android inti dibangun dari kode asli yang memerlukan pustaka asli yang ditulis dalam C dan C++. Pustaka asli tersebut tersedia untuk aplikasi melalui kerangka kerja Java API.
- Hardware Abstraction Layer (HAL): Lapisan ini menyediakan antarmuka standar yang menunjukkan kemampuan perangkat keras di perangkat ke kerangka kerja Java API yang lebih tinggi. HAL terdiri atas beberapa modul pustaka, masing-masing mengimplementasikan antarmuka untuk komponen perangkat keras tertentu, seperti modul kamera atau bluetooth.
- Kernel Linux: Fondasi platform Android adalah kernel Linux. Lapisan di atas mengandalkan kernel Linux untuk fungsionalitas pokok seperti threading dan manajemen memori tingkat rendah. Menggunakan kernel Linux memungkinkan Android memanfaatkan fitur keamanan utama dan memungkinkan produsen perangkat mengembangkan driver perangkat keras untuk kernel yang cukup dikenal.
Banyak opsi distribusi
Anda bisa mendistribusikan aplikasi Android dalam banyak cara: email, situs web, atau pasar aplikasi seperti Google Play. Pengguna Android mengunduh jutaan aplikasi dan game dari Google Play store setiap bulan (ditampilkan dalam gambar di bawah ini). Google Play adalah layanan distribusi digital, yang dioperasikan dan dikembangkan oleh Google, yang berfungsi sebagai toko aplikasi resmi untuk Android, yang memungkinkan konsumen menjelajah dan mengunduh aplikasi yang dikembangkan dengan Android SDK dan dipublikasikan melalui Google.
Versi Android
Google menyediakan peningkatan versi bertahap utama untuk sistem operasi Android setiap enam hingga sembilan bulan, menggunakan nama bertema makanan. Rilis utama yang terbaru adalah Android 7.0 “Nougat”.
Tantangan development aplikasi Android
Sewaktu platform Android menyediakan fungsionalitas kaya untuk development aplikasi, masih ada sejumlah tantangan yang perlu Anda tangani, seperti:
- Membangun untuk dunia multilayar
- Mendapatkan kinerja yang tepat
- Membuat kode dan pengguna Anda tetap aman
- Tetap kompatibel dengan versi platform yang lebih lama
- Memahami pasar dan pengguna.
Membangun untuk dunia multilayar
Android berjalan pada miliaran perangkat genggam di seluruh dunia, dan mendukung beragam faktor bentuk termasuk perangkat yang dapat dikenakan dan televisi. Perangkat bisa tersedia dalam ukuran dan bentuk berbeda yang memengaruhi desain layar untuk elemen UI di aplikasi Anda.
Sebagai tambahan, produsen perangkat mungkin menambahkan elemen UI, gaya, dan warna sendiri untuk membedakan produk mereka. Setiap produsen menawarkan fitur berbeda dalam hal bentuk keyboard, ukuran layar, atau tombol kamera. Aplikasi yang berjalan pada satu perangkat mungkin terlihat sedikit berbeda di perangkat lain. Tantangan bagi sebagian besar developer adalah untuk mendesain elemen UI yang bisa bekerja di semua perangkat Selain itu, developer juga bertanggung jawab untuk menyediakan sumber daya aplikasi seperti ikon, logo, grafik lain, dan gaya teks untuk mempertahankan keseragaman penampilan di seluruh perangkat yang berbeda.
Memaksimalkan kinerja aplikasi
Kinerja aplikasi, seberapa cepat aplikasi berjalan, seberapa mudah aplikasi menghubungkan ke jaringan, dan seberapa baik aplikasi mengelola baterai dan penggunaan memori, dipengaruhi oleh beberapa faktor seperti daya tahan baterai, materi multimedia, dan akses Internet. Anda harus memperhatikan batasan tersebut dan menulis kode sedemikian rupa sehingga penggunaan sumber daya diseimbangkan dan didistribusikan secara optimal. Misalnya, Anda harus menyeimbangkan layanan latar belakang dengan mengaktifkannya hanya jika perlu; hal ini akan menghemat daya tahan baterai perangkat pengguna.
Membuat kode dan pengguna Anda tetap aman
Anda perlu melakukan tindakan pencegahan untuk mengamankan kode dan pengalaman pengguna saat menggunakan aplikasi. Gunakan alat seperti ProGuard (disediakan di Android Studio), yang mendeteksi dan membuang kelas, bidang, metode, dan atribut yang tidak digunakan serta mengenkripsi semua kode dan sumber daya aplikasi sewaktu memaketkan aplikasi. Untuk melindungi informasi penting milik pengguna seperti proses masuk dan sandi, Anda harus mengamankan saluran komunikasi untuk melindungi data yang bergerak (di Internet) serta data yang tidak bergerak (di perangkat).
Tetap kompatibel dengan versi platform yang lebih lama
Pertimbangkan cara menambahkan fitur versi platform Android baru ke aplikasi, sambil memastikan bahwa aplikasi masih bisa berjalan pada perangkat dengan versi platform yang lebih lama. Hal ini tidak akan bermanfaat untuk hanya fokus pada versi Android terbaru, karena tidak semua pengguna sudah meningkatkan versi atau dapat meningkatkan versi perangkat mereka.
1.1: Buat Aplikasi Android Anda yang Pertama
Bab ini menjelaskan cara mengembangkan aplikasi menggunakan Android Studio Integrated Development Environment (IDE).
Proses development
Proyek aplikasi Android dimulai dengan ide dan definisi persyaratan yang diperlukan untuk mewujudkan ide tersebut. Saat proyek berjalan, maka akan melalui desain, development, dan pengujian
.
Diagram di atas adalah gambar proses development tingkat tinggi, dengan langkah-langkah berikut:
- Mendefinisikan ide dan persyaratannya: Sebagian besar aplikasi dimulai dengan ide tentang hal yang harus dilakukan, yang didukung pasar dan penelitian pengguna. Selama tahap ini, persyaratan aplikasi didefinisikan.
- Membuat prototipe antarmuka pengguna: Gunakan gambar, rekaan, dan prototipe untuk menampilkan tampilan antarmuka pengguna nantinya, dan cara kerjanya.
- Mengembangkan dan menguji aplikasi: Aplikasi terdiri dari satu atau beberapa aktivitas. Untuk setiap aktivitas, Anda bisa menggunakan Android Studio untuk melakukan hal berikut, tidak dalam urutan tertentu:
- Buat layout: Tempatkan elemen UI pada layar di layout, dan tetapkan sumber daya string serta item menu, menggunakan Extensible Markup Language (XML).
- Tulis kode Java: Buat referensi kode sumber untuk komponen dan pengujian, serta gunakan alat pengujian dan debug.
- Daftarkan aktivitas: Deklarasikan aktivitas dalam file manifes.
- Definisikan versi: Gunakan konfigurasi pembangunan default atau buat pembangunan khusus untuk versi aplikasi yang berbeda.
- Mempublikasikan aplikasi: Rakit APK (file paket) final dan distribusikan melalui saluran seperti Google Play.
Menggunakan Android Studio
Android Studio menyediakan alat untuk pengujian, dan mempublikasikan tahap proses development, serta lingkungan development terpadu untuk membuat aplikasi bagi semua perangkat Android. Lingkungan development menyertakan kode template dengan kode contoh untuk fitur aplikasi umum, alat pengujian dan kerangka kerja yang banyak, dan sistem pembangunan yang fleksibel.
Memulai proyek Android Studio
Setelah berhasil memasang Android Studio IDE, klik dua kali ikon aplikasi Android Studio untuk memulainya. Pilih Start a new Android Studio project di jendela Welcome, dan beri nama proyek dengan nama yang sama yang ingin Anda gunakan untuk aplikasi.
Saat memilih Domain Perusahaan unik, ingat bahwa aplikasi yang dipublikasikan ke Google Play harus memiliki nama paket unik. Karena domain bersifat unik, yang mengawali nama aplikasi dengan nama Anda, atau nama domain perusahaan, sebaiknya sediakan nama paket unik yang memadai. Jika tidak berencana untuk mempublikasikan aplikasi, Anda bisa menerima domain contoh default. Ketahuilah bahwa mengubah nama paket di lain waktu memerlukan kerja tambahan.
Memilih perangkat target dan SDK minimum
Saat memilih Target Android Devices, Phone and Tablet dipilih secara default, seperti yang ditampilkan dalam gambar di bawah ini. Pilihan yang ditampilkan dalam gambar untuk Minimum SDK — API 15: Android 4.0.3 (IceCreamSandwich) — membuat aplikasi Anda kompatibel dengan 97% perangkat Android yang aktif di Google Play Store.
Perangkat berbeda menjalankan versi sistem Android yang berbeda, seperti Android 4.0.3 atau Android 4.4. Setiap versi yang berurutan umumnya menambahkan API baru yang tidak tersedia di versi sebelumnya. Untuk menunjukkan rangkaian API yang tersedia, setiap versi menetapkan API level. Misalnya, Android 1.0 adalah API level 1 dan Android 4.0.3 adalah API level 15.
Minimum SDK mendeklarasikan versi Android minimum untuk aplikasi Anda. Setiap versi Android yang berurutan menyediakan kompatibilitas untuk aplikasi yang dibangun menggunakan API dari versi sebelumnya, sehingga aplikasi Anda akan selalu kompatibel dengan versi Android mendatang sambil menggunakan Android API yang didokumentasikan.
Memilih template
Android Studio mengumpulkan terlebih dulu proyek Anda dengan kode minimum untuk aktivitas dan layout layar berdasarkan template. Tersedia berbagai macam template, mulai dari template kosong virtual (Add No Activity) hingga beragam tipe aktivitas.
Anda bisa menyesuaikan aktivitas setelah memilih template. Misalnya, template Empty Activity menyediakan satu aktivitas yang disertai satu sumber daya layout untuk layar. Anda bisa memilih untuk menerima nama yang biasa digunakan untuk aktivitas (seperti MainActivity) atau mengubah nama di layar Customize Activity . Selain itu, jika Anda menggunakan template Empty Activity, pastikan memeriksa yang berikut ini jika belum diperiksa:
- Generate Layout File: Biarkan ini dicentang untuk membuat sumber daya layout yang terhubung dengan aktivitas ini, yang biasanya diberi nama activity_main.xml. Layout mendefinisikan antarmuka pengguna untuk aktivitas.
- Backwards Compatibility (AppCompat): Biarkan ini dicentang untuk menyertakan pustaka AppCompat sehingga aplikasi kompatibel dengan Android versi sebelumnya bahkan jika menggunakan fitur yang hanya ditemukan di versi yang lebih baru.
Android Studio membuat folder untuk proyek yang baru saja dibuat di folder AndroidStudioProjects pada komputer Anda.
Panel jendela Android Studio
Jendela utama Android Studio terdiri dari sejumlah area logis, atau panel, seperti yang ditampilkan dalam gambar di bawah ini.
Dalam gambar di atas:
- Bilah Alat. Bilah alat menjalankan beragam tindakan, termasuk menjalankan aplikasi Android dan meluncurkan alat Android.
- Bilah Navigasi. Bilah navigasi memungkinkan navigasi melalui proyek dan membuka file untuk pengeditan. Bilah navigasi menyediakan tampilan struktur proyek yang lebih ringkas.
- Panel Editor. Panel ini menampilkan materi file yang dipilih dalam proyek. Misalnya, setelah memilih layout (seperti yang ditampilkan dalam gambar), panel ini menampilkan editor layout dengan alat untuk mengedit layout. Setelah memilih file kode Java, panel ini menampilkan kode dengan alat untuk mengedit kode.
- Bilah Status. Bilah status menampilkan status proyek dan Android Studio itu sendiri, serta peringatan atau pesan apa pun. Anda bisa mengamati kemajuan pembangunan di bilah status.
- Panel Project. Panel proyek menampilkan file proyek dan hierarki proyek.
- Panel Monitor. Panel monitor menawarkan akses ke daftar TODO untuk mengelola tugas, Android Monitor untuk memantau eksekusi aplikasi (ditampilkan dalam gambar), logcat untuk menampilkan pesan log, dan aplikasi Terminal untuk melakukan aktivitas Terminal.
Tip: Anda bisa mengatur jendela utama untuk memberi Anda lebih banyak ruang layar dengan menyembunyikan atau memindahkan panel. Anda juga bisa menggunakan pintasan keyboard untuk mengakses lebih banyak fitur. Lihat Pintasan Keyboard untuk daftar lengkap.
Menjelajahi proyek
Setiap proyek di Android Studio berisi file AndroidManifest.xml, file kode sumber komponen, dan file sumber daya terkait. Secara default, Android Studio mengatur file proyek Anda berdasarkan jenis file, dan menampilkannya dalam proyek: Tampilan Android di panel alat (bantu) kiri, seperti yang ditampilkan di bawah ini. Tampilan menyediakan akses cepat ke file kunci proyek Anda.
Untuk beralih kembali ke tampilan ini dari tampilan lainnya, klik tab Project vertikal di kolom paling kiri panel Project, dan pilih Android dari menu munculan di bagian atas panel Project, seperti yang ditampilkan dalam gambar di bawah ini.
Dalam gambar di atas:
- Tab Project . Klik untuk menampilkan tampilan proyek.
- Pilihan Android di menu tarik-turun proyek.
- File AndroidManifest.xml. Digunakan untuk menetapkan informasi tentang aplikasi bagi lingkungan waktu proses Android. Template yang Anda pilih membuat file ini.
- Folder java. Folder ini menyertakan aktivitas, pengujian, dan komponen lain di kode sumber Java. Setiap aktivitas, layanan, dan komponen lain didefinisikan sebagai kelas Java, biasanya dalam file miliknya. Nama aktivitas pertama (layar) yang pengguna lihat, yang juga melakukan inisialisasi sumber daya seluruh aplikasi, biasanya adalah MainActivity.
- Folder res. Folder ini menyimpan sumber daya, seperti layout XML, string UI, dan gambar. Aktivitas biasanya dikaitkan dengan file sumber daya XML yang menetapkan layout tampilannya. File ini biasanya diberi nama setelah aktivitas atau fungsinya.
- File **build.gradle (Module: App
- )*. File ini menetapkan konfigurasi pembangunan modul. Template yang Anda pilih membuat file ini, yang mendefinisikan konfigurasi pembangunan, termasuk atribut
minSdkVersion
yang mendeklarasikan versi minimum untuk aplikasi, dan atributtargetSdkVersion
yang mendeklarasikan versi tertinggi (terbaru) untuk aplikasi yang dioptimalkan. File ini juga menyertakan daftar dependensi*, yaitu pustaka yang diperlukan oleh kode — seperti pustaka AppCompat untuk mendukung beragam versi Android.
1
Menampilkan Manifes Android
Sebelum sistem Android bisa memulai komponen aplikasi, sistem harus mengetahui bahwa komponen ada dengan membaca file AndroidManifest.xml aplikasi. Aplikasi harus mendeklarasikan semua komponennya dalam file ini, yang harus berada pada akar direktori proyek aplikasi.
Untuk menampilkan file ini, luaskan folder manifes di Project: Tampilan Android, dan klik dua kali file (AndroidManifest.xml). Isinya muncul di panel pengeditan seperti yang ditampilkan dalam gambar di bawah ini.
Namespace dan tag aplikasi Android
Manifes Android dikodekan di XML dan selalu menggunakan namespace Android:
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.helloworld">
Ekspresi package
menampilkan nama paket unik aplikasi baru. Jangan mengubah ini setelah aplikasi dipublikasikan.
<application
...
</application>
Tag <application
, dengan tag </application>
penutupnya, mendefinisikan setelan manifes untuk keseluruhan aplikasi.
Cadangan otomatis
Atribut android:allowBackup
memungkinkan pencadangan data aplikasi otomatis:
...
android:allowBackup="true"
...
Menyetel atribut android:allowBackup
ke true
memungkinkan aplikasi dicadangkan secara otomatis dan dipulihkan jika perlu. Pengguna menggunakan waktu dan upaya untuk mengonfigurasi aplikasi. Beralih ke perangkat baru bisa membatalkan seluruh konfigurasi yang dibuat dengan susah payah. Sistem melakukan cadangan otomatis ini untuk hampir seluruh data aplikasi secara default, dan melakukannya tanpa mengharuskan developer menulis kode aplikasi tambahan lainnya.
Untuk aplikasi dengan versi SDK target berupa Android 6.0 (API level 23) dan yang lebih tinggi, perangkat yang menjalankan Android 6.0 dan yang lebih tinggi secara otomatis membuat cadangan data aplikasi ke awan karena atribut android:allowBackup
default ke true
jika dihilangkan. Untuk aplikasi < API level 22, Anda harus secara eksplisit menambahkan atribut android:allowBackup
dan menyetelnya ke true
.
Tip: Untuk mengetahui selengkapnya tentang pencadangan otomatis untuk aplikasi, lihat Mengonfigurasi Cadangan Otomatis untuk Aplikasi.
Ikon aplikasi
Metode android:icon
menyetel ikon untuk aplikasi:
...
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
...
Atribut android:icon
menetapkan ikon di folder mipmap (di dalam folder res di Project: tampilan Android) untuk aplikasi. Ikon muncul di Peluncur untuk meluncurkan aplikasi. Ikon juga digunakan sebagai ikon default untuk komponen aplikasi.
Sumber daya string dan label aplikasi
Seperti yang bisa Anda lihat di gambar sebelumnya, atribut android:label
menampilkan string "Hello World"
yang disorot. Jika Anda mengeklik string ini, maka string berubah untuk menampilkan sumber daya string @string/app_name
:
...
android:label="@string/app_name"
...
Tip: Ctrl – klik atau klik-kanan app_name
di panel edit untuk melihat menu konteks. Pilih Go To > Declaration untuk melihat lokasi sumber daya string dideklarasikan: dalam file strings.xml. Bila Anda memilih Go To > Declaration atau membuka file dengan mengeklik dua kali strings.xml di Project: Tampilan Android (di dalam folder values), isinya muncul di panel pengeditan.
Setelah membuka file strings.xml, Anda bisa melihat bahwa nama string app_name
disetel ke Hello World
. Anda bisa mengubah nama aplikasi dengan mengubah string Hello World
ke hal lain. Sumber daya string dijelaskan dalam pelajaran terpisah.
Tema aplikasi
Atribut android:theme
menyetel tema aplikasi, yang mendefinisikan penampilan elemen antarmuka pengguna seperti teks:
...
android:theme="@style/AppTheme">
...
Atribut theme
disetel ke tema standar AppTheme
. Tema dijelaskan dalam pelajaran terpisah.
Mendeklarasikan versi Android
Perangkat yang berbeda mungkin menjalankan versi sistem Android yang berbeda, seperti Android 4.0 atau Android 4.4. Setiap versi yang berurutan bisa menambahkan API baru yang tidak tersedia di versi sebelumnya. Untuk menunjukkan rangkaian API yang tersedia, setiap versi menetapkan API level. Misalnya, Android 1.0 adalah API level 1 dan Android 4.4 adalah API level 19.
API level memungkinkan developer untuk mendeklarasikan versi minimum dengan aplikasi yang kompatibel, menggunakan tag manifes <uses-sdk>
dan atribut minSdkVersion
. Misalnya, Calendar Provider API telah ditambahkan di Android 4.0 (API level 14). Jika aplikasi Anda tidak berfungsi tanpa API tersebut, deklarasikan API level 14 sebagai versi yang didukung minimum aplikasi seperti ini:
<manifest ... >
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
...
</manifest>
Atribut minSdkVersion
mendeklarasikan versi minimum untuk aplikasi, dan atribut targetSdkVersion
mendeklarasikan versi tertinggi (terbaru) yang telah dioptimalkan dalam aplikasi. Setiap versi Android yang berurutan menyediakan kompatibilitas untuk aplikasi yang dibangun menggunakan API dari versi sebelumnya, sehingga aplikasi akan selalu kompatibel dengan versi Android mendatang sambil menggunakan Android API yang didokumentasikan.
Atribut targetSdkVersion
tidak mencegah aplikasi dipasang pada versi Android yang lebih tinggi (yang lebih baru) dibandingkan nilai yang ditetapkan, namun hal ini penting karena menunjukkan pada sistem apakah aplikasi harus mewarisi perubahan perilaku di versi yang baru. Jika Anda tidak memperbarui targetSdkVersion
ke versi terbaru, sistem akan menganggap bahwa aplikasi memerlukan perilaku kompatibilitas mundur saat dijalankan pada versi terbaru. Misalnya, di antara perubahan perilaku di Android 4.4, alarm yang dibuat dengan AlarmManager API saat ini tidak tepat secara default sehingga sistem bisa mengumpulkan alarm aplikasi dan mempertahankan kekuatan sistem, namun sistem akan menahan perilaku API sebelumnya untuk aplikasi jika API level target Anda lebih rendah daripada "19"
.
Menampilkan dan mengedit kode Java
Komponen ditulis di Java dan dicantumkan dalam folder modul di folder java dalam Project: Tampilan Android. Setiap nama modul diawali dengan nama domain (seperti com.example.android) dan menyertakan nama aplikasi.
Contoh berikut menampilkan komponen aktivitas:
- Klik folder modul untuk meluaskan dan menampilkan file MainActivity untuk aktivitas yang ditulis di Java (kelas
MainActivity
). - Klik dua kali MainActivity untuk melihat file sumber di panel pengeditan, seperti yang ditampilkan dalam gambar di bawah ini.
Bagian paling atas file MainActivity.java adalah pernyataan package
yang mendefinisikan paket aplikasi. Ini diikuti dengan blok import
yang diringkas dalam gambar di atas, dengan “...
“. Klik titik untuk meluaskan blok guna menampilkannya. Pernyataan import
akan mengimpor pustaka yang diperlukan untuk aplikasi, seperti berikut ini, yang mengimpor pustaka AppCompatActivity:
import android.support.v7.app.AppCompatActivity;
Setiap aktivitas dalam aplikasi diimplementasikan sebagai kelas Java. Deklarasi kelas berikut memperluas kelas AppCompatActivity
untuk mengimplementasikan fitur dengan cara yang kompatibel-mundur dengan Android versi sebelumnya:
MainActivity kelas publik memperluas AppCompatActivity {
...
}
Seperti yang Anda pelajari terdahulu, sebelum sistem Android bisa memulai komponen aplikasi seperti aktivitas, sistem harus mengetahui bahwa aktivitas ada dengan membaca file AndroidManifest.xml aplikasi. Oleh karena itu, setiap aktivitas harus dicantumkan di file AndroidManifest.xml.
Menampilkan dan mengedit layout
Sumber daya layout ditulis dalam XML dan dicantumkan dalam folder layout di folder res dalam Project: Tampilan Android. Klik res > layout, kemudian klik dua kali activity_main.xml untuk melihat file layout di panel pengeditan.
Android Studio menampilkan tampilan Desain layout, seperti yang ditampilkan dalam gambar di bawah ini. Tampilan ini menyediakan panel Palette elemen antarmuka pengguna, dan petak yang menampilkan layout layar.
Memahami proses pembangunan
Android Application Package (APK) adalah format file paket untuk mendistribusikan dan memasang aplikasi seluler Android. Proses pembangunan melibatkan alat dan proses yang secara otomatis mengonversi setiap proyek menjadi APK.
Android Studio menggunakan Gradle sebagai dasar sistem pembangunan, dengan kemampuan khusus Android lebih banyak yang disediakan oleh Android Plugin for Gradle. Sistem pembangunan ini berjalan sebagai alat (bantu) terintegrasi dari menu Android Studio.
Memahami file build.gradle
Bila Anda membuat proyek, Android Studio secara otomatis menghasilkan file pembangunan penting di folder Gradle Scripts dalam Project: Tampilan Android. File pembangunan Android Studio diberi nama build.gradle seperti yang ditampilkan di bawah ini:
Setiap proyek memiliki hal berikut:
build.gradle (Project: apptitle)
Ini adalah file pembangunan tingkat atas untuk keseluruhan proyek, berada di akar direktori proyek, yang mendefinisikan konfigurasi pembangunan yang berlaku untuk semua modul di proyek Anda. File ini, yang dihasilkan oleh Android Studio, tidak boleh diedit untuk menyertakan dependensi aplikasi.
build.gradle (Module: app)
Android Studio membuat file build.gradle (Module: app)
terpisah untuk setiap modul. Anda bisa mengedit setelan pembangunan guna menyediakan opsi pemaketan khusus untuk setiap modul, seperti tipe pembangunan tambahan dan ragam produk, dan untuk menggantikan setelan di file manifes atau build.gradle tingkat atas. File ini paling sering adalah file untuk mengedit ketika mengubah konfigurasi tingkat aplikasi, seperti mendeklarasikan dependensi di bagian dependencies
. Yang berikut ini menampilkan isi file build.gradle (Module: app)
proyek:
apply plugin: 'com.android.application'
android {
compileSdkVersion 24
buildToolsVersion "24.0.1"
defaultConfig {
applicationId "com.example.android.helloworld2"
minSdkVersion 15
targetSdkVersion 24
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
rilis {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.1'
testCompile 'junit:junit:4.12'
}
File build.gradle menggunakan sintaks Gradle. Gradle adalah Domain Specific Language (DSL) untuk menjelaskan dan memanipulasi logika pembangunan dengan menggunakan Groovy, yang merupakan bahasa dinamis untuk Java Virtual Machine (JVM). Anda tidak perlu mempelajari Groovy untuk melakukan perubahan, karena Android Plugin for Gradle memperkenalkan sebagian besar elemen DSL yang Anda perlukan.
Tip: Untuk mengetahui selengkapnya tentang DSL plugin Android, baca Dokumentasi referensi DSL.
Blok Plugin dan Android.
Dalam file build.gradle (Module: app)
di atas, pernyataan pertama menerapkan tugas pembangunan plug-in Gradle khusus Android:
apply plugin: 'com.android.application'
android {
...
}
Blok android { }
menetapkan hal berikut ini untuk versi:
- Versi SDK target untuk mengompilasi kode:
compileSdkVersion 24
- Versi alat pembangunan untuk digunakan membangun aplikasi:
buildToolsVersion "24.0.1"
Blok defaultConfig
Setelan inti dan entri untuk aplikasi ditetapkan di blok defaultConfig { }
dalam android { } block:
...
defaultConfig {
applicationId "com.example.hello.helloworld"
minSdkVersion 15
targetSdkVersion 23
versionCode 1
versionName "1.0"
testInstrumentationRunner
"android.support.test.runner.AndroidJUnitRunner"
}
...
Setelan minSdkVersion
dan targetSdkVersion
menggantikan setelan AndroidManifest.xml untuk versi SDK minimum dan versi SDK target. Lihat “Mendeklarasikan versi Android” sebelumnya di bagian ini untuk informasi latar belakang tentang setelan ini.
Pernyataan testInstrumentationRunner
ini menambahkan dukungan instrumentasi untuk menguji antarmuka pengguna dengan Espresso dan UIAutomator. Hal ini dijelaskan dalam pelajaran terpisah.
Tipe pembangunan
Tipe pembangunan untuk aplikasi ditetapkan di blok buildTypes { }
, yang mengontrol cara aplikasi dibangun dan dipaketkan.
...
buildTypes {
rilis {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),
'proguard-rules.pro'
}
}
...
Tipe pembangunan yang ditetapkan adalah release
untuk rilis aplikasi. Tipe pembangunan umum lainnya adalah debug
. Mengonfigurasi tipe pembangunan dijelaskan dalam pelajaran terpisah.
Dependensi
Dependensi untuk aplikasi didefinisikan di blok dependencies { }
, yang merupakan bagian file build.gradle yang paling mungkin berubah saat Anda mulai mengembangkan kode yang bergantung pada pustaka. Blok adalah bagian dari Gradle API standar dan termasuk di luar blok android { }
.
...
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:24.2.0'
testCompile 'junit:junit:4.12'
}
Dalam cuplikan di atas, pernyataan compile fileTree(dir: 'libs', include: ['*.jar'])
menambahkan dependensi semua file “.jar” di dalam direktori libs
. Konfigurasi compile
akan mengompilasi aplikasi utama — segala sesuatu di dalamnya ditambahkan ke classpath kompilasi, dan juga dipaketkan ke dalam APK final.
Menyinkronkan proyek Anda
Bila Anda membuat perubahan pada file konfigurasi pembangunan dalam proyek, Android Studio akan mengharuskan Anda untuk melakukan sinkronisasi file proyek sehingga Android Studio bisa mengimpor perubahan konfigurasi pembangunan dan menjalankan beberapa pemeriksaan untuk memastikan konfigurasi tidak akan menimbulkan kesalahan pembangunan.
Untuk menyinkronkan file proyek, klik Sync Now di bilah notifikasi yang muncul saat membuat perubahan, atau klik Sync Project dari bilah menu. Jika Android Studio memperlihatkan kesalahan apa pun dengan konfigurasi — misalnya, jika kode sumber menggunakan fitur API yang hanya tersedia di API level yang lebih tinggi dari compileSdkVersion
— jendela Messages muncul untuk menjelaskan masalah.
Menjalankan aplikasi pada emulator atau perangkat
Dengan emulator perangkat virtual, Anda bisa menguji aplikasi pada perangkat yang berbeda seperti tablet atau ponsel cerdas — dengan API level yang berbeda untuk versi Android yang berbeda — untuk memastikan aplikasi terlihat bagus dan berfungsi untuk sebagian besar pengguna. Meskipun ini adalah ide yang bagus, Anda tidak harus bergantung pada memiliki perangkat fisik yang tersedia untuk development aplikasi.
Pengelola Android Virtual Device (AVD) membuat perangkat virtual atau emulator yang menyimulasikan konfigurasi untuk tipe perangkat Android tertentu. Gunakan AVD Manager untuk mendefinisikan karakteristik perangkat keras perangkat dan API levelnya, dan untuk menyimpannya sebagai konfigurasi perangkat virtual. Ketika Anda memulai emulator Android, emulator akan membaca konfigurasi yang ditetapkan dan membuat perangkat emulasi pada komputer yang berperilaku sama persis dengan versi fisik perangkat.
Membuat perangkat virtual
Untuk menjalankan emulator pada komputer, gunakan AVD Manager untuk membuat konfigurasi yang menjelaskan perangkat virtual. Pilih Tools > Android > AVD Manager, atau klik ikon AVD Manager di bilah alat.
Layar “Your Virtual Devices” muncul menampilkan semua perangkat virtual yang dibuat sebelumnya. Klik tombol +Create Virtual Device untuk membuat perangkat virtual baru.
Anda bisa memilih perangkat dari daftar perangkat keras yang telah didefinisikan sebelumnya. Untuk setiap perangkat, tabel menampilkan ukuran tampilan diagonal (Size), resolusi layar dalam piksel (Resolution), dan kepadatan piksel (Density). Misalnya, kepadatan piksel perangkat Nexus 5 adalah xxhdpi
, artinya aplikasi menggunakan ikon di folder xxhdpi dari folder mipmap. Selain itu, aplikasi akan menggunakan layout dan sumber daya dapat digambar dari folder yang didefinisikan untuk kepadatan tersebut.
Anda juga memilih versi sistem Android untuk perangkat. Tab Recommended menampilkan sistem yang disarankan untuk perangkat. Lebih banyak versi tersedia di dalam tab x86 Images dan Other Images.
Menjalankan aplikasi pada perangkat virtual
Untuk menjalankan aplikasi pada perangkat virtual yang Anda buat di bagian sebelumnya, ikuti langkah-langkah ini:
- Di Android Studio, pilih Run > Run app atau klik Run icon
di bilah alat.
- Di jendela Select Deployment Target, pada Emulator yang tersedia, pilih perangkat virtual yang Anda buat, dan klik OK.
Emulator memulai dan mem-booting seperti perangkat fisik. Ini memerlukan waktu beberapa saat, bergantung pada kecepatan komputer Anda. Aplikasi membangun, dan setelah emulator siap, Android Studio mengunggah aplikasi ke emulator dan menjalankannya.
Anda harus melihat aplikasi yang dibuat dari template Empty Activity (“Hello World”) seperti yang ditampilkan dalam gambar berikut ini, yang juga menampilkan panel Run Android Studio yang menampilkan tindakan yang dilakukan untuk menjalankan aplikasi di emulator.

Dalam gambar di atas:
- Emulator menjalankan aplikasi.
- Run Pane. Ini menampilkan tindakan yang dilakukan untuk memasang dan menjalankan aplikasi.
Menjalankan aplikasi pada perangkat fisik
Selalu uji aplikasi Anda pada perangkat fisik, karena pengguna akan menggunakan aplikasi pada perangkat fisik. Meskipun emulator cukup bagus, emulator tidak bisa menampilkan semua kemungkinan keadaan perangkat, seperti yang terjadi jika ada panggilan masuk sewaktu aplikasi berjalan. Untuk menjalankan aplikasi pada perangkat fisik, Anda memerlukan hal berikut ini:
- Perangkat Android seperti ponsel cerdas atau tablet.
- Kabel data untuk menghubungkan perangkat Android ke komputer melalui porta USB.
- Jika Anda menggunakan Linux atau Windows, mungkin perlu melakukan langkah tambahan untuk menjalankan aplikasi pada perangkat keras. Periksa dokumentasi Menggunakan Perangkat Keras. Pada Windows, Anda mungkin perlu memasang driver USB yang sesuai untuk perangkat. Lihat Driver USB OEM.
Untuk memungkinkan Android Studio berkomunikasi dengan perangkat, aktifkan USB Debugging pada perangkat Android. Pada versi Android 4.2 dan yang lebih baru, layar opsi Developer disembunyikan secara default. Ikuti langkah-langkah ini untuk mengaktifkan USB Debugging:
- Pada perangkat fisik, buka Settings dan pilih Aboutphone di bagian bawah layar Settings.
-
Ketuk informasi Build number tujuh kali.
Anda membacanya dengan benar: Ketuk tujuh kali.
- Kembali ke layar sebelumnya (Settings). Developer Options saat ini muncul di bagian bawah layar. Ketuk Developer options.
- Pilih USB Debugging.
Sekarang, hubungkan perangkat dan jalankan aplikasi dari Android Studio.
Pemecahan masalah koneksi perangkat
Jika Android Studio tidak mengenali perangkat, coba hal berikut:
- Putuskan koneksi perangkat dari komputer, kemudian hubungkan kembali.
- Mulai ulang Android Studio.
-
Jika komputer masih tidak menemukan perangkat atau mendeklarasikannya “tidak sah”:
-
Putuskan koneksi perangkat dari komputer.
-
Di perangkat, pilih Settings > Developer Options.
-
Ketuk Revoke USB Debugging authorizations.
-
Hubungkan kembali perangkat ke komputer.
-
Bila dikonfirmasi, berikan otorisasi.
-
- Anda mungkin perlu memasang driver USB yang sesuai untuk perangkat. Lihat dokumentasi Menggunakan Perangkat Keras.
- Periksa dokumentasi terakhir, forum pemrograman, atau dapatkan bantuan dari instruktur Anda.
Menggunakan log
Log merupakan alat (bantu) debug andal yang bisa Anda gunakan untuk melihat nilai, jalur eksekusi, dan pengecualian. Setelah menambahkan pernyataan log ke aplikasi, pesan log Anda akan muncul bersama pesan log umum di tab logcat panel Android Monitor di Android Studio.
Untuk melihat panel Android Monitor, klik tombol Android Monitor di bagian bawah jendela utama Android Studio. Android Monitor menawarkan dua tab:
- Tab logcat. Tab logcat menampilkan pesan log tentang aplikasi saat aplikasi berjalan. Jika menambahkan pernyataan logging ke aplikasi, pesan log Anda dari pernyataan tersebut muncul dengan pesan log lain di bawah tab ini.
- Tab Monitors. Tab Monitors memantau kinerja aplikasi, yang bisa digunakan untuk men-debug dan menyesuaikan kode Anda.
Menambahkan pernyataan log ke aplikasi Anda
Pernyataan log menambahkan pesan apa pun yang Anda tetapkan ke log. Menambahkan pernyataan log di titik tertentu dalam kode memungkinkan developer melihat nilai, jalur eksekusi, dan pengecualian.
Misalnya, pernyataan log berikut menambahkan "MainActivity"
dan "Hello World"
ke log:
Log.d("MainActivity", "Hello World");
Berikut adalah elemen pernyataan ini:
Log
: Kelas Log adalah API untuk mengirim pesan log.d
: Anda menetapkan log level sehingga Anda bisa memfilter pesan log menggunakan menu tarik-turun di bagian tengah panel tab logcat. Berikut adalah tingkat log yang bisa Anda tetapkan:d
: Pilih Debug atau Verbose untuk melihat pesan ini.e
: Pilih Error atau Verbose untuk melihat pesan ini.w
: Pilih Warning atau Verbose untuk melihat pesan ini.i
: Pilih Info atau Verbose untuk melihat pesan ini.
"MainActivity"
: Argumen pertama adalah log tag yang bisa digunakan untuk memfilter pesan pada tab logcat. Ini biasanya merupakan nama aktivitas tempat pesan berasal. Akan tetapi, Anda bisa membuatnya menjadi apa saja yang berguna bagi Anda untuk men-debug aplikasi. Praktik terbaik adalah untuk menggunakan konstanta sebagai tag log, seperti berikut:
- Definisikan tag log sebagai konstanta sebelum menggunakannya dalam pernyataan log:
private static final String LOG_TAG = MainActivity.class.getSimpleName();
- Gunakan konstanta dalam pernyataan log:
Log.d(LOG_TAG, "Hello World");
"Hello World"
: Argumen kedua adalah pesan sebenarnya yang muncul setelah log level dan tag log pada tab logcat.
Menampilkan pesan log Anda
Panel Run muncul di tempat panel Android Monitor bila Anda menjalankan aplikasi di emulator atau perangkat. Setelah mulai menjalankan aplikasi, klik tombol Android Monitor di bagian bawah jendela utama, kemudian klik tab logcat di panel Android Monitor jika belum dipilih.
Dalam gambar di atas:
- Pernyataan log di metode
onCreate()
dariMainActivity
. - Panel Android Monitor yang menampilkan pesan log
logcat
, termasuk pesan dari pernyataan log.
Secara default, tampilan log disetel ke Verbose di menu tarik-turun di bagian atas tampilan logcat untuk menampilkan semua pesan. Anda bisa mengubahnya menjadi Debug untuk melihat pesan yang dimulai dengan Log.d
, atau mengubahnya menjadi Error untuk melihat pesan yang dimulai dengan Log.e
, dan seterusnya.
1.2: Layout, Tampilan, dan Sumber Daya
Bab ini menjelaskan layout antarmuka pengguna di layar dan sumber daya lain yang Anda buat untuk aplikasi, dan kode yang akan digunakan untuk merespons ketukan pengguna pada elemen antarmuka pengguna.
Pola model-view-presenter
Menautkan aktivitas ke sumber daya layout adalah contoh dari bagian pola arsitektur model-view-presenter (MVP). Pola MVP adalah cara yang sudah umum digunakan untuk mengelompokkan fungsi aplikasi:
- Tampilan. Tampilan adalah elemen antarmuka pengguna yang menampilkan data dan respons terhadap tindakan pengguna. Setiap elemen layar adalah tampilan. Sistem Android menyediakan berbagai jenis tampilan.
- Presenter. Presenter menghubungkan tampilan aplikasi ke model. Presenter menyediakan tampilan dengan data sebagaimana ditetapkan oleh model, dan juga menyediakan masukan pengguna dari tampilan kepada model.
- Model. Model menetapkan struktur data aplikasi dan kode untuk mengakses dan memanipulasi data. Beberapa aplikasi yang Anda buat dalam pelajaran bisa digunakan bersama model untuk mengakses data. Aplikasi Hello Toast tidak menggunakan model data, namun Anda bisa memikirkan logikanya — menampilkan pesan, dan meningkatkan penghitung ketukan — sebagai model.
Tampilan
UI terdiri dari hierarki objek yang disebut tampilan, setiap elemen layar adalah tampilan. Kelas Viewmenyatakan blok pembangunan dasar untuk semua komponen UI, dan kelas dasar untuk kelas yang menyediakan komponen UI interaktif seperti tombol, kotak centang, dan bidang entri teks.
Tampilan memiliki lokasi, yang dinyatakan sebagai pasangan koordinat kiri dan atas, dan dua dimensi, yang dinyatakan sebagai lebar dan tinggi. Unit untuk lokasi dan dimensi adalah piksel yang tidak tergantung perangkat (dp).
Sistem Android menyediakan ratusan tampilan yang telah didefinisikan sebelumnya, termasuk yang menampilkan:
- Teks (TextView)
- Bidang untuk memasukkan dan mengedit teks (EditText)
- Pengguna tombol bisa mengetuk (Button) dan komponen interaktif lainnya
- Teks yang bisa digulir (ScrollView) dan item yang bisa digulir (RecyclerView)
- Gambar (ImageView)
Anda bisa mendefinisikan tampilan untuk muncul di layar dan merespons ketukan pengguna. Tampilan juga bisa didefinisikan untuk menerima masukan teks, atau tidak terlihat hingga diperlukan.
Anda bisa menetapkan tampilan di file sumber daya layout XML. Sumber daya layout ditulis dalam XML dan dicantumkan dalam folder layout di folder res dalam Project: Tampilan Android.
Grup tampilan
Tampilan bisa dikelompokkan bersama di dalam grup tampilan (ViewGroup), yang berfungsi sebagai kontainer tampilan. Hubungannya adalah induk-anak, dalam hal ini induk adalah grup tampilan, dan anakadalah tampilan atau grup tampilan dalam grup. Berikut ini adalah grup tampilan yang umum:
- ScrollView: Grup yang berisi satu tampilan anak lainnya dan memungkinkan pengguliran tampilan anak.
- RecyclerView: Grup yang berisi daftar tampilan atau grup tampilan lainnya dan memungkinkan penggulirannya dengan menambahkan dan membuang tampilan secara dinamis dari layar.
Grup tampilan layout
Tampilan untuk layar dikelola dalam hierarki. Di akar hierarki ini adalah ViewGroup yang berisi layout keseluruhan layar. Layar anak grup tampilan bisa menjadi tampilan atau grup tampilan lain seperti yang ditampilkan dalam gambar berikut.
Dalam gambar di atas:
- Grup tampilan akar.
- Rangkaian tampilan anak dan grup tampilan pertama yang induknya adalah akar.
Beberapa grup tampilan ditandai sebagai layout karena grup tampilan tersebut mengelola tampilan anak dalam cara khusus dan umumnya digunakan sebagai grup tampilan akar. Beberapa contoh layout adalah:
- LinearLayout: Grup tampilan anak yang diposisikan dan disejajarkan secara horizontal atau secara vertikal.
- RelativeLayout: Grup tampilan anak yang setiap tampilannya diposisikan dan disejajarkan relatif terhadap tampilan dalam grup tampilan. Dengan kata lain, posisi tampilan anak bisa dijelaskan dalam hubungan satu sama lain atau dengan grup tampilan induk.
- ConstraintLayout: Grup tampilan anak yang menggunakan titik jangkar, tepi, dan panduan untuk mengontrol cara memosisikan tampilan relatif terhadap elemen lain di layout. ConstraintLayout didesain untuk mempermudah saat menyeret dan melepaskan tampilan di editor layout.
- TableLayout: Grup tampilan anak yang disusun ke dalam baris dan kolom.
- AbsoluteLayout: Grup yang memungkinkan Anda menetapkan lokasi pasti (koordinat x/y) tampilan anaknya. Layout mutlak bersifat kurang fleksibel dan lebih sulit dikelola daripada tipe layout lainnya tanpa pemosisian mutlak.
- FrameLayout: Grup tampilan anak bertumpuk. FrameLayout didesain untuk memblokir area di layar guna menampilkan satu tampilan. Tampilan anak digambar bertumpuk, dengan anak yang baru saja ditambahkan di atas. Ukuran FrameLayout adalah ukuran tampilan anak terbesarnya.
- GridLayout: Grup yang menempatkan layar anaknya dalam kotak persegi panjang yang bisa digulir.
Tip: Ketahui selengkapnya tentang tipe layout yang berbeda di Objek Layout Umum.
Contoh sederhana dari layout dengan tampilan anak adalah aplikasi Hello Toast di salah satu pelajaran awal. Tampilan aplikasi Hello Toast muncul dalam gambar di bawah ini sebagai diagram file layout (activity_main.xml), bersama diagram hierarki (kanan atas) dan tangkapan layar layout yang benar-benar selesai (kanan bawah).
Dalam gambar di atas:
- Layout akar LinearLayout, yang berisi semua tampilan anak, disetel ke orientasi vertikal.
- Button (
button_toast
) tampilan anak. Sebagai tampilan anak pertama, muncul di bagian atas di layout linear. - TextView (
show_count
) tampilan anak. Sebagai tampilan anak kedua, muncul di bawah tampilan anak pertama di layout linear. - Button (
button_count
) tampilan anak. Sebagai tampilan anak ketiga, muncul di bawah tampilan anak kedua di layout linear.
Hierarki tampilan bisa tumbuh menjadi kompleks untuk aplikasi yang menampilkan banyak tampilan di layar. Penting untuk memahami hierarki tampilan, karena akan memengaruhi apakah tampilan terlihat dan apakah digambar secara efisien.
Tip: Anda bisa menjelajahi hierarki tampilan aplikasi menggunakan Hierarchy Viewer. Hierarchy Viewer menampilkan tampilan pohon hierarki dan memungkinkan Anda menganalisis kinerja tampilan di perangkat Android. Masalah kinerja dibahas di bab berikutnya.
Anda mendefinisikan tampilan di editor layout, atau dengan memasukkan kode XML. Editor layout menunjukkan representasi visual kode XML.
Menggunakan editor layout
Gunakan editor layout untuk mengedit file layout. Anda bisa menyeret dan melepas objek tampilan ke dalam panel grafik, serta menyusun, mengubah ukuran, dan menetapkan propertinya. Anda akan segera melihat efek perubahan yang dilakukan.
Untuk menggunakan editor layout, buka file layout XML. Editor layout muncul bersama tab Design di bagian bawah yang disorot. (Jika tab Text disorot dan Anda melihat kode XML, klik tab Design.) Untuk template Empty Activity, layout seperti yang ditampilkan dalam gambar di bawah ini.
Dalam gambar di atas:
- File XML layout. File layout XML, biasanya diberi nama file activiy_main.xml. Klik dua kali untuk membuka editor layout.
- Palet elemen UI (tampilan). Panel Palette menyediakan daftar elemen UI dan layout. Tambahkan elemen atau layout ke UI dengan menyeretnya ke panel desain.
-
Bilah alat desain. Bilah alat panel desain menyediakan tombol untuk mengonfigurasi penampilan layout dalam panel desain dan untuk mengedit properti layout. Lihat gambar di bawah ini untuk detail.
Tip: Arahkan kursor ke atas setiap ikon untuk menampilkan keterangan alat yang merangkum fungsinya.
- Panel Properties. Panel Properties menyediakan kontrol properti untuk tampilan yang dipilih.
- Kontrol properti. Kontrol properti sesuai dengan atribut XML. Yang ditampilkan dalam gambar adalah properti
Text
dari TextView yang dipilih, yang disetel keHello World!
. - Panel desain. Seret tampilan dari panel Palette ke panel desain untuk memosisikannya di layout.
- Component Tree. Panel Component Tree menampilkan hierarki tampilan. Klik tampilan atau grup tampilan dalam panel ini untuk memilihnya. Gambar menampilkan TextView yang dipilih.
- Tab Design dan Text. Klik Design untuk melihat editor layout, atau Text untuk melihat kode XML.
Bilah alat (bantu) desain editor layout menawarkan deretan tombol yang memungkinkan Anda mengonfigurasi penampilan layout:
Dalam gambar di atas:
- Design, Blueprint, dan Both: Klik ikon Design (ikon pertama) untuk menampilkan pratinjau warna layout. Klik ikon Blueprint (ikon tengah) untuk hanya menampilkan ringkasan setiap tampilan. Anda bisa melihat kedua tampilan bersebelahan dengan mengeklik ikon ketiga.
- Orientasi layar: Klik untuk memutar perangkat antara lanskap dan potret.
- Tipe dan ukuran perangkat: Pilih tipe perangkat (ponsel/tablet, Android TV, atau Android Wear) dan konfigurasi layar (ukuran dan kepadatan).
- Versi API: Pilih versi Android yang digunakan untuk pratinjau layout.
- Tema aplikasi: Pilih tema UI yang akan diterapkan pada pratinjau.
- Bahasa: Pilih bahasa untuk menampilkan string UI Anda. Daftar ini hanya menampilkan bahasa yang tersedia dalam sumber daya string.
- Varian Layout: Alihkan ke salah satu layout alternatif untuk file ini, atau buat yang baru.
Editor layout menawarkan lebih banyak fitur di tab Design bila Anda menggunakan ConstraintLayout, termasuk tuas untuk mendefinisikan pembatas. Pembatas adalah koneksi atau penyejajaran ke tampilan lainnya, ke layout induk, atau ke panduan yang tidak terlihat. Setiap pembatas muncul sebagai garis yang membentang dari tuas melingkar. Setiap tampilan memiliki tuas pembatas melingkar di bagian tengah setiap sisi. Setelah memilih tampilan di panel Component Tree atau mengekliknya di layout, tampilan juga menampilkan tuas pengubah ukuran pada setiap sudut.
Dalam gambar di atas:
- Tuas pengubah ukuran.
- Garis pembatas dan tuas. Dalam gambar, pembatas menyejajarkan sisi kiri tampilan ke sisi kiri tombol.
- Tuas patokan. Tuas patokan menyejajarkan patokan teks tampilan ke patokan tampilan lainnya.
- Tuas pembatas tanpa garis pembatas.
Menggunakan XML
Terkadang lebih cepat dan lebih mudah mengedit kode XML secara langsung, terutama saat menyalin dan menempelkan kode untuk tampilan serupa.
Untuk menampilkan dan mengedit kode XML, buka file layout XML. Editor layout muncul bersama tab Design di bagian bawah yang disorot. Klik tab Text untuk melihat kode XML. Yang berikut ini menampilkan cuplikan kode XML untuk LinearLayout dengan Button dan TextView:
<LinearLayout 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"
... >
<Button
android:id="@+id/button_toast"
android:layout_width="@dimen/my_view_width"
android:layout_height="wrap_content"
... />
<TextView
android:id="@+id/show_count"
android:layout_width="@dimen/my_view_width"
android:layout_height="@dimen/counter_height"
... />
...
</LinearLayout>
Atribut XML (properti tampilan)
Tampilan memiliki properti yang mendefinisikan tempat munculnya tampilan di layar, ukurannya, dan bagaimana kaitan tampilan dengan tampilan lainnya, dan cara tampilan merespons masukan pengguna. Saat mendefinisikan tampilan di XML, properti dirujuk sebagai atribut.
Misalnya, dalam keterangan XML TextView berikut, android:id
, android:layout_width
, android:layout_height
, android:background
, merupakan atribut XML yang diterjemahkan secara otomatis menjadi properti TextView:
<TextView
android:id="@+id/show_count"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/myBackgroundColor"
android:textStyle="bold"
android:text="@string/count_initial_value"
/>
Atribut biasanya berbentuk seperti ini:
android:attribute_name="value"
attribute_name adalah nama atribut. value adalah string dengan nilai untuk atribut. Misalnya:
android:textStyle="bold"
Jika value adalah sumber daya, seperti warna, simbol @
menetapkan jenis sumber dayanya. Misalnya:
android:background="@color/myBackgroundColor"
Atribut latar belakang disetel ke sumber daya warna yang diidentifikasi sebagai myBackgroundColor
, yang dideklarasikan sebagai #FFF043
. Sumber daya warna dijelaskan dalam “Atribut terkait gaya” dalam bab ini.
Setiap tampilan dan grup tampilan mendukung berbagai atribut XML-nya sendiri. Beberapa atribut telah ditetapkan untuk tampilan (misalnya, TextView mendukung atribut textSize
), namun atribut-atribut ini juga diwarisi oleh tampilan apa pun yang mungkin memperluas kelas TextView. Sebagian bersifat umum untuk semua tampilan, karena diwarisi dari kelas View akar (seperti atribut android:id
). Untuk keterangan atribut khusus, lihat bagian ringkasan dokumentasi kelas View.
Mengidentifikasi tampilan
Untuk mengidentifikasi tampilan secara unik dan merujuknya dari kode, Anda harus memberikan ID. Atribut android:id
memungkinkan Anda menetapkan id
yang unik— yakni identifier sumber daya untuk tampilan.
Misalnya:
android:id="@+id/button_count"
Bagian "@+id/button_count"
dari atribut di atas akan membuat id
baru yang disebut button_count
untuk tampilan. Anda menggunakan simbol plus (+
) untuk menunjukkan bahwa Anda sedang membuat baru id
.
Merujuk tampilan
Untuk merujuk ke identifier sumber daya yang ada, hilangkan simbol plus (+
). Misalnya, untuk merujuk tampilan berdasarkan id
-nya dalam atribut lain, misalnya android:layout_toLeftOf
(yang dijelaskan di bagian berikutnya) untuk mengontrol posisi tampilan, Anda perlu menggunakan:
android:layout_toLeftOf="@id/show_count"
Dalam atribut di atas, "@id/show_count"
merujuk ke tampilan dengan identifier sumber daya show_count
. Atribut memosisikan tampilan agar “ke kiri dari” tampilan show_count
.
Memosisikan tampilan
Beberapa atribut pemosisian yang terkait layout diperlukan untuk tampilan, dan secara otomatis muncul bila Anda menambahkan tampilan ke layout XML, siap untuk Anda tambahkan nilainya.
Pemosisian LinearLayout
Misalnya, LinearLayout diperlukan untuk menyetel atribut ini:
- android:layout_width
- android:layout_height
- android:orientation
Atribut android:layout_width
dan android:layout_height
bisa menggunakan salah satu dari tiga nilai ini:
match_parent
akan meluaskan tampilan untuk mengisi induknya dengan lebar dan tinggi. Bila LinearLayout adalah tampilan akar, ia akan meluaskan ke ukuran layar perangkat. Untuk tampilan dalam grup tampilan akar, ia akan meluaskan ke ukuran grup tampilan induk.wrap_content
akan menciutkan dimensi tampilan yang cukup besar untuk menampung isinya. (Jika tidak ada isinya, tampilan menjadi tidak terlihat.)- Gunakan
dp
(piksel yang tidak tergantung perangkat) berjumlah tetap untuk menetapkan ukuran tetap, yang disesuaikan untuk ukuran layar perangkat. Misalnya,16dp
berarti 16 piksel yang tidak tergantung perangkat. Piksel yang tidak tergantung perangkat dan dimensi lain dijelaskan di “Dimensi” dalam bab ini.
Atribut android:orientation
bisa berupa:
horizontal:
Tampilan disusun dari kiri ke kanan.vertical:
Tampilan disusun dari atas ke bawah.
Atribut terkait layout lainnya antara lain:
Android:layout_gravity
: Atribut ini digunakan bersama tampilan untuk mengontrol tempat menyusun tampilan dalam grup tampilan induknya. Misalnya, atribut berikut memusatkan tampilan secara horizontal di layar:android:layout_gravity="center_horizontal"
- Pengisi adalah ruang, yang diukur dalam piksel yang tidak tergantung perangkat, antara tepi tampilan dan isi tampilan, seperti yang ditampilkan dalam gambar di bawah ini.
Dalam gambar di atas:
- Pengisi adalah ruang antara tepi tampilan (garis putus-putus) dan isi tampilan (garis utuh). Pengisi tidak sama dengan margin, yang merupakan ruang dari tepi tampilan ke induknya.
Ukuran tampilan menyertakan pengisinya. Berikut ini adalah atribut pengisi yang umum digunakan:
Android:padding
: Menyetel pengisi keempat tepi.android:paddingTop
: Menyetel pengisi tepi atas.android:paddingBottom
: Menyetel pengisi tepi bawah.android:paddingLeft
: Menyetel pengisi tepi kiri.android:paddingRight
: Menyetel pengisi tepi kanan.android:paddingStart
: Menyetel pengisi awal tampilan; digunakan di tempat di atas, terutama bersama tampilan yang panjang dan sempit.android:paddingEnd
: Menyetel pengisi, dalam piksel, tepi ujung; yang digunakan bersamaandroid:paddingStart
.
Tip: Untuk melihat semua atribut XML untuk LinearLayout, lihat bagian Rangkuman referensi LinearLayout di Panduan Developer. Layout akar lainnya, seperti RelativeLayout dan AbsoluteLayout, mencantumkan atribut XML-nya di bagian Rangkuman.
Pemosisian RelativeLayout
Grup tampilan berguna lainnya untuk layout adalah RelativeLayout, yang bisa Anda gunakan untuk memosisikan tampilan anak yang berhubungan satu sama lain atau dengan induk. Atribut yang bisa Anda gunakan bersama RelativeLayout antara lain berikut ini:
- android:layout_toLeftOf: Memosisikan tepi kanan tampilan ini ke kiri tampilan lainnya (yang diidentifikasi melalui
ID
-nya). - android:layout_toRightOf: Memosisikan tepi kiri tampilan ini ke kanan tampilan lainnya (yang diidentifikasi melalui
ID
-nya). - android:layout_centerHorizontal: Memusatkan tampilan ini secara horizontal dalam induknya.
- android:layout_centerVertical: Memusatkan tampilan ini secara vertikal dalam induknya.
- android:layout_alignParentTop: Memosisikan tepi atas tampilan ini agar cocok dengan tepi atas induknya.
- android:layout_alignParentBottom: Memosisikan tepi bawah tampilan ini agar cocok dengan tepi bawah induknya.
Untuk daftar lengkap atribut tampilan dalam RelativeLayout, lihat RelativeLayout.LayoutParams.
Atribut terkait gaya
Anda menetapkan atribut gaya untuk menyesuaikan penampilan tampilan. Tampilan yang tidak memiliki atribut gaya, misalnya android:textColor
, android:textSize
, dan android:background
, menggunakan gaya yang didefinisikan di tema aplikasi.
Berikut ini adalah atribut terkait gaya yang digunakan dalam contoh layout XML di bagian sebelumnya:
Android:background
: Menetapkan warna atau sumber daya dapat digambar untuk digunakan sebagai latar belakang.android:text
: Menetapkan teks untuk ditampilkan di tampilan.android:textColor
: Menetapkan warna teks.android:textSize
: Menetapkan ukuran teks.android:textStyle
: Menetapkan gaya teks, misalnyabold
.
File sumber daya
File sumber daya adalah cara memisahkan nilai statis dari kode sehingga Anda tidak harus mengubah kode itu sendiri untuk mengubah nilai. Anda bisa menyimpan semua string, layout, dimensi, warna, gaya, dan teks menu secara terpisah di file sumber daya.
File sumber daya disimpan dalam folder yang berada di folder res, termasuk:
- drawable: Untuk gambar dan ikon
- layout: Untuk file sumber daya layout
- menu: Untuk item menu
- mipmap: Untuk kumpulan ikon aplikasi yang sudah dihitung dan dioptimalkan yang digunakan oleh Peluncur
- values: Untuk warna, dimensi, string, dan gaya (atribut tema)
Sintaks untuk merujuk sumber daya di layout XML adalah seperti berikut:
@package_name:resource_type/resource_name
- package_name adalah nama paket tempat sumber daya berada. Ini tidak diperlukan saat merujuk sumber daya dari paket yang sama — yakni, yang disimpan di folder res proyek Anda.
- resource_type adalah
R
subkelas untuk tipe sumber daya. Lihat Tipe Sumber Daya untuk informasi selengkapnya tentang setiap tipe sumber daya dan cara merujuknya. - resource_name adalah nama file sumber daya tanpa ekstensi, atau nilai atribut
android:name
di elemen XML.
Misalnya, pernyataan layout XML berikut menyetel atribut android:text
ke sumber daya string
:
android:text="@string/button_label_toast"
- resource_type adalah
string
. - resource_name adalah
button_label_toast.
- package_name tidak diperlukan karena sumber daya disimpan di proyek (dalam file strings.xml).
Contoh lainnya: pernyataan layout XML ini menyetel atribut android:background
ke sumber daya color
, dan karena sumber daya didefinisikan di proyek (dalam file colors.xml), package_name tidak ditetapkan:
android:background="@color/colorPrimary"
Dalam contoh berikut, pernyataan layout XML menyetel atribut android:textColor
ke sumber daya color
. Akan tetapi, sumber daya tidak didefinisikan dalam proyek, melainkan disediakan oleh Android, sehingga package_nameandroid
juga harus ditetapkan, yang diikuti dengan titik dua:
android:textColor="@android:color/white"
Tip: Untuk informasi selengkapnya tentang mengakses sumber daya dari kode, lihat Mengakses Sumber Daya. Untuk konstanta warna Android, lihat sumber daya R.color standar Android.
File sumber daya nilai
Menyimpan nilai sebagai string dan warna dalam file sumber daya terpisah mempermudah pengelolaannya, terutama jika Anda menggunakannya lebih dari sekali di layout.
Misalnya, penting sekali menyimpan string dalam file sumber daya terpisah untuk menerjemahkan dan melokalkan aplikasi, sehingga Anda bisa membuat file sumber daya string untuk setiap bahasa tanpa mengubah kode. File sumber daya untuk gambar, warna, dimensi, dan atribut lainnya berguna untuk mengembangkan aplikasi bagi orientasi dan ukuran layar perangkat yang berbeda.
String
Sumber daya string berada dalam file strings.xml dalam folder values di dalam folder res saat menggunakan Project: Tampilan Android. Anda bisa mengedit file ini secara langsung dengan membukanya:
<resources>
<string name="app_name">Hello Toast</string>
<string name="button_label_count">Count</string>
<string name="button_label_toast">Toast</string>
<string name="count_initial_value">0</string>
</resources>
Di sini, name
(misalnya, button_label_count
) adalah nama sumber daya yang Anda gunakan di kode XML, seperti dalam atribut berikut:
android:text="@string/button_label_count"
Nilai string name
ini adalah kata (Count
) yang dimasukkan dalam tag <string></string>
(Anda jangan menggunakan tanda kutip kecuali jika tanda kutip harus menjadi bagian dari nilai string.)
Mengekstrak string ke sumber daya
Anda juga harus mengekstrak string hard-code dalam file layout XML ke sumber daya string. Untuk mengekstrak string hard-code dalam layout XML, ikuti langkah-langkah ini (lihat gambar):
- Klik string hard-code, dan tekan Alt-Enter di Windows, atau Option-Return pada Mac OS X.
- Pilih Extract string resource.
- Edit nama Sumber Daya untuk nilai string.
Selanjutnya Anda bisa menggunakan nama sumber daya di kode XML. Gunakan ekspresi "@string/resource_name"
(termasuk tanda kutip) untuk merujuk sumber daya string:
android:text="@string/button_label_count"
Warna
Sumber daya warna berada di file colors.xml dalam folder values di dalam folder res saat menggunakan Project: Tampilan Android. Anda bisa mengedit file ini secara langsung:
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="myBackgroundColor">#FFF043</color>
</resources>
Di sini, name
(misalnya, colorPrimary
) adalah nama sumber daya yang Anda gunakan dalam kode XML:
android:textColor="@color/colorPrimary"
Nilai warna name
ini adalah nilai warna heksadesimal (#3F51B5
) yang dimasukkan dalam tag <color></color>
. Nilai heksadesimal menetapkan nilai merah, hijau, dan biru (RGB). Nilai selalu diawali dengan karakter pound (#
), yang diikuti dengan informasi Alpha-Red-Green-Blue. Misalnya, nilai heksadesimal hitam adalah #000000, sedangkan nilai heksadesimal untuk varian biru langit adalah #559fe3. Nilai warna dasar dicantumkan dalam dokumentasi kelas Color.
Warna colorPrimary
adalah salah satu warna dasar yang telah didefinisikan sebelumnya dan digunakan untuk bilah aplikasi. Di aplikasi produksi, Anda bisa, misalnya, menyesuaikannya agar sesuai dengan merek. Menggunakan warna dasar untuk elemen UI lainnya akan membuat UI seragam.
Tip: Untuk spesifikasi desain material warna Android, lihat Gaya dan Menggunakan Tema Material. Untuk nilai heksadesimal warna umum, lihat Kode Warna Heksadesimal. Untuk konstanta warna Android, lihat sumber daya R.color standar Android.
Anda bisa melihat blok kecil pilihan warna di margin kiri di sebelah deklarasi sumber daya warna di colors.xml, juga di margin kiri di sebelah atribut yang menggunakan nama sumber daya di file XML layout.
Tip: Untuk melihat warna di munculan, aktifkan fitur dokumentasi Munculan otomatis. Pilih Android Studio > Preferences > Editor > General > Code Completion, dan centang opsi “Autopopup documentation in (ms)”. Selanjutnya Anda bisa mengarahkan kursor ke atas nama sumber daya warna untuk melihat warnanya.
Dimensi
Dimensi harus dipisahkan dari kode untuk mempermudah pengelolaannya, terutama jika Anda perlu menyesuaikan layout untuk resolusi perangkat yang berbeda. Selain itu juga memudahkan pengukuran yang konsisten untuk tampilan, dan untuk mengubah ukuran beberapa tampilan dengan mengubah satu sumber daya dimensi.
Sumber daya dimensi berada di file dimens.xml dalam folder values di dalam folder res saat menggunakan Project: Tampilan Android. dimens.xml yang ditampilkan di tampilan bisa menjadi folder yang memiliki lebih dari satu file dimens.xml untuk resolusi perangkat yang berbeda. Misalnya, aplikasi yang dibuat dari template Empty Activity menyediakan file dimens.xml kedua untuk 820 dp.
Anda bisa mengedit file ini secara langsung dengan membukanya:
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="my_view_width">300dp</dimen>
<dimen name="count_text_size">200sp</dimen>
<dimen name="counter_height">300dp</dimen>
</resources>
Di sini, name
(misalnya, activity_horizontal_margin
) adalah nama sumber daya yang Anda gunakan di kode XML:
android:paddingLeft="@dimen/activity_horizontal_margin"
Nilai name
ini adalah pengukuran (16dp
) yang dimasukkan dalam tag <dimen></dimen>
.
Anda bisa mengekstrak dimensi dengan cara yang sama seperti string:
- Klik dimensi hard-code, dan tekan Alt-Enter di Windows, atau tekan Option-Return di Mac OS X.
- Pilih Extract dimension resource.
- Edit nama Sumber Daya untuk nilai dimensi.
Piksel yang tidak tergantung perangkat (dp
) tidak tergantung resolusi layar. Misalnya, 10px
(10 piksel tetap) akan terlihat sedikit lebih kecil pada layar yang beresolusi lebih tinggi, namun Android akan menskalakan 10dp
(10 piksel yang tidak tergantung perangkat) untuk melihat langsung di layar resolusi berbeda. Ukuran teks juga bisa disetel untuk terlihat langsung di layar resolusi berbeda dengan menggunakan ukuran piksel yang diskalakan (sp
).
Tip: Untuk informasi selengkapnya tentang unit dp
dan sp
, lihat Mendukung Kepadatan Berbeda.
Gaya
Gaya adalah sumber daya yang menetapkan atribut umum seperti tinggi, pengisi, warna font, ukuran font, dan warna latar belakang. Gaya ditujukan untuk atribut yang memodifikasi rupa tampilan.
Gaya didefinisikan di file styles.xml dalam folder values di dalam folder res saat menggunakan Project: Tampilan Android. Anda bisa mengedit file ini secara langsung. Gaya dibahas dalam bab berikutnya, bersama Spesifikasi Desain Material.
File sumber daya lainnya
Android Studio mendefinisikan sumber daya lainnya yang dibahas dalam bab lain:
- Gambar dan ikon. Folder drawable menyediakan sumber daya ikon dan gambar. Jika aplikasi Anda tidak memiliki folder drawable, Anda bisa membuatnya di dalam folder res secara manual. Untuk informasi selengkapnya tentang sumber daya dapat digambar, lihat Sumber Daya Dapat Digambardi bagian Sumber Daya Aplikasi dari Panduan Developer Android.
- Ikon yang dioptimalkan. Folder mipmap umumnya berisi kumpulan ikon aplikasi yang sudah dihitung dan dioptimalkan, yang digunakan oleh Peluncur. Luaskan folder untuk melihat apakah versi ikon disimpan sebagai sumber daya untuk kepadatan layar yang berbeda.
- Menu. Anda bisa menggunakan file sumber daya XML untuk mendefinisikan item menu dan menyimpannya di proyek dalam folder menu. Menu dijelaskan dalam bab berikutnya.
Merespons klik tampilan
Kejadian klik terjadi bila pengguna mengetuk atau mengeklik tampilan yang bisa diklik seperti Button, ImageButton, ImageView (mengetuk atau mengeklik gambar), atau FloatingActionButton.
Pola model-view-presenter berguna untuk memahami cara merespons klik tampilan. Bila kejadian terjadi bersama tampilan, kode presenter akan melakukan aksi yang memengaruhi kode model. Agar pola ini berfungsi, Anda harus:
- Menulis metode Java yang melakukan aksi khusus, yang ditentukan oleh logika kode model — yakni tindakan yang bergantung pada hal yang Anda inginkan untuk dilakukan aplikasi bila kejadian ini terjadi. Ini biasanya disebut sebagai penangan kejadian.
- Mengaitkan metode penangan kejadian ini ke tampilan, sehingga metode berjalan bila kejadian terjadi.
Atribut onClick
Android Studio menyediakan pintasan untuk mempersiapkan tampilan yang bisa diklik, dan untuk mengaitkan penangan kejadian dengan tampilan: gunakan atribut android:onClick
bersama elemen tampilan yang bisa diklik di layout XML.
Misalnya, ekspresi XML berikut di file layout untuk serangkaian Button. showToast()
sebagai penangan kejadian:
android:onClick="showToast"
Bila tombol b
diketuk, atribut android:onClick
-nya akan memanggil metode showToast()
.
Tulis penangan kejadian, misalnya showToast()
yang direferensikan dalam kode XML di atas, untuk memanggil metode lain yang mengimplementasikan logika model aplikasi:
public void showToast(View view) {
// Do something in response to the button click.
}
Agar dapat digunakan bersama atribut android:onClick
, metode showToast()
harus berupa public
, mengembalikan void
, dan memerlukan parameter view
agar dapat mengetahui tampilan mana yang memanggil metode.
Android Studio menyediakan pintasan untuk membuat stub penangan kejadian (placeholder untuk metode yang bisa Anda isi nanti) di kode Java untuk aktivitas yang terkait dengan layout XML. Ikuti langkah-langkah ini:
- Di dalam file layout XML (misalnya activity_main.xml), klik nama metode dalam pernyataan atribut
android:onClick
. - Tekan Alt-Enter di Windows atau Option-Return di Mac OS X, dan pilih Create onClick event handler.
- Pilih aktivitas yang terkait dengan file layout (misalnya MainActivity) dan klik OK. Ini akan membuat stub metode placeholder di MainActivity.java.
Memperbarui tampilan
Untuk memperbarui materi tampilan, misalnya mengganti teks di TextView, terlebih dahulu kode Anda harus membuat instance objek dari tampilan. Selanjutnya kode Anda bisa memperbarui objek, dengan demikian memperbarui tampilan.
Untuk merujuk tampilan dalam kode Anda, gunakan metode findViewById() kelas View, yang akan mencari tampilan berdasarkan id
sumber daya. Misalnya, pernyataan berikut menyetel mShowCount
menjadi TextView dengan show_count
ID sumber daya:
mShowCount = (TextView) findViewById(R.id.show_count);
Dari poin ini, kode Anda bisa menggunakan mShowCount
untuk menyatakan TextView, sehingga bila Anda memperbarui mShowCount
, tampilan akan diperbarui.
Misalnya, ketika tombol berikut dengan atribut android:onClick
diketuk, onClick akan memanggil metode countUp()
:
android:onClick="countUp"
Anda bisa mengimplementasikan countUp()
untuk menaikkan hitungan, mengubah hitungan ke string, dan menyetel string sebagai teks untuk objek mShowCount
:
public void countUp(View view) {
mCount++;
if (mShowCount != null)
mShowCount.setText(Integer.toString(mCount));
}
Karena Anda sudah mengaitkan mShowCount
dengan TextView untuk menampilkan hitungan, metode mShowCount.setText()
memperbarui tampilan teks di layar.
1.3: Tampilan Bergulir dan Teks
Bab ini menjelaskan salah satu tampilan yang paling sering digunakan di aplikasi: TextView, yang menampilkan materi tekstual pada layar. TextView bisa digunakan untuk menampilkan pesan, respons dari database, atau bahkan keseluruhan artikel bergaya majalah yang bisa digulir pengguna. Bab ini juga menampilkan cara membuat tampilan bergulir untuk teks dan elemen lainnya.
TextView
Satu tampilan yang mungkin sering Anda gunakan adalah kelas TextView, yang merupakan subkelas dari kelas View yang menampilkan teks pada layar. Anda bisa menggunakan TextView untuk tampilan berukuran apa pun, mulai dari karakter atau kata tunggal hingga teks selayar penuh. Anda bisa menambahkan id
sumber daya ke TextView dan mengontrol cara teks muncul dengan menggunakan atribut di file layout XML.
Anda bisa merujuk tampilan TextView di kode Java dengan menggunakan id
sumber dayanya, dan memperbarui teks dari kode Anda. Jika Anda ingin memungkinkan pengguna mengedit teks, gunakan EditText, subkelas TextView yang memungkinkan pengeditan dan masukan teks. Anda mempelajari semua tentang EditText di bab lainnya.
Atribut TextView
Anda bisa menggunakan atribut XML untuk mengontrol:
- Tempat memosisikan TextView di layout (seperti tampilan lainnya)
- Cara munculnya tampilan itu sendiri, misalnya dengan warna latar belakang
- Seperti apa teks terlihat dalam tampilan, misalnya teks awal dengan gaya, ukuran, dan warnanya
Misalnya, untuk menyetel lebar, tinggi, dan posisi dalam LinearLayout:
<TextView
...
android:layout_width="match_parent"
android:layout_height="wrap_content"
… />
Untuk menyetel nilai teks awal tampilan, gunakan atribut android:text
:
android:text="Hello World!"
Anda bisa mengekstrak string teks ke dalam sumber daya string (mungkin disebut hello_world
) yang lebih mudah dikelola untuk versi aplikasi multibahasa, atau jika Anda perlu mengubah string di lain waktu. Setelah mengekstrak string, gunakan nama sumber daya string dengan @string/
untuk menetapkan teks:
android:text="@string/hello_world"
Atribut yang paling sering digunakan bersama TextView adalah sebagai berikut:
- android:text: Menyetel teks yang akan ditampilkan.
- android:textColor: Menyetel warna teks. Anda bisa menyetel atribut ke suatu nilai warna, sumber daya yang telah didefinisikan sebelumnya, atau tema. Sumber daya dan tema warna dijelaskan dalam bab lainnya.
- android:textAppearance: Penampilan teks, termasuk warna, jenis huruf, gaya, dan ukurannya. Anda menyetel atribut ini untuk sumber daya gaya yang telah didefinisikan sebelumnya atau tema yang sudah mendefinisikan nilai-nilai ini.
- android:textSize: Menyetel ukuran teks (jika belum disetel melalui
android:textAppearance
). Gunakan ukuransp
(piksel yang diskalakan) seperti20sp
atau14.5sp
, atau menyetel atribut untuk sumber daya atau tema yang telah didefinisikan sebelumnya. - android:textSize: Menyetel gaya teks (jika belum disetel melalui
android:textAppearance
). Gunakannormal
,bold
,italic
, ataubold
|italic
. - Android:typeface: Menyetel jenis huruf teks (jika belum disetel melalui
android:textAppearance
). Gunakannormal
,sans
,serif
, ataumonospace
. - android:lineSpacingExtra: Menyetel spasi tambahan antar baris teks. Gunakan ukuran
sp
(piksel yang diskalakan) atau dp (piksel yang tidak tergantung perangkat), atau setel atribut ke sumber daya atau tema yang telah didefinisikan sebelumnya. -
android:autoLink: Mengontrol apakah tautan seperti URL dan alamat email secara otomatis ditemukan dan diubah ke tautan yang dapat diklik (dapat disentuh). Gunakan salah satu dari berikut ini:
none
: Tidak ada pola yang cocok (default).web
: Cocok dengan URL web.email
: Cocok dengan alamat email.phone
: Cocok dengan nomor telepon.map
: Cocok dengan alamat peta.all
: Cocok dengan semua pola (setara dengan web|email|telepon|peta).
Misalnya, untuk menyetel atribut agar cocok dengan URL web, gunakan ini:
android:autoLink="web"
Menggunakan tag yang disematkan dalam teks
Dalam aplikasi yang mengakses artikel majalah atau koran, artikel yang muncul mungkin berasal dari sumber online atau mungkin disimpan sebelumnya dalam database di perangkat. Anda juga bisa membuat teks sebagai satu string panjang di sumber daya strings.xml.
Dalam kasus lain, teks bisa berisi tag HTML yang disematkan atau kode pemformatan teks lainnya. Agar tampil dengan benar, tampilan teks harus diformat dengan aturan berikut:
- Jika ada tanda apostrof (‘) di teks, Anda harus meloloskannya dengan mengawalinya dengan backslash (\’). Jika menggunakan tanda kutip ganda dalam teks, Anda juga harus meloloskannya (\”). Anda juga harus meloloskan karakter non-ASCII lainnya. Lihat bagian “Memformat dan Menata Gaya” pada Sumber Daya String untuk detail selengkapnya.
- TextView mengabaikan semua tag HTML kecuali yang berikut ini:
- Penggunaan tag HTML dan </b> di sekitar kata yang harus ditulis tebal.
- Penggunaan tag HTML dan di sekitar kata yang harus ditulis miring. Akan tetapi perhatikan, jika menggunakan apostrof keriting dalam frasa miring, Anda harus menggantinya dengan apostrof tegak.
- Anda bisa mengombinasikan tebal dan miring dengan mengombinasikan tag, seperti dalam …kata…</i></b>.
Untuk membuat string teks panjang dalam file strings.xml, masukkan keseluruhan teks dalam <string name="your_string_name"></string>
di file strings.xml (your_string_name adalah nama yang Anda berikan untuk sumber daya string, misalnya article_text
).
Baris teks dalam file strings.xml tidak digulung ke baris berikutnya — melainkan memanjang melebihi margin kanan. Ini adalah perilaku yang benar. Setiap baris teks baru yang dimulai dari margin kiri menyatakan paragraf lengkap.
Masukkan \n untuk menyatakan akhir baris, dan \n lainnya untuk menyatakan baris kosong. Jika Anda tidak menambahkan karakter penutup baris, paragraf akan saling bertabrakan saat ditampilkan di layar.
Tip: Jika ingin melihat teks yang dibungkus dalam strings.xml, Anda bisa menekan Return atau Enter untuk memasukkan akhiran ganti baris, atau memformat teks terlebih dahulu dalam editor teks dengan akhiran ganti baris. Akhiran tidak akan ditampilkan di layar.
Merujuk TextView di kode
Untuk merujuk TextView di kode Java Anda, gunakan id
sumber dayanya. Misalnya, untuk memperbarui TextView dengan teks baru, Anda perlu:
-
Mencari TextView (dengan id
show_count
) dan menetapkannya ke variabel. Anda menggunakan metodefindViewById()
kelas View, dan merujuk ke tampilan yang ingin dicari dengan menggunakan format ini:R.id.view_id
Dalam hal ini,
view_id
adalah identifier sumber daya untuk tampilan:mShowCount = (TextView) findViewById(R.id.show_count);
- Setelah mengambil tampilan sebagai variabel anggota TextView, selanjutnya Anda bisa menyetel teks untuk tampilan teks ke teks baru dengan menggunakan metode setText() kelas TextView:
mShowCount.setText(mCount_text);
Tampilan bergulir
Jika informasi yang ingin ditampilkan di aplikasi Anda lebih besar dari tampilan perangkat, Anda bisa membuat tampilan bergulir yang bisa digulir pengguna secara vertikal dengan menggesek ke atas atau ke bawah, atau secara horizontal dengan menggesek ke kanan atau ke kiri.
Anda biasanya akan menggunakan tampilan bergulir untuk kabar berita, artikel, atau teks panjang lainnya yang tidak muat pada tampilan. Anda juga bisa menggunakan tampilan bergulir untuk mengombinasikan tampilan (seperti TextView dan Button) dalam tampilan bergulir.
Membuat layout dengan ScrollView
Kelas ScrollView menyediakan layout untuk tampilan yang bergulir vertikal. (Untuk pengguliran horizontal, Anda perlu menggunakan HorizontalScrollView.) ScrollView adalah subkelas FrameLayout, yang berarti Anda hanya bisa menempatkan satu tampilan sebagai anak; anak tersebut berisi keseluruhan materi yang akan digulir.
Meskipun Anda hanya bisa menempatkan satu tampilan anak di dalam ScrollView, tampilan anak bisa menjadi grup tampilan dengan hierarki tampilan anak, seperti LinearLayout. Pilihan yang bagus untuk tampilan dalam ScrollView adalah LinearLayout yang disusun dalam orientasi vertikal.
ScrollView dan kinerja
Dengan ScrollView, semua tampilan Anda berada dalam memori dan dalam hierarki tampilan sekalipun tidak ditampilkan di layar. Ini membuat ScrollView berguna untuk menggulir laman teks berbentuk bebas dengan lancar, karena teks sudah ada di memori. Akan tetapi, ScrollView bisa menggunakan banyak memori, yang bisa memengaruhi kinerja aplikasi lainnya.
Menggunakan instance LinearLayout yang disarangkan juga bisa mengakibatkan hierarki tampilan yang terlalu dalam, sehingga bisa memperlambat kinerja. Menyarangkan sejumlah instance LinearLayout yang menggunakan atribut android:layout_weight
bisa menjadi sangat mahal karena setiap tampilan anak perlu diukur dua kali. Pertimbangkan penggunaan layout yang lebih datar seperti RelativeLayout atau GridLayout untuk meningkatkan kinerja.
Layout kompleks dengan ScrollView mungkin mengalami masalah kinerja, khususnya dengan tampilan anak seperti gambar. Kami menyarankan agar Anda tidak menggunakan gambar bersama ScrollView. Untuk menampilkan daftar panjang item, atau gambar, pertimbangkan untuk menggunakan RecyclerView. Selain itu, menggunakan AsyncTask akan menyediakan cara sederhana untuk melakukan pekerjaan di luar thread utama, seperti memuat gambar dalam thread latar belakang, kemudian menerapkannya ke UI setelah selesai. AsyncTask dibahas di bab lainnya.
ScrollView dengan TextView
Untuk menampilkan artikel majalah yang dapat digulir pada layar, Anda dapat menggunakan RelativeLayout bagi layar yang menyertakan TextView terpisah untuk judul artikel, lainnya untuk subjudul artikel, dan TextView ketiga untuk teks artikel bergulir (lihat gambar di bawah ini), yang disetel dalam ScrollView. Satu-satunya bagian layar yang bergulir adalah ScrollView dengan teks artikel.
ScrollView dengan LinearLayout
Grup tampilan ScrollView hanya bisa berisi satu tampilan; akan tetapi, tampilan tersebut bisa berupa grup tampilan yang berisi beberapa tampilan, misalnya LinearLayout. Anda bisa menyarangkan grup tampilan seperti LinearLayout dalam grup tampilan ScrollView, sehingga menggulir apa pun yang ada di dalam LinearLayout.
Misalnya, jika Anda ingin subjudul artikel digulir bersama dengan artikel meskipun berupa TextView terpisah, Anda bisa menambahkan LinearLayout dalam ScrollView, dan memindahkan TextView subjudul, bersama TextView artikel, ke dalam LinearLayout. Grup tampilan LinearLayout menjadi tampilan anak tunggal dalam ScrollView seperti yang ditampilkan dalam gambar di bawah ini, dan pengguna bisa menggulir keseluruhan grup tampilan tersebut: subjudul dan artikel.
Saat menambahkan LinearLayout di dalam ScrollView, gunakan match_parent
untuk atribut android:layout_width
LinearLayout guna mencocokkan dengan lebar grup tampilan induk (ScrollView), dan gunakan wrap_content
untuk atribut android:layout_height
LinearLayout guna membuat grup tampilan cukup besar untuk menampung materi dan pengisinya.
Karena ScrollView hanya mendukung pengguliran vertikal, Anda harus menyetel orientasi LinearLayout ke vertikal (dengan menggunakan atribut android:orientation="vertical"
), sehingga keseluruhan LinearLayout akan bergulir secara vertikal. Misalnya, layout XML berikut menggulir TextView article
bersama article_subheading
TextView:
<ScrollView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/article_heading">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/article_subheading"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/padding_regular"
android:text="@string/article_subtitle"
android:textAppearance="@android:style/TextAppearance" />
<TextView
android:id="@+id/article"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:autoLink="web"
android:lineSpacingExtra="@dimen/line_spacing"
android:text="@string/article_text" />
</LinearLayout>
</ScrollView>
1.4: Sumber Daya untuk Membantu Anda Belajar
Bab ini menjelaskan sumber daya yang tersedia untuk developer Android, dan cara menggunakannya.
Menjelajahi dokumentasi developer Android
Tempat terbaik untuk mempelajari tentang development Android dan mengikuti informasi tentang alat pengembangan Android terbaru adalah dengan menjelajahi dokumentasi developer Android resmi.
Laman beranda
Dokumentasi ini berisi banyak informasi yang terus diperbarui oleh Google. Untuk mulai menjelajah, klik tautan berikut pada laman beranda:
- Dapatkan Android Studio: Unduh Android Studio, lingkungan development terintegrasi (IDE) resmi untuk membangun aplikasi Android.
- Jelajahi kode contoh: Jelajahi pustaka kode contoh di GitHub untuk mengetahui cara membangun komponen yang berbeda bagi aplikasi Anda. Klik kategori di kolom kiri untuk menjelajahi contoh yang tersedia. Setiap contoh merupakan aplikasi Android yang berfungsi penuh. Anda bisa menjelajahi sumber daya dan file sumber, serta melihat struktur proyek keseluruhan. Salin dan tempel kode yang diperlukan, dan jika ingin berbagi tautan ke baris tertentu, Anda bisa mengeklik dua kali untuk mendapatkan URL. Untuk kode contoh lainnya, lihat “Menjelajahi contoh kode di Android SDK” di bab ini.
- Saksikan cerita: Pelajari tentang developer Android lainnya, aplikasi, dan kesuksesan mereka bersama Android dan Google Play. Laman tersebut menawarkan video dan artikel berisi cerita terbaru tentang development Android, seperti cara developer memperbaiki pengalaman penggunanya, dan cara meningkatkan interaksi pengguna dengan aplikasi.
Laman beranda juga menawarkan tautan bagi developer Android untuk pratinjau aplikasi bagi versi Android terbaru, dan untuk bergabung dengan program developer Google Play:
- Developer Console: Google Play Store adalah sistem distribusi digital Google untuk aplikasi yang dikembangkan dengan Android SDK. Di laman Google Play Developer Console, Anda bisa menerima Persetujuan Developer, membayar biaya pendaftaran, dan melengkapi detail akun agar bisa bergabung dengan program developer Google Play.
- Pratinjau: Buka laman pratinjau untuk versi Android terbaru guna menguji kompatibilitas aplikasi Anda, dan memanfaatkan fitur baru seperti pintasan aplikasi, dukungan keyboard gambar, ikon melingkar, dan sebagainya.
- Android, Wear, TV, dan Auto: Pelajari tentang Android versi terbaru untuk ponsel cerdas dan tablet, perangkat yang dapat dikenakan, televisi, dan mobil otomatis.
Laman Android Studio
Setelah mengeklik Dapatkan Android Studio di laman beranda, laman Android Studio, yang ditampilkan di atas, akan muncul bersama tautan berguna berikut ini:
- Unduh Android Studio: Unduh Android Studio untuk sistem operasi komputer yang Anda gunakan saat ini.
- Baca dokumentasi: Jelajahi dokumentasi Android Studio.
- Lihat catatan rilis: Baca catatan rilis untuk Android Studio versi terbaru.
- Fitur: Pelajari tentang fitur Android Studio versi terbaru.
- Terbaru: Baca berita tentang Android Studio.
- Sumber Daya: Baca artikel tentang penggunaan Android Studio, termasuk pengantar dasar.
- Video: Tonton tutorial video tentang penggunaan Android Studio.
- Opsi Unduhan: Unduh versi Android Studio untuk sistem operasi berbeda dari yang Anda gunakan.
Dokumentasi Android Studio
Berikut ini adalah tautan ke dokumentasi Android Studio yang berguna untuk pelatihan ini:
- Mengenal Android Studio
- Dasar-Dasar Alur Kerja Developer
- Ringkasan Proyek
- Buat Ikon Aplikasi dengan Image Asset Studio
- Tambahkan Grafik Vektor Multi-Kepadatan
- Buat dan Kelola Perangkat Virtual
- Laman Android Monitor
- Debug Aplikasi Anda
- Konfigurasi Pembangunan Anda
- Tandatangani Aplikasi Anda
Desain, Kembangkan, Distribusikan, dan Pratinjau
Dokumentasi Android bisa diakses melalui tautan berikut dari laman beranda:
- Desain: Bagian ini mencakup Desain Material yang merupakan filosofi desain konseptual yang membahas bagaimana seharusnya tampilan dan cara kerja aplikasi pada perangkat seluler. Gunakan tautan berikut untuk mengetahui selengkapnya:
- Memperkenalkan desain material: Pengantar filosofi desain material.
- Unduhan untuk desainer: Unduh palet warna untuk kompatibilitas dengan spesifikasi desain material.
- Artikel: Baca artikel dan berita tentang desain Android.
- Gulir ke bawah laman Design untuk tautan ke sumber daya seperti video, template, font, dan palet warna.
- Berikut ini adalah tautan ke bagian Design yang berguna untuk pelatihan ini:
- Panduan Desain Material
- Gaya
- Menggunakan Tema Material
- Komponen – Tombol
- Panduan desain dialog
- Panduan desain isyarat
- Panduan Desain Notifikasi
- Ikon dan sumber daya lain yang bisa diunduh
- Desain – Pola – Navigasi
- Panduan Sumber Daya Dapat Digambar
- Panduan Gaya dan Tema
- Setelan
- Material Palette Generator
- Kembangkan: Di bagian inilah Anda bisa menemukan informasi antarmuka pemrograman aplikasi (API), dokumentasi referensi, tutorial, panduan alat (bantu), dan contoh kode, serta mendapatkan wawasan mengenai alat dan pustaka Android untuk mempercepat development. Anda bisa menggunakan tautan navigasi situs di kolom kiri, atau telusuri untuk menemukan hal yang dibutuhkan. Berikut ini adalah tautan populer ke bagian Kembangkan yang berguna untuk pelatihan ini:
- Ringkasan:
- Praktik development:
- Mendukung Versi Platform Berbeda
- Mendukung Beberapa Layar
- Mendukung Kepadatan Berbeda
- Praktik Terbaik untuk Interaksi dan Keterlibatan
- Praktik Terbaik untuk Antarmuka Pengguna
- Praktik Terbaik untuk Pengujian
- Menyediakan Sumber Daya
- Mengoptimalkan Unduhan untuk Panduan Akses Jaringan Efisien
- Praktik Terbaik untuk Izin Aplikasi
- Artikel dan panduan pelatihan:
- Memulai Aktivitas Lain
- Menetapkan Tipe Metode Masukan
- Menangani Masukan Keyboard
- Menambahkan Bilah Aplikasi
- Menggunakan Isyarat Sentuh
- Membuat Daftar dan Kartu
- Memulai Pengujian
- Mengelola Daur Hidup Aktivitas
- Menghubungkan ke Jaringan
- Mengelola Penggunaan Jaringan
- Memanipulasi Penerima Siaran Sesuai Kebutuhan
- Menjadwalkan Alarm Berulang
- Mentransfer Data Tanpa Menguras Baterai
- Menyimpan File
- Menyimpan Rangkaian Nilai-Kunci
- Menyimpan Data di Database SQL
- Mengonfigurasi Auto Backup for Apps
- Bekerja dengan Izin Sistem
- Topik umum
- Informasi referensi:
- Distribusikan: Bagian ini menyediakan informasi tentang segala sesuatu yang terjadi setelah Anda menulis aplikasi: menaruhnya di Play Store, menumbuhkan basis pengguna, dan menghasilkan uang.
Memasang dokumentasi offline
Untuk mengakses dokumentasi bahkan saat Anda tidak terhubung ke internet, pasang dokumentasi Software Development Kit (SDK) dengan menggunakan SDK Manager. Ikuti langkah-langkah ini:
- Pilih Tools > Android > SDK Manager.
- Di kolom kiri, klik Android SDK.
- Pilih dan salin jalur untuk Android SDK Location di bagian atas layar, karena Anda akan memerlukannya untuk menemukan dokumentasi di komputer:
- Klik tab SDK Tools. Anda bisa memasang SDK Tools tambahan yang tidak dipasang secara default, serta versi offline dokumentasi developer Android.
- Klik kotak centang untuk “Documentation for Android SDK” jika belum dipasang, dan klik Apply.
- Bila pemasangan selesai, klik Finish.
- Arahkan ke direktori sdk yang disalin di atas, dan buka direktori docs.
- Cari index.html dan buka.
Menonton video developer
Sebagai tambahan untuk dokumentasi Android, saluran YouTube Developer Android adalah sumber tutorial dan tip terbaik. Anda bisa berlangganan ke saluran untuk menerima notifikasi video baru melalui email. Untuk berlangganan, klik tombol Subscribe merah di sudut kanan atas seperti yang ditampilkan di bawah ini.
Berikut ini adalah video populer yang dirujuk dalam pelatihan ini:
- Men-debug dan Menguji di Android Studio
- Dukungan Pengujian Android – Pola Pengujian Android No. 1
- Dukungan Pengujian Android – Pola Pengujian Android No. 2
- Dukungan Pengujian Android – Pola Pengujian Android No. 3
- Threading Kinerja 101
- Mencari AsyncTask yang Baik
- Menjadwalkan Presentasi Alarm
- Animasi RecyclerView dan di Balik Layar (Android Dev Summit 2015)
- Arsitektur Aplikasi Android: Miliaran Pengguna Berikutnya
- Daftar Putar Pola Kinerja Android
Selain itu, Udacity menawarkan kursus development Android online.
Menjelajahi contoh kode di Android SDK
Anda bisa menjelajahi ratusan contoh kode secara langsung di Android Studio. Pilih Import an Android code sample dari layar selamat datang Android Studio, atau pilih File > New > Import Sample jika proyek sudah dibuka. Jendela Browse Sample muncul seperti yang ditampilkan di bawah ini.
Pilih contoh, dan klik Next. Terima atau edit Application name serta Project location, dan klik Finish. Proyek aplikasi akan muncul seperti yang ditampilkan di bawah ini, dan Anda bisa menjalankan aplikasi di emulator yang disediakan bersama Android Studio, atau di perangkat yang terhubung.
Menggunakan template aktivitas
Android Studio menyediakan template untuk desain aktivitas umum dan yang disarankan. Penggunaan template akan menghemat waktu, dan membantu Anda mengikuti praktik terbaik untuk mengembangkan aktivitas.
Setiap template akan memasukkan aktivitas kerangka dan antarmuka pengguna. Pilih template aktivitas untuk aktivitas utama saat memulai proyek aplikasi. Anda juga bisa menambahkan template aktivitas ke proyek yang ada. Klik-kanan folder java di Project: Tampilan Android dan pilih New > Activity > Gallery.
Menjelajahi blog developer Android
Blog Developer Android menyediakan banyak artikel mengenai development Android.
Berikut ini adalah entri blog populer:
- Android Studio 2.2
- Mengamankan Android: Penyempurnaan keamanan di Nougat
- Menghubungkan aplikasi Anda ke Perangkat Wi-Fi
- Linkify Teks Anda!
- Holo Di Mana-mana
- Tips untuk membantu Anda tetap mematuhi kebijakan Google Play
- 5 Tips untuk membantu Anda meningkatkan monetisasi game-sebagai-layanan
Sumber informasi lainnya
Google dan pihak ketiga menawarkan berbagai tip dan teknik untuk development Android. Berikut ini adalah sumber informasi yang direferensikan oleh pelatihan ini:
- Pelatihan Developer Google: Bila Anda masih baru dalam hal pemrograman atau seorang developer berpengalaman, Google menawarkan beragam kursus online untuk mengajarkan development Android, mulai dari awal hingga mengoptimalkan kinerja aplikasi. Klik tab Android di bagian atas laman.
- Google I/O Codelabs: Google Developers Codelabs menyediakan pengalaman pengkodean langsung yang dipandu pada sejumlah topik. Sebagian besar codelab akan memandu Anda dalam proses pembangunan aplikasi kecil, atau menambahkan fitur baru ke aplikasi yang ada. Pilih Android dari menu tarik-turun Category di sisi kanan laman.
- Codelab Pengujian Android: Codelab ini menampilkan cara memulai pengujian untuk Android, termasuk menguji integrasi di Android Studio, pengujian unit, pengujian hermetik, pengujian antarmuka pengguna fungsional, dan kerangka kerja pengujian Espresso.
- Blog Pengujian Google: Blog ini difokuskan pada pengujian kode. Entri blog yang dirujuk dalam pelatihan ini antara lain:
- Stack Overflow: Stack Overflow adalah komunitas jutaan programmer yang saling membantu. Jika Anda mengalami masalah, kemungkinan orang lain sudah mengeposkan jawabannya pada forum ini. Contoh yang dirujuk dalam pelatihan ini antara lain:
- Bagaimana menyatakan di dalam RecyclerView di Espresso?
- Bagaimana Menambahkan Fragmen ke Template Panel Samping Navigasi Khusus?
- Bagaimana membuat Aktivitas Preferensi dan Fragmen Preferensi di Android?
- Bagaimana menggunakan SharedPreferences di Android untuk menyimpan, mengambil, dan mengedit nilai
- Bagaimana mengisi AlertDialog dari Arraylist?
- onSavedInstanceState vs. SharedPreferences
- Glide vs. Picasso
- Google di GitHub: GitHub adalah layanan hosting repositori. Layanan ini menawarkan semua kontrol versi yang didistribusikan dan fungsionalitas pengelolaan kode sumber (SCM) Git serta menambahkan fiturnya sendiri. Git adalah sistem kontrol versi yang digunakan secara luas untuk development perangkat lunak. Yang berikut ini ditampung dalam GitHub dan dirujuk di pelatihan ini:
- Beragam sumber informasi yang dirujuk dalam pelatihan ini:
- Codepath: Bekerja dengan TextView
- SQLite.org: Keterangan lengkap Bahasa Kueri
- Atomic Object: “Espresso – Menguji RecyclerViews pada Posisi Tertentu“
- Penelusuran Google: Masukkan pertanyaan ke dalam kotak telusur Google, didahului dengan “Android” untuk mempersempit penelusuran Anda. Mesin telusur Google akan mengumpulkan hasil yang relevan dari semua sumber daya. Misalnya:
- “Versi OS Android apa yang paling populer di India?” Pertanyaan ini akan mengumpulkan hasil tentang pangsa pasar Android, termasuk laman Dasbor yang menyediakan ringkasan karakteristik dan versi platform perangkat yang aktif di ekosistem Android.
- “Android Settings Activity” mengumpulkan berbagai artikel tentang Settings Activity termasuk laman topik Setelan, kelas PreferenceActivity, dan [Bagaimana membuat Aktivitas Preferensi dan Fragmen Preferensi di Android?] Stack Overflow(http://stackoverflow.com/questions/23523806/how-do-you-create-preference-activity-and-preference-fragment-on-android)
- “TextView Android” mengumpulkan informasi tentang tampilan teks termasuk laman topik kelas TextView, kelas View, Layout, dan contoh kode dari beragam sumber.
- Awali setiap penelusuran dengan Android untuk mempersempit penelusuran topik terkait Android. Misalnya, Anda bisa menelusuri keterangan kelas Android, seperti “Android TextView”atau “aktivitas Android”.