SlideShare uma empresa Scribd logo
1 de 36
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

Mais conteúdo relacionado

Semelhante a Android Fundamentals #1.pptx

Pertemuan 7 camera
Pertemuan 7 cameraPertemuan 7 camera
Pertemuan 7 cameraheriakj
 
Modul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoModul praktikum 16 - Android Sudaryatno
Modul praktikum 16 - Android SudaryatnoYatno Sudar
 
Belajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukBelajar Android Membuat Katalog Produk
Belajar Android Membuat Katalog ProdukAgus Haryanto
 
Ebook Workshop Dasar android
Ebook Workshop Dasar androidEbook Workshop Dasar android
Ebook Workshop Dasar androidSaeful 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.pptxMohammad Faried Rahmat
 
Pemrograman aplikasi android
Pemrograman aplikasi androidPemrograman aplikasi android
Pemrograman aplikasi androidMdeno Akbar
 
Build your first app
Build your first appBuild your first app
Build your first appRafi 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.pdfHendroGunawan8
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application developmentGoogle
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming TutorialDimas Prawira
 
Pertemuan 01 - Pengantar Android.docx
Pertemuan 01 - Pengantar Android.docxPertemuan 01 - Pengantar Android.docx
Pertemuan 01 - Pengantar Android.docxHendroGunawan8
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoYatno Sudar
 
Pengenalan App Inventor.pptx
Pengenalan App Inventor.pptxPengenalan App Inventor.pptx
Pengenalan App Inventor.pptxDediPratmoSihite
 
[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktop[PBO] Pertemuan 11 - GUI Java Desktop
[PBO] Pertemuan 11 - GUI Java Desktoprizki 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
 

Semelhante a 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]
 

Último

1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...MetalinaSimanjuntak1
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSovyOktavianti
 
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi  Profil Pelajar Pancasila.pdfaksi nyata sosialisasi  Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi Profil Pelajar Pancasila.pdfsdn3jatiblora
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMIGustiBagusGending
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxSlasiWidasmara1
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatanssuser963292
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdfsdn3jatiblora
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptAgusRahmat39
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfWidyastutyCoyy
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfNurulHikmah50658
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...asepsaefudin2009
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxadimulianta1
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfirwanabidin08
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikaAtiAnggiSupriyati
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidupfamela161
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdfanitanurhidayah51
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptPpsSambirejo
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaafarmasipejatentimur
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTIndraAdm
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxdeskaputriani1
 

Último (20)

1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
1.3.a.3. Mulai dari Diri - Modul 1.3 Refleksi 1 Imajinasiku tentang Murid di ...
 
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptxSesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
Sesi 1_PPT Ruang Kolaborasi Modul 1.3 _ ke 1_PGP Angkatan 10.pptx
 
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi  Profil Pelajar Pancasila.pdfaksi nyata sosialisasi  Profil Pelajar Pancasila.pdf
aksi nyata sosialisasi Profil Pelajar Pancasila.pdf
 
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMMAKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
AKSI NYATA BERBAGI PRAKTIK BAIK MELALUI PMM
 
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptxMODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
MODUL P5 KEWIRAUSAHAAN SMAN 2 SLAWI 2023.pptx
 
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi SelatanSosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
Sosialisasi PPDB SulSel tahun 2024 di Sulawesi Selatan
 
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf2 KISI-KISI Ujian Sekolah Dasar  mata pelajaranPPKn 2024.pdf
2 KISI-KISI Ujian Sekolah Dasar mata pelajaranPPKn 2024.pdf
 
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.pptppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
ppt-akhlak-tercela-foya-foya-riya-sumah-takabur-hasad asli.ppt
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdfMODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
MODUL 1 Pembelajaran Kelas Rangkap-compressed.pdf
 
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
Materi Sosiologi Kelas X Bab 1. Ragam Gejala Sosial dalam Masyarakat (Kurikul...
 
Perumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptxPerumusan Visi dan Prakarsa Perubahan.pptx
Perumusan Visi dan Prakarsa Perubahan.pptx
 
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdfREFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
REFLEKSI MANDIRI_Prakarsa Perubahan BAGJA Modul 1.3.pdf
 
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ikabab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
bab 6 ancaman terhadap negara dalam bingkai bhinneka tunggal ika
 
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk HidupUT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
UT PGSD PDGK4103 MODUL 2 STRUKTUR TUBUH Pada Makhluk Hidup
 
Modul Projek - Batik Ecoprint - Fase B.pdf
Modul Projek  - Batik Ecoprint - Fase B.pdfModul Projek  - Batik Ecoprint - Fase B.pdf
Modul Projek - Batik Ecoprint - Fase B.pdf
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
HiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaaHiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
Hiperlipidemiaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Keterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UTKeterampilan menyimak kelas bawah tugas UT
Keterampilan menyimak kelas bawah tugas UT
 
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptxPendidikan-Bahasa-Indonesia-di-SD MODUL 3 .pptx
Pendidikan-Bahasa-Indonesia-di-SD MODUL 3 .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