• Tidak ada hasil yang ditemukan

Slide IST205 9 Mobile Device Programming Android Studio 2 Android Application Life Cycle

N/A
N/A
Protected

Academic year: 2017

Membagikan "Slide IST205 9 Mobile Device Programming Android Studio 2 Android Application Life Cycle"

Copied!
21
0
0

Teks penuh

(1)

Folder Resources (Res) dan tata

kelolanya

(2)

Capaian Pembelajaran

Memahami Folder Resources dan isinya

Mampu mengakses

Mengenal siklus hidup activity aplikasi

berbasis Android.

Memahami fungsi state pada siklus hidup

activity aplikasi berbasis Android.

Membuat aplikasi berbasis Android yang

(3)

Isi Folder Resources (Res)

Directory

Deskripsi

anim/

Tempat file XML yang berisi definisi property animasi.

Lokasi folder:

res/anim/

Akses melalui: class

R.anim

color/

Tempat file XML yang berisi definisi property warna (color).

Lokasi folder:

res/color/

Akses melalui: class

R.color

drawable/

Tempat file gambar (.png, .jpg, .gif) atau file XML yang

di-compile menjadi bitmap, gambar untuk animasi, dsb.

Lokasi folder:

res/drawable/

Akses melalui: class

R.drawable

layout/

Tempat file XML yang berisi definisi layout UI (user Interface)

Lokasi folder:

res/layout/

Akses melalui: class

R.layout

menu/

Tempat file XML yang berisi definisi menu aplikasi, seperti,

Options Menu, Context Menu, atau Sub Menu.

Lokasi folder:

res/menu/

(4)

Isi Folder Resources (Res)

Directory

Deskripsi

raw/

Tempat menyimpan sembarang (segala) file dalam bentuk

mentah.

Untuk membuka file raw:

callResources.openRawResource()

dengan resource ID:

R.raw.namaFile

values/

Tempat file XML yang berisi nilai (value), seperti; strings,

integers, dan colors.

Berikut adalah aturan penamaan file pada directory ini:

arrays.xml

resource arrays, diakses melalui: class

R.array

integers.xml

resource integers, diakses melalui: class

R.integer

bools.xml

resource boolean, diakses melalui:

class

R.bool

colors.xml

color values, diakses melalui: class

R.color

dimens.xml

dimension values, diakses melalui: class

R.dimen

strings.xml

string values, diakses melalui: class

R.string

styles.xml

styles, diakses melalui: class

R.style

xml/

Tempat menyimpan berbagai file konfigurasi dala bentuk XML

yang dapat dibaca saat runtime.

(5)

Mengakses Resource dari Code Java

Saat aplikasi android di-compile, class R akan dibuat, class R

ini akan berisi semua ID resource yang ada di dalam directory

res/ (termasuk subfoldernya).

Dengan demikian kita dapat mengakses resource dengan :

▫ Menggunakan class R disertai sub-derectory dan nama

resource-nya (nama file maupun name pada tag), contoh:

R.drawable.gambarLogo

Artinya: mengakses file gambarLogo yang berada pada directory

res/drawable/

▫ Menggunakan class R disertai dengan resource ID-nya, contoh:

R.id.setinganGambar

Artinya: mengakses nilai yang didefinisikan dengan ID

setinganGambar pada file yang terdapat di dalam folder res/

atau res/sub-directory/

ImageView imageView = (ImageView) findViewById(

R.id.myimageview

);

imageView.setImageResource(

R.drawable.myimage

);

ImageView imageView

= (

ImageView

)

findViewById

(

R

.

id

.

myimageview

);

(6)

Mengakses Resource dari Code Java

ImageView imageView = (ImageView) findViewById(

R.id.myimageview

);

imageView.setImageResource(R.drawable.myimage);

ImageView imageView

= (

ImageView

)

findViewById

(

R

.

id

.

myimageview

);

imageView

.

setImageResource

(

R

.

drawable

.

myimage

);

Contoh:

<?xml version="1.0" encoding="utf-8"?>

<resources>

<string name="hello">Hello, World!</string>

</resources>

<?

xml version

=

"1.0" encoding

=

"utf-8"

?>

<resources>

<string

name

=

"hello"

>

Hello, World!

</string>

</resources>

Contoh:

TextView msgTextView = (TextView) findViewById(R.id.msg);

msgTextView.setText(R.string.hello);

TextView msgTextView

= (

TextView

)

findViewById

