SlideShare a Scribd company logo
Android Fundamentals #1
@ghifari2112
Ghifari Octaverin
Android
● Membuat Project Android
● XML
● View & ViewGroup
● Activity
Overview
Basic Programming Paradigm
● File -> New -> New Project
● Pilih Empty Activity
Membuat Project Android
Android Fundamentals
● Masukan name aplikasi, package, lokasi folder, bahasa, dan Mininum
SDK
Membuat Project Android
Android Fundamentals
Android Releases dan API Level
Android Fundamentals
Memilih API Levels
Android Fundamentals
● Minimum SDK : API agar perangkat dapat menginstall aplikasi yang kita
buat
● Target SDK : versi API dan versi android tertinggi yang akan diuji
● Compile SDK : Versi library OS Android yang digunakan untuk Kompilasi
minSdkVersion <= targetSdkVersion <= compileSdkVersion
● Saat rilis baru Android keluar, merupakan praktik yang baik untuk
mengkompilasi dan menguji aplikasi Anda dengan versi platform terbaru,
dan menaikkan level compile SDK dan target SDK
Struktur Project
Android
Android Fundamentals
Menjalankan Aplikasi
Android Fundamentals
Android Device Emulator
Questions
Before we Continue..
● Kita dapat mengedit layout aplikasi pada XML
● Android menggunakan XML untuk menentukan tata letak antarmuka
pengguna (termasuk atribut View)
● Di dalam sebuah tag View, Anda bisa mengubah beberapa attribute
dengan beberapa format berikut.
○ android:<property_name>="@+id/view_id" untuk penulisan id.
○ android:<property_name>="<property_value>" untuk attribute biasa.
○ android:<property_name>="@<resource_type>/resource_id" untuk
attribute yang memanggil value dari folder res, seperti string, color, dan
dimens.
XML File
Android Fundamentals
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hitung"/>
Contoh XML untuk view Button
Android Fundamentals
Hitung!
Dalam menentukan tinggi dan lebar suatu View, terdapat beberapa
alternatif value yang bisa digunakan seperti berikut:
● wrap_content: ukuran menyesuaikan dengan ukuran konten di
dalamnya.
● match_parent: ukuran menyesuaikan dengan ukuran parent (View
induknya). Apabila di paling luar, berarti mengikuti ukuran layar device-
nya.
● fixed size: Anda bisa menentukan ukuran dengan nilai tetap dengan
satuan dp.
Width dan Height
Android Fundamentals
Width dan Height
Android Fundamentals
Padding & Margin
Android Fundamentals
Questions
Before we Continue..
View & ViewGroup
Android Fundamentals
●Pada dasarnya, semua elemen UI di aplikasi Android dibangun
menggunakan dua buah komponen inti, yaitu View dan ViewGroup.
●View merupakan komponen yang digunakan untuk berinteraksi dengan
pengguna, contoh turunan view : TextView, Button, ImageView, RadioButton,
Checkbox, dll.
●ViewGroup merupakan wadah untuk mewadahi objek view agar mudah di
atur posisinya
View & ViewGroup
Android Fundamentals
ViewGroup
Android Fundamentals
●LinearLayout : Komponen didalamnya diatur secara vertikal atau horizontal
●RelativeLayout: Komponen ditempatkan secara relatif terhadap komponen
lainnya. Misal komponen A disimpan di sebelah kanan komponen B atau
komponen A rata tengah dengan parentnya
●FrameLayout : Komponen dapat ditempatkan secara bertumpuk dengan
komponen view lainnya
●ConstraintLayout : Dengan ConstraintLayout, dapat menyusun tampilan
yang kompleks cukup dengan satu lapis hierarki saja.
●ScrollView : digunakan untuk membuat komponen di dalamnya dapat
digeser (scroll) secara vertikal maupun horizontal.
ViewGroup
Android Fundamentals
View hierarchy
Android Fundamentals
Constraint Layout Example
Android Fundamentals
●Dalam menggunakan constraint layout kita harus mengatur relative
positioning constraint ke parent container
●Format: layout_constraint<SourceConstraint>_to<TargetConstraint>Of
● Example attributes on a TextView:
● app:layout_constraintTop_toTopOf="parent"
● app:layout_constraintLeft_toLeftOf="parent"
Constraint Layout Example
Android Fundamentals
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
...
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
Resource Directories
Android Fundamentals
●Tambahkan semua file resource yang diperlukan ke dalam folder res
main
├── java
└── res
├── drawable (Asset gambar, music, dsb)
├── layout (Layout XML untuk aplikasi)
├── mipmap (Icon untuk aplikasi)
└── values (file kumpulan string, warna, angka, dan style)
Resource ID
Android Fundamentals
●Setiap resource memiliki id agar bisa diakses/dipanggil ketika ingin
menggunakannya di dalam kode program aplikasi
●Saat memberi nama resource, formatnya adalah menggunakan lowercase
dengan underline (misalnya, activity_main.xml).
●Resource yang telah dibuat akan otomatis tergenerate oleh R.java sehingga
akan memiliki bentuk id seperti berikut:
R.<resource_type>.<resource_name>
Contoh:
R.drawable.ic_launcher (res/drawable/ic_launcher.xml)
R.layout.activity_main (res/layout/activity_main.xml)
Resource ID untuk Views
Android Fundamentals
●Komponen view juga dapat memiliki id
●Tambahkan attribut android:id di dalam view tag XML. lalu gunakan
@+id/(namaid)
<TextView
android:id="@+id/helloTextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"/>
●Di dalam kode program maka dapat memanggil textView tersebut secara spesifik
menggunakan syntax berikut:
R.id.helloTextView
Questions
Before Continue
Activity
Android Fundamentals
●Activity merupakan komponen penting Android yang
berfungsi untuk menampilkan user interface ke layar
pengguna dan mengelola interaksi yang ada di dalamnya.
●Setiap Activity harus terdaftar di AndroidManifest.xml
supaya tidak terjadi error.
●Aplikasi Android dapat terdiri dari 1 atau lebih activity
Class Activity
Android Fundamentals
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
}
Activity Lifecycle
Android Fundamentals
Membuat View interactive
Android Fundamentals
●Pada file activity kita dapat memanipulasi secara dinamis setiap view yang
telah kita buat
●Inisialisasi view dengan memanggil id dari view
val resultTextView: TextView = findViewById(R.id.textView)
●Panggil properties atau method untuk memodifikasi nilai atau behaviour dari
view yang kita buat
resultTextView.text = "Goodbye!"
Menambahkan Listener
Android Fundamentals
●Kita dapat menambahkan listener untuk setiap aksi user yang dilakukan
terhadap view yang ada pada aplikasi kita
●Kita hanya perlu mengextend View.OnClickListener agar view yang
terdaftar pada activity bisa memberikan callback atau aksi kembalian
Menambahkan Listener
Android Fundamentals
class MainActivity : AppCompatActivity(), View.OnClickListener {
override fun onCreate(savedInstanceState: Bundle?) {
...
val button: Button = findViewById(R.id.button)
button.setOnClickListener(this)
}
override fun onClick(v: View?) {
TODO("not implemented")
}
}
Menambahkan Listener
Android Fundamentals
●Untuk mempersingkat penulisan kode kita juga bisa menggunakan SAM (Single
Abstract Method) untuk penulisan kode pada listener
●Format: InterfaceName { lambda body }
val runnable = Runnable { println("Hi there") }
● Kode diatas sama dengan:
val runnable = (object: Runnable {
override fun run() {
println("Hi there")
}
})
Listener dengan SAM
Android Fundamentals
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
val button: Button = findViewById(R.id.button)
button.setOnClickListener { view -> /* do something*/ }
}
}
Takeaways
Android Fundamentals
Buatlah sebuah mesin penghitung volume sederhana yang dapat
memasukan input dari user dan menampilkan sebuah hasil dari input user
tersebut!
Kalian juga dapat menambahkan fitur tambahan sesuai dengan kreatifitas
masing-masing!
Codelab
Subtitle
Practice what you’ve learned by
completing the pathway:
DiceRoller App

