Introduction to Android Studio
Project Android Pertama
Untuk memulai proyek baru pilihlah “Start a new Android Studio project”.
Project Wizard
- Setelah melakukan “Start a new Android Studio project”, Anda diminta untuk melakukan konfigurasi dalam pembuatan proyek baru Anda. Dalam dialog ini Anda bisa memilih template dari Aplikasi yang akan Anda buat. Terdapat beberapa template yang bisa kita gunakan seperti Empty Activity, Login Activity, Navigation Drawer Activity dan lain-lain. Di dalam dialog ini kita bisa memilih target devices dari aplikasi yang akan kita buat.
-
Dalam dialog ini Anda bisa memberi nama dari aplikasi, lokasi proyek Anda dan nama package. Nama package akan digunakan dalam identifikasi unik dari aplikasi kita ketika sudah di-publish. Kita juga dapat mengganti dari direktori di mana proyek kita akan disimpan. Kita juga bisa mengganti nilai minimum SDK, yang berfungsi untuk membatasi penggunaan API pada sebuah aplikasi. Di dalam dialog ini juga Anda bisa memberi nama dari Activity yang pertama kali yang Anda buat. Selain itu Anda juga bisa mengganti bahasa default pada aplikasi tersebut menjadi bahasa Java atau Kotlin.
Catatan: Untuk Android Studio versi 3.4 ke bawah, penggunaan AndroidX belum menjadi default. Jadi, silakan beri tanda centang pada “Use AndroidX.* artifacts” di setiap kali membuat project. Informasi lebih detail mengenai AndroidX bisa Anda lihat di sini, dan untuk melihat perubahan antara sebelum dan sesudah AndroidX, atau cara migrasi menggunakan AndroidX bisa lihat di sini. Perlu Anda ketahui juga, ketika Anda sudah menggunakan AndroidX maka Anda tidak bisa menambahkan library lama atau sebelum AndroidX.
Antarmuka Android Studio
Tools
Navigasi
Project Explorer dan Editor
Tool window bar
Status Bar
Struktur Proyek
- Modul Aplikasi Android
- Modul Pustaka
- Modul Google App Engine
Android Manifest
Manifest adalah salah satu berkas yang harus ada di dalam sebuah proyek Android. Manifest akan memberikan beragam informasi penting kepada sistem Android. Sistem perlu mengetahui apa yang akan digunakan oleh aplikasi sebelum dijalankan.
- Nama Package
-
- <manifest xmlns:android=“http://schemas.android.com/apk/res/android”
-
- package=“com.dicoding.picodiploma.myapplication”>
Package name merupakan sebagai identitas unik dari sebuah aplikasi. Identitas ini juga yang akan digunakan di dalam store untuk membedakan suatu aplikasi dengan aplikasi lainnya. Jangan pernah mengganti value di dalam package karena nantinya akan dikenali sebagai aplikasi yang lain, jika sudah masuk ke dalam store.
-
- Komponen Aplikasi
Berfungsi untuk mendeskripsikan komponen dari aplikasi mulai dari activity, services, broadcast receiver, dan content provider.
- <application
- android:allowBackup=“true”
- android:icon=“@mipmap/ic_launcher”
- android:label=“@string/app_name”
- android:roundIcon=“@mipmap/ic_launcher_round”
- android:supportsRtl=“true”
- android:theme=“@style/AppTheme”>
- <activity android:name=“.MainActivity”>
- <intent-filter>
- <action android:name=“android.intent.action.MAIN” />
- <category android:name=“android.intent.category.LAUNCHER” />
- </intent-filter>
- </activity>
- <service
- android:name=“.MyIntentService”
- android:exported=“false” />
- <receiver
- android:name=“.MyReceiver”
- android:enabled=“true”
- android:exported=“true”></receiver>
- </application>
-
Komponen aplikasi semuanya berada di antara tag <application>. Ia juga berfungsi sebagai penamaan kelas yang mengimplementasi komponen dan mendeskripsikan kemampuannya seperti intent-filter, di mana fungsinya mendeskripsikan bahwa komponen itu adalah yang pertama kali dijalankan.
- Permission
Mendeklarasikan permission apa saja yang harus dimiliki oleh aplikasi untuk akses ke dalam komponen API seperti internet, external storage, contact, dan juga untuk berinteraksi dengan aplikasi lainnya. Sebagai contoh ini adalah kode untuk permission Internet
-
- <uses-permission android:name=“android.permission.INTERNET”/>
Kode ini biasanya diletakkan di atas tag <application> dan masih di dalam tag <manifest>
-
Java
Catatan: Penamaan folder “java” bisa juga diganti sesuai dengan bahasa yang dipakai, misal “kotlin.”
GeneratedJava
Res / Resource
- Drawable
Untuk menyimpan file gambar maupun ikon. - Layout
Salah satu folder yang sering dipakai untuk file desain aplikasi. - Mipmap
Untuk menyimpan logo dalam berbagai dimensi. - Values
Berisi berbagai macam sumber data, seperti colors.xml untuk warna, strings.xml untuk teks, dimens.xml untuk ukuran, dan styles.xml untuk membuat style atau template.
Gradle
- apply plugin: ‘com.android.application’
- android {
- compileSdkVersion 29
- defaultConfig {
- applicationId “com.dicoding.picodiploma.myapplication”
- minSdkVersion 15
- targetSdkVersion 29
- versionCode 1 //(Incremental)
- versionName “1.0”
- testInstrumentationRunner “androidx.test.runner.AndroidJUnitRunner”
- }
- buildTypes {
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘
- }
- }
- }
- dependencies {
- implementation fileTree(dir: ‘libs’, include: [‘*.jar’])
- implementation ‘androidx.appcompat:appcompat:1.0.2’
- implementation ‘androidx.constraintlayout:constraintlayout:1.1.3’
- testImplementation ‘junit:junit:4.12’
- androidTestImplementation ‘androidx.test:runner:1.2.0’
- androidTestImplementation ‘androidx.test.espresso:espresso-core:3.2.0’
- }
- Android Settings
Di dalam block android kita bisa menetapkan compileSDKVersion dan buildToolsVersion. - Default Config
Di dalamnya terdapat properties seperti applicationID, minSdkVersion, targetSdkVersion dan test information. - Build Types
Di dalamnya terdapat properties dari debuggable, ProGuard enabling, debug signing, version name suffix dan test information. - Dependencies
Di dalamnya terdapat informasi tentang library yang digunakan oleh aplikasi.
Sync Project
Resource Manager
Useful Tools pada Android Studio
Shortcut
-
Shift+Shift
Search Everywhere, atau dapat dikatakan pencarian semua jenis berkas yang masih dalam 1 proyek. -
Ctrl+F
Find, pencarian teks dalam salah satu berkas. -
Ctrl+Shift+F
Find in path, pencarian teks di seluruh berkas proyek. -
Ctrl+Shift+A
Find action, pencarian aksi atau perintah-perintah yang ada di Android Studio. -
Ctrl+R
Replace, mengganti teks di dalam berkas.
- Ctrl+N
Find Class, navigasi ke kelas tertentu. -
Ctrl+Shift+N
Find file, navigasi ke berkas. -
Ctrl+B
Go to declaration, lompat ke deklarasi yang dipilih. -
Alt+↑
Lompat ke method sebelumnya. -
Alt+↓
Lompat ke method sesudahnya. -
Ctrl+G
Go to line, lompat ke baris tertentu. -
Ctrl+E
Membuka berkas teranyar (recent file). -
Ctrl+Left Mouse (or) Ctrl+Alt+F7
Melihat penggunaan pada variabel/objek yang diklik. -
Alt+F7 / Ctrl+F7
Melihat penggunaan variabel/objek yang dipilih di seluruh berkas proyek. -
Ctrl+Shift+B
Mencari tahu implementasi dari variabel/objek yang dipilih.
-
Ctrl+D
Menggandakan bagian yang dipilih. -
Ctrl+Q
Melihat dokumentasi dengan tampilan minimal. -
Ctrl+P
Melihat isi dari parameter, penting ketika melihat method dari Android atau library lain. -
Ctrl+Space
Basic code completion, menampilkan saran untuk melengkapi kode Anda. -
Ctrl+Shift+Space
Smart code completion, menampilkan saran kode untuk melengkapi kode Anda dengan lebih pintar (menampilkan apa yang benar-benar terkait dengan kode Anda). -
Alt+Insert
Generate code, menghasilkan (generate) kode. Perintah ini sangat memudahkan ketika membuat constructor dan setter/getter. -
Ctrl+Alt+L
Memformat ulang kode, merapikan kode. -
Ctrl+Y
Delete One Line, Menghapus satu baris kode. -
Ctrl+V
Create variable, Membuat teks yang diblok menjadi sebuah variabel. -
Ctrl+M
Create method, Membuat teks yang diblok menjadi sebuah fungsi. -
Shift+F6
Rename, untuk mengganti nama suatu file atau variabel maupun fungsi.
-
Ctrl+F9
Make project, build project. -
Ctrl+Shift+F9
Melakukan kompilasi pada berkas, package atau modul. -
Shift+F10
Run. Menjalankan aplikasi ke emulator atau devices. -
Shift+F9
Debug. Menjalankan aplikasi ke emulator atau devices dalam mode Debug, biasanya untuk keperluan testing.
Code Completion
-
Basic Code Completion
Ctrl+Space
Pemanggilan Code Completion standar untuk membantu kita melengkapi kode.
Ketika kita akan memanggil sebuah variabel, cukup ketikkan code completion di atas. Saran pun akan diberikan. -
Statement Completion
Ctrl+Shift+Enter
Perintah ini sangat membantu karena kita bisa menyelesaikan kode tanpa harus mengetik lengkap dan tanpa tanda kurung, kurung siku, kurung kurawal, dan banyak macam pemformatan lainnya.
Kode di bawah ini ditulis sebelum menggunakan shortcut:
Kemudian kita menggunakan Statement Completion. Lihat apa yang terjadi!Statement kita yang belum tuntas akan diselesaikan oleh Android Studio. Tentu hal ini akan mempercepat waktu kita dalam menggarap aplikasi.Selengkapnya Anda dapat mempelajarinya di sini: https://www.jetbrains.com/help/idea/2016.1/code-completion-2.html
Style dan Formatting
Nah, kini kita akan melakukan kode formatting dengan menggunakan shortcut Ctrl+Alt+L.
Sample Code
Selengkapnya dapat kita jumpai di sini: https://developer.android.com/studio/write/sample-code.html