(

R

.

id

.

msg

);

msgTextView

.

setText

(

R

.

string

.

hello

);

Misal suatu file Strings.xml berisi definisi seperti berikut:

Mengakses nilai pada tag

string dengan name:hello

Mengakses nilai pada tag

string dengan name:hello

Mengakses nilai

yang ada pada id

msg

(7)

Mengakses Resource dari XML

<resources>

<

string name="pesan"

>Pesan ini diambil dari di Strings.xml</

string

>

</resources>

<resources>

<

string

name=

"pesan"

>Pesan ini diambil dari di Strings.xml</

string

>

</resources>

Contoh:

<

TextView

android:text="@string/pesan"

android:textColor="@color/colorPrimaryDark"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerVertical="true"

android:layout_centerHorizontal="true"

android:id="@+id/textView"

/>

<

TextView

android

:text=

"@string/pesan"

android

:textColor=

"@color/colorPrimaryDark"

android

:layout_width=

"wrap_content"

android

:layout_height=

"wrap_content"

android

:layout_centerVertical=

"true"

android

:layout_centerHorizontal=

"true"

android

:id=

"@+id/textView"

/>

Misal suatu file

strings.xml

;

@color/colorPrimaryDark ,

artinya: lokasi nilai ada di tag

color dengan name:

colorPrimaryDark

@color/colorPrimaryDark ,

artinya: lokasi nilai ada di tag

color dengan name:

colorPrimaryDark

@string/pesan , artinya: lokasi

nilai ada di tag string dengan

name: pesan

@string/pesan , artinya: lokasi

nilai ada di tag string dengan

name: pesan

<resources>

<

color name="colorPrimary"

>#3F51B5</

color

>

<

color name="colorPrimaryDark"

>#303f9f</

color

>

</resources>

<resources>

<

color

name=

"colorPrimary"

>#3F51B5</

color

>

<

color

name=

"colorPrimaryDark"

>#303f9f</

color

>

</resources>

dan

colors.xml

:

(8)
(9)

State pada Siklus Hidup

Activity

Aplikasi android merupakan aplikasi yang siklus hidupnya

memiliki beberapa state (kondisi).

Berdasarkan diagram siklus hidup aplikasi android di atas

diketahui terdapat beberapa method utama terkait

state

(kondisi) dari activity yang ada pada aplikasi android:

1. onCreate()

2. onStart()

3. onResume()

4. onPause()

5. onStop()

6. onRestart()

7. onDestroy()

Berikut adalah state

lainnya yang tidak memiliki

method:

(10)

Log untuk Debug State Activity

Sistem Android menggunakan sistem terpusat untuk setiap

log.

Log ini juga bisa digunakan untuk mengetahui state suatu

activity pada siklus hidup activity.

Berikut yang harus dilakukan untuk mengakses log:

Import class Log

Import android.util.Log;

Buat di dalam class field TAG (penanda) agar log mudah

dikenali

Pivate static final String TAG="Augury";

Pada method state yang ingin dideteksi, tambahkan method

Log berikut

(11)

Contoh Log untuk Debug State Activity

import

android.util.Log;

public class

MainActivity

extends