More Related Content

Similar to Android Fundamentals #1.pptx

Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 camera
heriakj
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android Sudaryatno
Yatno Sudar
 
Belajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukBelajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog Produk
Agus Haryanto
 
Ebook Workshop Dasar android
Ebook Workshop Dasar androidEbook Workshop Dasar android
Ebook Workshop Dasar android
Saeful Bahri
 
Dasarpemrogramanvisualbasic
DasarpemrogramanvisualbasicDasarpemrogramanvisualbasic
Dasarpemrogramanvisualbasicdhi her
 
Dasarpemrogramanvisualbasic
DasarpemrogramanvisualbasicDasarpemrogramanvisualbasic
Dasarpemrogramanvisualbasicdhi her
 
Designing Your User Interface with Views.pptx
Designing Your User Interface with Views.pptxDesigning Your User Interface with Views.pptx
Designing Your User Interface with Views.pptx
Mohammad Faried Rahmat
 
Pemrograman aplikasi android
Pemrograman aplikasi androidPemrograman aplikasi android
Pemrograman aplikasi androidMdeno Akbar
 
Pemrograman android
Pemrograman androidPemrograman android
Pemrograman android
MIqbalNasution
 
Build your first app
Build your first appBuild your first app
Build your first app
Rafi Ramadhan
 
