UBSI FATMAWATI - MOBILE PROGRAMMING 13.4B.02 PERTEMUAN 4






KELAS 13 4B 02
MUHAMMAD MUHLISIN - 13180266


PERTEMUAN 4



KOMPONEN DASAR ANDROID
ACTIVITY


* Pengertian Activity

Activity , merupakan satu komponen yang berhubungan dengan pengguna. Activity menangani window (tampilan) mana yang akan di tampilkan ke dalam interface (antarmuka).
Activity merupakan komponen penting dari aplikasi Android , dan cara aktivitas diluncurkan dan disatukan adalah bagian mendasar dari model aplikasi platform. Tidak seperti paradigma pemrograman di mana aplikasi yang diluncurkan dengan metode main(), sistem Android memulai kode dalam contoh Activity dengan menerapkan metode callback tertentu yang sesuai dengan tahap tahap tertentu pada siklus hidup . Activity merupakan salah satu komponen penting Android yang memiliki daur hidup (life cycle) dalam sebuah stack pada virtual sandbox yang disiapkan oleh Dalvik Virtual Machine (DVM) atau Android Runtime (ART) yang bersifat last in first out Pada implementasinya, activity selalu memiliki satu layout user interface dalam bentuk berkas xml. Suatu aplikasi Android bisa memiliki lebih dari satu activity dan harus terdaftar di berkas AndroidManifest.xml sebagai sub aplikasi .


Life Cycle Activity




Konsep Last In ,  First Out (LIFO)



* Penjelasan

1. Gambar 1
Jika Anda memiliki sebuah aplikasi yang terdiri dari 2 activity , maka activity pertama akan dijalankan setelah pengguna meluncurkan aplikasi melalui ikon aplikasi di layar device. 
Activity yang ada saat ini berada pada posisi activity running setelah melalui beberapa state onCreate ( created ) → onStart started ) → onResume (resumed) dan masuk ke dalam sebuah stack .
Bila pada activity pertama Anda menekan sebuah tombol untuk menjalankan activity kedua, maka posisi state dari activity pertama berada pada posisi stop . Saat itu, callback onStop() pada activity pertama akan dipanggil.
Ini terjadi karena activity pertama sudah tidak berada pada layar foreground / tidak lagi ditampilkan. Semua informasi terakhir pada activity pertama akan disimpan secara otomatis.
Sementara itu , activity kedua masuk ke dalam stack dan menjadi activity terakhir yang masuk .

2. Gambar 2
Activity kedua sudah muncul di layar sekarang. Ketika Anda menekan tombol back pada physical button menu utama atau menjalankan metode finish()finish(), maka activity kedua Anda akan dikeluarkan dari stack Pada kondisi di atas, state activity kedua akan berada pada destroy . Oleh karenanya, metode onDestroy() akan dipanggil. Kejadian keluar dan masuk stack pada proses di atas menandakan sebuah model Last In, First Out Activity kedua menjadi yang terakhir masuk stack Last In ) dan yang paling pertama keluar dari stack First Out .

3. Gambar 3
Activity Pertama akan dimunculkan kembali di layar setelah melalui beberapa state dengan rangkaian callback method yang terpanggil, onStop → onRestart → onStart → onResume.



Latihan Sederhana Penggunaan Activity

Tujuan Latihan :

bertujuan untuk mengimplementasikan komponen activity pada aplikasi pertama yang akan bangun . Harapannya aktifitas ini dapat memberi gambaran yang jelas tentang cara kerja activity.
Logika Dasar Melakukan input ke dalam obyek TextBox → melakukan validasi input → melakukan perhitungan volume balok ketika tombol hitung diklik maka tampil hasil perhitungan .
Berikut flow umumnya .
1. Ngoding Layout untuk user interface aplikasi .
2. Ngoding Activity untuk menambahkan logika aplikasi .



Untuk proses codingan bisa dilihat sbb :

1. Silakan klik tab file activity_main.xml pada workspace Anda ( res/Layout/activity_main.xml ), dan tambahkan baris baris berikut :

< 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"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/acticity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        android:orientation="vertical"
        tools:context="ac.id.Binasaranainformatika.barvolume.MainActivity">
        <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Panjang"
        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
        <EditText
        android:id="@+id/edt_length"
        android:layout_widht="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:lines="l"
        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
        <TextView
        android:layout_widht="match_parent"
        android:layout_height="wrap_content"
        android:text="Lebar"
        android:layout_marginBottom="@dimen/acticity_vertical_margin"/>
        <EditText
        android:id="@+id/edt_widht"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:lines="l"
        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
        <TextView
        android:layout_widht="match_parent"
        android:layout_height="wrap_content"
        android:text="Tinggi"
        android:layout_marginBottom="@dimen/acticity_vertical_margin"/>
        <EditText
        android:id="@+id/edt_height"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="numberDecimal"
        android:lines="l"
        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
        <Button
        android:id="@+id/btn_calculate"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hitung"
        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
        <TextView
        android:id="@+id/tv_result"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Hasil"
android:gravity="center"
        android:textSize="24sp"
        anroid:textStyle="bold"
        android:layout_marginBottom="@dimen/activity_vertical_margin"/>
        android:
</LinearLayout>
     

Akan muncul warning pada atribut android:text pada layout tersebut. Ini karena kita
melakukan hardcoding pada nilai string nya. Mari kita hilangkan code warning tersebut
dengan menekan Alt+Enter pada attribut android:text

Akan muncul dialog seperti ini , pilihlah extract string resource .


Kemudian akan muncul dialog seperti di bawah ini. Sesuaikan dengan nama yang ada .


Komentar

Postingan populer dari blog ini

UBSI FATMAWATI - MOBILE PROGRAMMING 13.4B.02 PERTEMUAN 6

UBSI FATMAWATI - MOBILE PROGRAMMING 13.4B.02 PERTEMUAN 3