Activity {

private static final

String

TAG

=

"KataAugury"

;

@Override

protected void

onCreate(Bundle savedInstanceState) {

super

.onCreate(savedInstanceState);

setContentView(R.layout.

activity_main

);

Log.

i

(

TAG

,

"Method onCreate Jalan"

);

import

android.util.Log;

public class

MainActivity

extends

Activity {

private static final

String

TAG

=

"KataAugury"

;

@Override

protected void

onCreate(Bundle savedInstanceState) {

super

.onCreate(savedInstanceState);

(12)

Monitor Log di Konsol

Untuk memonitor log, gunakan konsol

android monitor.

Akan tampil Konsol seperti di bawah ini:

Click

Android Monitor

pada tab paling bawah di

IDE

Click

Android Monitor

pada tab paling bawah di

IDE

Click

dan pilih

Edit Filter Configuration, akan

tampil dialog spt pada slide berikut ini.

Click

dan pilih

Edit Filter Configuration, akan

tampil dialog spt pada slide berikut ini.

Click

dan pilih

Info

pada Monitors, sesuai method Log

yang kita gunakan.

Dalam hal ini info, karena kita menggunakan

Log.i( )

Click

dan pilih

Info

pada Monitors, sesuai method Log

yang kita gunakan.

(13)

Monitor Log di Konsol

Dialog yang tampil setelah pilih Edit

Filter Configuration:

Nama filter

yang akan

kita buat

Nama filter

yang akan

kita buat

Isi dengan String yang kita isi pada field

string TAG.

Misal data field:

private static final String TAG =

"KataAugury";

Isi dengan String yang kita isi pada field

string TAG.

Misal data field:

(14)

Monitor Log di Konsol

Dialog yang tampil setelah pilih Edit

Filter Configuration:

Pilih nama

filter yang

sebelumnya

kita buat

Pilih nama

filter yang

sebelumnya

kita buat

Tampilan konsol sesuai filter yang kita

tentukan, yaitu; hanya menampilkan

info yang mengandung kata:

KataAugury

Tampilan konsol sesuai filter yang kita

tentukan, yaitu; hanya menampilkan

info yang mengandung kata:

(15)

Activity State

Monitor saat activity pertama kali jalan:

… com.contoh.augury.aplikasi2 I/KataAugury: Method

onCreate Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method

onStart Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method

onResume Jalan

Monitor kalau tombol home ditekan,

meninggalkan Activity:

(16)

Activity State

Monitor saat activity dijalankan lagi melalui menu history aplikasi:

… com.contoh.augury.aplikasi2 I/KataAugury: Method onCreate Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onStart Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onResume Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onPause Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onStop Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onRestart Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onStart Jalan

… com.contoh.augury.aplikasi2 I/KataAugury: Method onResume Jalan

Monitor kalau tombol back ditekan, keluar dari Activity:

(17)

TIPS - Log untuk Debug State Activity

Sistem Android menggunakan sistem terpusat untuk setiap

log.

Log ini juga bisa digunakan untuk mengetahui state suatu

activity pada siklus hidup activity.

Berikut yang harus dilakukan untuk mengakses log:

Import class Log

Import android.util.Log;

Buat di dalam class field TAG (penanda) agar log mudah

dikenali

Pivate static final String TAG="Augury";

Pada method state yang ingin dideteksi, tambahkan method

Log berikut

(18)

Log Method

Method yang bisa digunakan pada log:

Log.v()

verbose

Segala sesuatu hal akan di-log

Log.d()

debug

Untuk keperluan debug (nilai variable akan di-log)

Log.i()

info

Untuk me-log informasi yang diperlukan, contoh; menampilkan

informasi sukses saat koneksi ke server berhasil.

Log.w()

warning

Untuk me-log warning

Log.e()

error

Untuk me-log error

(19)

TIPS - Auto Generate Method

Alt+Insert

Akan tampil menu seperti dibawah,

(20)
(21)

Referensi

Android Tutorial: Simply Easy Learning

by tutorialspoint.com

TheNewBoston YouTube Playlist: Android

App Development for Beginners Playlist.

https://

Referensi

Dokumen terkait

Kurangnya pembinaan dan pengarahan terhadap bahaya penyalahgunaan narkotika, dan maraknya fasilitas hiburan masyarakat yang merangsang timbulnya peredaran

Kriteria ternak yang dipilih adalah sapi bunting, laktasi dan sehat(tidak terkena mastitis). Variabel dalam penelitian ini ada lima, terbagi menjadi dua jenis,

Subsistem ini memasukkan satu database yang berisi data yang relevan untuk.. suatu situasi dan dikelola oleh perangkat lunak yang disebut

Furt her st udy is recomm ended in t he perm anent plot t o generat e clearer dat a, especially t he accum ulat ion of carbon quant it y in rot at ional fields

Untuk menganalisis pengaruh Kebutuhan Aktualisasi Diri, Kebutuhan Penghargaan dan Kebutuhan Sosial terhadap Prestasi Kerja Pegawai pada Divisi Kredit dan Divisi Ritel Kantor Pusat

Berdasarkan hasil penelitian yang dilakukan bahwa hambatan dalam pelaksanaan pengeolahan data di Puskesmas Lepo-lepo ada hambatan yaitu kurangnya pelatihan dari Dinas

Imam Sya‟ Roni Dziya‟Urrokhman, Perlindungan Hukum Karya Cipta Buku Ditinjau dari Undang-undang Nomor 19 Tahun 2002 tentang Hak Cipta,. Tesis, Fakultas

Tidak ada pengaruh media permainan engklek terhadap peningkatan sikap siswa kelas IV tentang pencegahan penyakit diare sebelum dan sesudah intervensi di SDN 2 Laeya