1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf
1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf
1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf
HendroGunawan8
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application development
Google
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming Tutorial
Dimas Prawira
 
Pertemuan 01 - Pengantar Android.docx
Pertemuan 01 - Pengantar Android.docxPertemuan 01 - Pengantar Android.docx
Pertemuan 01 - Pengantar Android.docx
HendroGunawan8
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
Yatno Sudar
 
Pengenalan App Inventor.pptx
Pengenalan App Inventor.pptxPengenalan App Inventor.pptx
Pengenalan App Inventor.pptx
DediPratmoSihite
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop
rizki adam kurniawan
 
Pertemuan 3 user interface (ui)
Pertemuan 3 user interface (ui)Pertemuan 3 user interface (ui)
Pertemuan 3 user interface (ui)
obanganggara
 
Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]
trya nita
 

Similar to Android Fundamentals #1.pptx (20)

Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 camera
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android Sudaryatno
 
Belajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukBelajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog Produk
 
Ebook Workshop Dasar android
Ebook Workshop Dasar androidEbook Workshop Dasar android
Ebook Workshop Dasar android
 
Dasarpemrogramanvisualbasic
DasarpemrogramanvisualbasicDasarpemrogramanvisualbasic
Dasarpemrogramanvisualbasic
 
Dasarpemrogramanvisualbasic
DasarpemrogramanvisualbasicDasarpemrogramanvisualbasic
Dasarpemrogramanvisualbasic
 
Designing Your User Interface with Views.pptx
Designing Your User Interface with Views.pptxDesigning Your User Interface with Views.pptx
Designing Your User Interface with Views.pptx
 
Pemrograman aplikasi android
Pemrograman aplikasi androidPemrograman aplikasi android
Pemrograman aplikasi android
 
Pemrograman android
Pemrograman androidPemrograman android
Pemrograman android
 
Build your first app
Build your first appBuild your first app
Build your first app
 
1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf
1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf
1. UTS_PEMROGRAMAN_BERGERAK_HENDRO GUNAWAN_200401072103_IT701.pdf
 
Live coding #1
Live coding #1Live coding #1
Live coding #1
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application development
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming Tutorial
 
Pertemuan 01 - Pengantar Android.docx
Pertemuan 01 - Pengantar Android.docxPertemuan 01 - Pengantar Android.docx
Pertemuan 01 - Pengantar Android.docx
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
 
Pengenalan App Inventor.pptx
Pengenalan App Inventor.pptxPengenalan App Inventor.pptx
Pengenalan App Inventor.pptx
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop
 
Pertemuan 3 user interface (ui)
Pertemuan 3 user interface (ui)Pertemuan 3 user interface (ui)
Pertemuan 3 user interface (ui)
 
Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]Tugas[1] 0317-[tryanita]-[1411511676]
Tugas[1] 0317-[tryanita]-[1411511676]
 

Recently uploaded

Kisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docxKisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docx
irawan1978
 
untuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawasuntuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawas
TEDYHARTO1
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
NurSriWidyastuti1
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
rohman85
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
UmyHasna1
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
agusmulyadi08
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
d2spdpnd9185
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
MirnasariMutmainna1
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
mattaja008
 
Koneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya PositifKoneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya Positif
Rima98947
 
ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_
setiatinambunan
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
nawasenamerta
 
ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9
mohfedri24
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
SEMUELSAMBOKARAENG
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
gloriosaesy
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
Indah106914
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
kinayaptr30
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
EkoPutuKromo
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
ozijaya
 
Diseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptxDiseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptx
LucyKristinaS
 

Recently uploaded (20)

Kisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docxKisi-kisi soal pai kelas 7 genap 2024.docx
Kisi-kisi soal pai kelas 7 genap 2024.docx
 
untuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawasuntuk observasi kepala sekolah dengan pengawas
untuk observasi kepala sekolah dengan pengawas
 
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdfINDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
INDIKATOR KINERJA DAN FOKUS PERILAKU KS.pdf
 
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrinPatofisiologi Sistem Endokrin hormon pada sistem endokrin
Patofisiologi Sistem Endokrin hormon pada sistem endokrin
 
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdfLaporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
Laporan Kegiatan Pramuka Tugas Tambahan PMM.pdf
 
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
PI 2 - Ratna Haryanti, S. Pd..pptx Visi misi dan prakarsa perubahan pendidika...
 
tugas modul 1.4 Koneksi Antar Materi (1).pptx
tugas  modul 1.4 Koneksi Antar Materi (1).pptxtugas  modul 1.4 Koneksi Antar Materi (1).pptx
tugas modul 1.4 Koneksi Antar Materi (1).pptx
 
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...Modul Projek  - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
Modul Projek - Modul P5 Kearifan Lokal _Menampilkan Tarian Daerah Nusantara_...
 
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptxJuknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
Juknis Pengisian Blanko Ijazah 2024 29 04 2024 Top.pptx
 
Koneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya PositifKoneksi Antar Materi modul 1.4 Budaya Positif
Koneksi Antar Materi modul 1.4 Budaya Positif
 
ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_ppt landasan pendidikan Alat alat pendidikan PAI 9_
ppt landasan pendidikan Alat alat pendidikan PAI 9_
 
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptxBab 3 Sejarah Kerajaan Hindu-Buddha.pptx
Bab 3 Sejarah Kerajaan Hindu-Buddha.pptx
 
ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9ppt materi aliran aliran pendidikan pai 9
ppt materi aliran aliran pendidikan pai 9
 
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdfPaparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
Paparan Kurikulum Satuan Pendidikan_LOKAKARYA TPK 2024.pptx.pdf
 
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBIVISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
VISI MISI KOMUNITAS BELAJAR SDN 93 KOTA JAMBI
 
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
0. PPT Juknis PPDB TK-SD -SMP 2024-2025 Cilacap.pptx
 
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docxRUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
RUBRIK OBSERVASI KINERJA KEPALA SEKOLAH.docx
 
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docxForm B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
Form B8 Rubrik Refleksi Program Pengembangan Kompetensi Guru -1.docx
 
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
SOAL SBDP KELAS 3 SEMESTER GENAP TAHUN PELAJARAN 2023 2024
 
Diseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptxDiseminasi Budaya Positif Lucy Kristina S.pptx
Diseminasi Budaya Positif Lucy Kristina S.pptx
 

Android Fundamentals #1.pptx

  • 2. ● Membuat Project Android ● XML ● View & ViewGroup ● Activity Overview Basic Programming Paradigm
  • 3. ● File -> New -> New Project ● Pilih Empty Activity Membuat Project Android Android Fundamentals
  • 4. ● Masukan name aplikasi, package, lokasi folder, bahasa, dan Mininum SDK Membuat Project Android Android Fundamentals
  • 5. Android Releases dan API Level Android Fundamentals
  • 6. Memilih API Levels Android Fundamentals ● Minimum SDK : API agar perangkat dapat menginstall aplikasi yang kita buat ● Target SDK : versi API dan versi android tertinggi yang akan diuji ● Compile SDK : Versi library OS Android yang digunakan untuk Kompilasi minSdkVersion <= targetSdkVersion <= compileSdkVersion ● Saat rilis baru Android keluar, merupakan praktik yang baik untuk mengkompilasi dan menguji aplikasi Anda dengan versi platform terbaru, dan menaikkan level compile SDK dan target SDK
  • 10. ● Kita dapat mengedit layout aplikasi pada XML ● Android menggunakan XML untuk menentukan tata letak antarmuka pengguna (termasuk atribut View) ● Di dalam sebuah tag View, Anda bisa mengubah beberapa attribute dengan beberapa format berikut. ○ android:<property_name>="@+id/view_id" untuk penulisan id. ○ android:<property_name>="<property_value>" untuk attribute biasa. ○ android:<property_name>="@<resource_type>/resource_id" untuk attribute yang memanggil value dari folder res, seperti string, color, dan dimens. XML File Android Fundamentals
  • 12. Dalam menentukan tinggi dan lebar suatu View, terdapat beberapa alternatif value yang bisa digunakan seperti berikut: ● wrap_content: ukuran menyesuaikan dengan ukuran konten di dalamnya. ● match_parent: ukuran menyesuaikan dengan ukuran parent (View induknya). Apabila di paling luar, berarti mengikuti ukuran layar device- nya. ● fixed size: Anda bisa menentukan ukuran dengan nilai tetap dengan satuan dp. Width dan Height Android Fundamentals
  • 13. Width dan Height Android Fundamentals
  • 14. Padding & Margin Android Fundamentals
  • 16. View & ViewGroup Android Fundamentals ●Pada dasarnya, semua elemen UI di aplikasi Android dibangun menggunakan dua buah komponen inti, yaitu View dan ViewGroup. ●View merupakan komponen yang digunakan untuk berinteraksi dengan pengguna, contoh turunan view : TextView, Button, ImageView, RadioButton, Checkbox, dll. ●ViewGroup merupakan wadah untuk mewadahi objek view agar mudah di atur posisinya
  • 17. View & ViewGroup Android Fundamentals
  • 18. ViewGroup Android Fundamentals ●LinearLayout : Komponen didalamnya diatur secara vertikal atau horizontal ●RelativeLayout: Komponen ditempatkan secara relatif terhadap komponen lainnya. Misal komponen A disimpan di sebelah kanan komponen B atau komponen A rata tengah dengan parentnya ●FrameLayout : Komponen dapat ditempatkan secara bertumpuk dengan komponen view lainnya ●ConstraintLayout : Dengan ConstraintLayout, dapat menyusun tampilan yang kompleks cukup dengan satu lapis hierarki saja. ●ScrollView : digunakan untuk membuat komponen di dalamnya dapat digeser (scroll) secara vertikal maupun horizontal.
  • 21. Constraint Layout Example Android Fundamentals ●Dalam menggunakan constraint layout kita harus mengatur relative positioning constraint ke parent container ●Format: layout_constraint<SourceConstraint>_to<TargetConstraint>Of ● Example attributes on a TextView: ● app:layout_constraintTop_toTopOf="parent" ● app:layout_constraintLeft_toLeftOf="parent"
  • 22. Constraint Layout Example Android Fundamentals <androidx.constraintlayout.widget.ConstraintLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView ... app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
  • 23. Resource Directories Android Fundamentals ●Tambahkan semua file resource yang diperlukan ke dalam folder res main ├── java └── res ├── drawable (Asset gambar, music, dsb) ├── layout (Layout XML untuk aplikasi) ├── mipmap (Icon untuk aplikasi) └── values (file kumpulan string, warna, angka, dan style)
  • 24. Resource ID Android Fundamentals ●Setiap resource memiliki id agar bisa diakses/dipanggil ketika ingin menggunakannya di dalam kode program aplikasi ●Saat memberi nama resource, formatnya adalah menggunakan lowercase dengan underline (misalnya, activity_main.xml). ●Resource yang telah dibuat akan otomatis tergenerate oleh R.java sehingga akan memiliki bentuk id seperti berikut: R.<resource_type>.<resource_name> Contoh: R.drawable.ic_launcher (res/drawable/ic_launcher.xml) R.layout.activity_main (res/layout/activity_main.xml)
  • 25. Resource ID untuk Views Android Fundamentals ●Komponen view juga dapat memiliki id ●Tambahkan attribut android:id di dalam view tag XML. lalu gunakan @+id/(namaid) <TextView android:id="@+id/helloTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> ●Di dalam kode program maka dapat memanggil textView tersebut secara spesifik menggunakan syntax berikut: R.id.helloTextView
  • 27. Activity Android Fundamentals ●Activity merupakan komponen penting Android yang berfungsi untuk menampilkan user interface ke layar pengguna dan mengelola interaksi yang ada di dalamnya. ●Setiap Activity harus terdaftar di AndroidManifest.xml supaya tidak terjadi error. ●Aplikasi Android dapat terdiri dari 1 atau lebih activity
  • 28. Class Activity Android Fundamentals class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } }
  • 30. Membuat View interactive Android Fundamentals ●Pada file activity kita dapat memanipulasi secara dinamis setiap view yang telah kita buat ●Inisialisasi view dengan memanggil id dari view val resultTextView: TextView = findViewById(R.id.textView) ●Panggil properties atau method untuk memodifikasi nilai atau behaviour dari view yang kita buat resultTextView.text = "Goodbye!"
  • 31. Menambahkan Listener Android Fundamentals ●Kita dapat menambahkan listener untuk setiap aksi user yang dilakukan terhadap view yang ada pada aplikasi kita ●Kita hanya perlu mengextend View.OnClickListener agar view yang terdaftar pada activity bisa memberikan callback atau aksi kembalian
  • 32. Menambahkan Listener Android Fundamentals class MainActivity : AppCompatActivity(), View.OnClickListener { override fun onCreate(savedInstanceState: Bundle?) { ... val button: Button = findViewById(R.id.button) button.setOnClickListener(this) } override fun onClick(v: View?) { TODO("not implemented") } }
  • 33. Menambahkan Listener Android Fundamentals ●Untuk mempersingkat penulisan kode kita juga bisa menggunakan SAM (Single Abstract Method) untuk penulisan kode pada listener ●Format: InterfaceName { lambda body } val runnable = Runnable { println("Hi there") } ● Kode diatas sama dengan: val runnable = (object: Runnable { override fun run() { println("Hi there") } })
  • 34. Listener dengan SAM Android Fundamentals class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { ... val button: Button = findViewById(R.id.button) button.setOnClickListener { view -> /* do something*/ } } }
  • 35. Takeaways Android Fundamentals Buatlah sebuah mesin penghitung volume sederhana yang dapat memasukan input dari user dan menampilkan sebuah hasil dari input user tersebut! Kalian juga dapat menambahkan fitur tambahan sesuai dengan kreatifitas masing-masing!
  • 36. Codelab Subtitle Practice what you’ve learned by completing the pathway: DiceRoller App