SlideShare a Scribd company logo
1 of 18
Download to read offline
Materi Mobile Programming (Pertemuan III) ​ ​Universitas Pamulang
PERTEMUAN 3:
ACTIVITY
A. TUJUAN PEMBELAJARAN
Pada bab ini akan mahasiswa diharapkan mampu:
3.1 Mengetahui Kegunaan Activity
3.2 Membuat project dengan memanfaatkan activity
B. URAIAN MATERI
Tujuan Pembelajaran 3.1:
Mengetahui Kegunaan Activity
Activity adalah salah satu komponen aplikasi android yang digunakan untuk
menyediakan sebuah layar bagi user agar dapat berinteraksi dengan aplikasi, misalnya
mengirim SMS (Short Message Service), menelepon, mengambil foto, mengirim email,
melihat peta, dan lain-lain. Setiap activity memiliki window sebagai tempat meletakkan
user interface. Window tersebut biasanya memenuhi layar, bisa juga lebih kecil dari layar
dan melayang di atas window lain.
Sebuah aplikasi dapat terdiri dari satu atau lebih activity, biasanya aplikasi dibuat
dengan beberapa activity yang satu sama lain terikat secara longgar. Biasanya, satu activity
dalam sebuah aplikasi dikhususkan sabagai activity "main" (utama), yang mana akan
ditampilkan kepada user di saat aplikasi dijalankan pertama kali. Setiap activity kemudian
bisa menjalankan activity lain untuk melakukan pekerjaan yang berbeda. Setiap kali ada
activity baru dijalankan, activity sebelumnya dihentikan, tetapi sistem menyimpan activity
tersebut di dalam "tumpukan" (stack). Ketika sebuah activcity dimulai, activity tersebut
ditempatkan ditempatkan paling atas pada stack dan mendapatkan fokus dari user. Prinsip
antrian stack pada dasarnya menggunakan prinsip “yang pertama masuk adalah yang
terakhir keluar" (last in first out), jadi ketika user selesai dengan sebuah activity dan
menekan tombol KEMBALI, activity tersebut dikeluarkan dari stack (dan dihancurkan)
dan activity pada stack di bawahnya dikembalikan.
Ketika sebuah activity dihentikan karena ada activity baru yang dimulai, perubahan
keadaan ini dinotifikasikan melalui siklus metode pemanggilan kembali activity. Terdapat
beberapa metode pemanggilan kembali yang bisa diterima oleh activity, karena adanya
perubahan keadaan dan setiap metode pemanggilan kembali menyediakan kita kesempatan
untuk melakukan pekerjaan yang lebih spesifik yang sesuai dengan perubahan keadaan
activity tersebut. Sebagai contoh, ketika activity berhenti, activity tersebut harus
melepaskan obyek yang besar, misalnya koneksi jaringan atau database. Ketika activity
dimulai kembali, kita bisa memperoleh kembali sumber daya yang dibutuhkan dan
memulai kembali kegiatan yang diinterupsi. Transisi keadaan ini adalah bagian dari siklus
hidup activity.
Membuat Activity
Untuk membuat sebuah activity, kita harus membuat sebuah subclass dari activity
(atau subclass yang sudah ada). Dalam subclass yang dibuat, kita harus
mengimplementasikan metode pemanggilan kembali yang akan dipanggil sistem pada saat
transisi antar state (keadaan) yang bervariasi dari siklus hidupnya, misalnya ketika activiti
sedang dibuat, dihentikan, dikembalikan, atau dihancurkan. Metode pemanggilan kembali
yang paling penting ada dua, yaitu: a. onCreate()
Kita harus mengimplementasikan metode ini. Sistem akan memanggil metode ini
ketika membuat activity. Dalam implementasi kita, kita harus
menginisialisasikan komponen-komponen penting dari activity kita. Yang paling
penting, di sinilah kita harus memanggil metode setContentView() untuk
mendefinisikan layout dari user interface activity.
b. onPause()
Sistem akan memanggil metode ini sebagai indikasi pertama bahwa user sedang
meninggalkan activity kita (meskipun tidak selalu activity tersebut akan
dihancurkan). Di sinilah biasanya kita harus melakukan perubahan yang mesti
bertahan diluar sesi user yang sekarang. (karena user mungkin tidak akan
kembali). terdapat beberapa siklus metode pemanggilan kembali yang harus kita
gunakan untuk menyediakan pengalaman user interface yang halus dan lancar
antar activity dan menangani interupsi yang tidak diinginkan yang dapat
menghentikan activity atau bahkan dapat menghancurkan activity.
Menjalankan Activity
Kita bisa menjalankan activity dengan memanggil method startActivity(),
memberikan activity tersebut sebuah Intent yang menggambarkan activity yang ingin kita
jalankan. Intent akan memberitahukan nama activity atau bisa juga tipe aksi seperti apa
yang ingin dijalankan, dan kemudian sistem akan memilih activity yang sesuai untuk
keingin kita, bisa saja activity tersebut berasal dari aplikasi lain. Intent bisa juga membawa
sejumlah kecil data yang akan digunakan oleh activity yang dijalankan.
Ketika kita bekerja dalam aplikasi kita sendiri, kita lebih sering menjalankan
activity yang sudah diketahui. Kita juga bisa melakukan hal ini dengan cara membuat
intent yang secara eksplisit menggambarkan activity yang ingin dijalankan, menggunakan
nama class. Contoh di bawah ini, bagaimana sebuah activity menjalankan activity lain yang
bernama NamaClass.
Intent intent = new Intent(this, NamaClass.class);
startActivity(intent);
Namun bagaimanapun, aplikasi kita mungkin ingin melakukan beberapa pekerjaan,
misalnya mengirimkan email, mengirimkan sms, atau update status, menggunakan data
dari activity kita. Dalam hal ini , aplikasi kita mungkin tidak memiliki activity sendiri untuk
melakukan pekerjaan tersebut, sehingga kita perlu menggunakan activity milik aplikasi lain
dalam perangkat kita, yang bisa melakukan pekerjaan yang kita diinginkan. Di sinilah
intent sangat bermanfaat, kita bisa membuat intent yang menggambarkan pekerjaan seperti
apa yang ingin kita lakukan, dan sistem kemudian akan menjalankan activity yang sesuai
dari aplikasi lain. Jika ada beberapa activity yang bisa menangani intent tersebut, maka
user akan diminta memilih activity mana yang akan digunakan. Sebagai contoh, jika kita
ingin agar user bisa mengirim sebuah email, kita bisa membuat intent seperti berikut ini.
Intent intent = new Intent(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_EMAIL, recipientArray);
startActivity(intent);
Tambahan ekstra berupa EXTRA_EMAIL yang ditambahkan ke intent adalah
sebuah string array dari alamat email tujuan pengiriman email tersebut. Ketika sebuah
aplikasi email merespon terhadap intent ini, aplikasi email tersebut akan membaca string
array yang diberikan oleh ekstra dan menempatkannya di pengisian "kepada" dari
komposisi form email. Dalam situasi ini, activity dari aplikasi email dijalankan, dan ketika
user selesai, akan kembali ke activity dari aplikasi kita.
Mengatur Siklus Hidup Activity
Mengatur siklus hidup activity dengan menerapkan callback method ( metode
pemanggilan kembali) sangatlah krusial dalam pengembangan aplikasi yang kuat dan
fleksibel. Siklus hidup dari sebuah activity terpengaruh secara langsung oleh hubungan
activity tersebut dengan activity lain, tugasnya (task), dan tumpukan pada memori (back
stack).
Sebuah activity bisa exist dalam tiga keadan pokok, yaitu: a.
Resumed (Dijalankan)
Activity sedang berada pada bagian terdepan (foreground) layar, dan
mendapatkan fokus dari user. Keadaan ini terkadang juga dianggap "running"
atau sedang berjalan.
b. Paused (Didiamkan)
Activity lain sedang berada di foreground dan activity tersebut mendapatkan
fokus, tapi activity yang ini masih bisa dilihat. Dalam hal ini, activity lain sedang
terlihat dan berada di atas activity yang ini dan activity tersebut memiliki layout
transparan atau tidak menutupi seluruh layar. Activity yang di-paused masih
hidup seutuhnya (object dari acitivity tetap tinggal di memori, tetap menjaga
semua keadaan dan informasi yang dimiliki, dan tetap tersambung dengan
window manager), tapi bisa di-kill oleh sistem pada situasi ketika memori yang
tersedia sangat kurang.
c. Stopped (Dihentikan)
Activity ini sedang dihalangi sepenuhnya oleh activity lain (activity sekarang
berada di background). Activity yang di-stop juga msih hidup, object activity
masih tersimpan di memori, masih menjaga keadaan dan semua informasi, tapi
tidak tersambung dengan window manager. bagaimanapun juga, activity ini tidak
lagi terlihat oleh user dan bisa di-kill oleh sistem sewaktu-waktu jika memori
dibutuhkan untuk proses lain.
Jika sebuah activity di-stop atau di-pause, sistem menghapusnya dari memori
dengan memintanya untuk berhenti (dengan memanggil method finish()), atau cukup
mematikan prosesnya. Ketika activity ingin dimulai lagi (setelah dihentikan atau
dimatikan), maka activity tersebut harus di-create dari awal lagi.
Tujuan Pembelajaran 3.2:
Membuat project dengan memanfaatkan activity
Untuk membuat project baru, klik menu File >> New >> Other... sehingga tampil
kotak dialog seperti gambar 3.1 berikut ini:
Gambar 3. 1 Kotak dialog membuat project baru
Pilih Android Application Project di dalam folder Android, kemudian klik tombol
Next. Setelah tampil kotak dialog pengaturan seperti gambar 3.2, beri nama aplikasi
“MateriActivity”, dan pada nama package ubah “example” menjadi “unpam”. Tentukan
versi android SDK (Software Development Kit) untuk aplikasi yang akan dibuat pada menu
dropdown Build SDK, dan minimum required SDK.
Gambar 3. 2 Kotak dialog pengaturan project
Setelah pengaturan nama aplikasi, nama project, nama package, dan SDK dari
aplikasi, klik tombol Next untuk melanjutkan sehingga tampil kotak dialog seperti gambar
3.3. Atur icon dari aplikasi yang akan dibuat, bisa menggunakan image, clipart, maupun
text. Atur bentuk dan warna dari icon jika diperlukan, jika sudah selesai lanjutkan dengan
mengklik tombol Next.
Gambar 3. 3 Pengaturan icon aplikasi
Gambar 3. 4 Memilih jenis Activity
Pilih Blank Activity untuk jenis Activity dari aplikasi yang akan dibuat. Lanjutkan
dengan mengklik tombol Next. Ubah judul (Title) aplikasi menjadi “Materi Activity”.
Gambar 3. 5 Mengatur nama dan judul activity
Klik tombol Finish untuk mengakhiri pengaturan pembuatan aplikasi. Tunggu
beberapa saat sampai tampil desain aplikasi seperti gambar 3.6. Jika jendela yang tampil
tidak sama, dapat diatur dari menu Window >> Show View dan pilih jendela yang ingin
ditampilkan. Jika ingin mengubah tampilan ke bentuk standar, dapat dilakukan melalui
menu Window >> Reset Perspective.
Gambar 3. 6 Tampilan IDE aplikasi android
Hapus TextView (teks “Hello Word!”), tambahkan LinearLayout (Horizontal) di
sudut kiri atas, kemudian di dalamnya tambahkan Medium. Tambahkan komponen
TextView dan EditText di dalam linear layout (vertical), Tambahkan komponen TextView
dan EditText (Password) di dalam linear layout (vertical), dan dua buah Button di dalam
linear layout (horizontal). Atur desain tampilan menjadi seperti gambar 3.7 dan desain
outline menjadi seperti gambar 3.8.
Gambar 3. 7 Graphical layout activity_main.xml
Ubah ID dari EditText dan Button dengan cara klik kanan >> EditID, sehingga
outline menjadi seperti berikut ini:
Gambar 3. 8 Outline activity_main.xml
Desain activity dapat juga diatur melalui source code XML sebagai berikut:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
<RelativeLayout 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" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Form Login"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1"
​
aries.saifudin@yahoo.co.id (2012-2013) ​ ​page 1 of 22
Modul Mobile Programming
android:orientation="vertical" >
<TextView
android:id="@+id/textView2" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User Name" />
<EditText
android:id="@+id/userNameEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true" android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout2"
android:orientation="vertical" >
<TextView
android:id="@+id/textView3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Password" />
<EditText
android:id="@+id/passwordEditText"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:inputType="textPassword"
/>
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout3" >
<Button
android:id="@+id/loginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="3"
android:text="Login" />
<Button
android:id="@+id/tutupButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Tutup" />
</LinearLayout>
</RelativeLayout>
Selanjutnya tambahkan activity baru dengan cara klik kanan pada project, pilih
New dan Other (atau Ctrl+N) sehingga tampil kotak dialog seperti gambar 3.9 berikut ini:
Gambar 3. 9 Menambahkan activity baru
Klik tombol Next, pada kotak dialog seperti gambar 3.10 ubah nama activity
menjadi “SuccessActivity” dan ubah judul menjadi “Login Success”.
Gambar 3. 10 Pengaturan activity
Klik tombol Finish untuk mengakhiri pengaturan nama dan judul Activity.
Selanjutnya atur layout activity_success menjadi seperti gambar 3.11 dan 3.12 berikut ini:
Gambar 3. 11 Graphical layout activity_success.xml
Gambar 3. 12 Outline activity_success.xml
Source code activity_success.xml:
<RelativeLayout 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" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:orientation="vertical" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Selamat Datang" />
<TextView
android:id="@+id/namaUserTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Nama User"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1" >
<Button
android:id="@+id/logoutButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Logout" />
</LinearLayout>
</RelativeLayout>
Dengan cara yang sama tambahkan activity_failed.xml.
Gambar 3. 13 Pengaturan activity
Gambar 3. 14 Graphical layout activity_failed.xml
Gambar 3. 15 Outline activity_failed.xml
Source code activity_failed.xml:
<RelativeLayout 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" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true" >
<TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="User name atau password salah"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/linearLayout1" >
<Button
android:id="@+id/kembaliButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Kembali" />
</LinearLayout>
</RelativeLayout>
Setelah selesai mengatur desain activity, selanjutnya menambahkan source code
java. Pertama double klik file FailedActivity.java yang berada di project dalam folder src
>> com.unpam.materiactivity, sehingga menjadi seperti berikut ini:
package com.unpam.materiactivity;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
public class FailedActivity extends Activity implements OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_failed);
findViewById(R.id.kembaliButton).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_failed, menu);
return true;
}
​public void onClick(View v) {
​ ​// TODO Auto-generated method stub
​ ​switch (v.getId()){ ​
​case R.id.kembaliButton:
​ ​ ​finish();
​ ​}
​}
}
​Kedua, ​dengan ​cara ​yang ​sama ​tambahkan
​Kedua, ​dengan ​cara ​yang ​sama ​tambahkan
​source ​code ​untuk ​file SuccessActivity.java menjadi:
package com.unpam.materiactivity;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class SuccessActivity extends Activity implements
OnClickListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_success);
TextView namaUserTV = (TextView) findViewById(R.id.namaUserTextView);
namaUserTV.setText (getIntent().getExtras().getString("namaUser"));
findViewById(R.id.logoutButton).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_success, menu);
return true;
}
​public void onClick(View v) {
​ ​// TODO Auto-generated method stub
​ ​switch (v.getId()){ ​
​case R.id.logoutButton:
​ ​ ​finish();
​ ​}
​}
}
Ketiga, tambahkan source code di dalam file MainActivity.java sehingga menjadi
seperti berikut ini:
package com.unpam.materiactivity;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;
public class MainActivity extends Activity implements OnClickListener{
private String[][] dataUser = {{"ADMIN","ADMIN","Administrator"},
​ ​ ​{"user1","password1","Nama User 1"},
​ ​ ​ {"user2","password2","Nama User
2"}};
​private EditText userNameET, passwordET;
​private final int SUCCESS=1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userNameET = (EditText) findViewById(R.id.userNameEditText);
passwordET = (EditText) findViewById(R.id.passwordEditText);
findViewById(R.id.loginButton).setOnClickListener(this);
findViewById(R.id.tutupButton).setOnClickListener(this);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void onClick(View v) {
​ ​// TODO Auto-generated method stub
​ ​switch (v.getId()){
​ ​ case R.id.loginButton:
​ ​ int i=0;
​ boolean success=false;
​ ​ ​
​ ​while ((i<dataUser.length) && (!success)){
​ ​ ​if
((userNameET.getText().toString().equals(dataUser[i][0])) &&
​ ​ ​ ​
​(passwordET.getText().toString().equals(dataUser[i]
[1]))){ ​ ​ ​ ​ ​success=true;
​ ​ ​ ​} else {
​ ​ ​ ​ ​i++;
​ ​ ​ ​}
​ ​ ​}
​ ​ ​
​ ​ ​Intent intent;
​ ​ if (success){
​ intent = new Intent(this, SuccessActivity.class); ​ ​ ​
​intent.putExtra("namaUser", dataUser[i][2]);
​ startActivityForResult(intent,SUCCESS);
​ ​} else {
​ ​ ​ intent = new Intent(this, FailedActivity.class);
​ ​ ​ startActivity(intent);
​ }
​ ​ startActivity(intent);
​ ​ ​break; ​
​case R.id.tutupButton:
​ ​ ​System.exit(0);
​ ​}
​}
​
​@Override
​public void onActivityResult(int requestCode, int resultCode, Intent data){
​ ​switch (requestCode) {
​ ​case SUCCESS:
​ ​ ​userNameET.setText(""); ​ ​
​passwordET.setText("");
​ ​ ​break;
​ ​}
​}
}
Tujuan Pembelajaran 3.3:
Menjalankan Aplikasi
Untuk mengeksekusi, klik kanan pada nama project atau pilih menu Run, kemudian
pilih Run As >> Android Application.
Jika kita lihat di daftar aplikasi seperti pada gambar 3.16, maka akan terlihat 3 icon
aplikasi baru, yaitu Materi Activity, Login Success, dan Login Failed. Agar aplikasi yang
kita buat hanya menampilkan satu icon aplikasi, double klik file AndroidManifest.xml di
dalam project seperti pada gambar 3.17, kemudian klik tab AndroidManifest.xml yang
berada pada bagian bawah seperti pada gambar 3.18, hapus tag intent-filter untuk
SuccessActivity dan FailedActivity sehingga source code-nya menjadi seperti berikut ini:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.unpam.materiactivity"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".SuccessActivity"
android:label="@string/title_activity_success" >
</activity>
<activity
android:name=".FailedActivity"
android:label="@string/title_activity_failed" >
</activity>
</application>
</manifest>
Gambar 3. 16 Tampilan daftar aplikasi
Gambar 3. 17 Project explorer
Gambar 3. 18 Android manifest
Tampilan Aplikasi
Tampilan aplikasi yang telah dibuat pada AVD (Android Virtual Device) adalah
sebagai berikut:
Gambar 3. 19 Tampilan MainActivity di AVD
Gambar 3. 20 Tampilan FailedActivity di AVD
Gambar 3. 21 Tampilan SuccessActivity di AVD
C. LATIHAN SOAL/TUGAS
Buatlah halaman login yang menampilkan halaman lainnya seperti halaman utama,
contoh login email yang menampilkan halaman inbox!
​
59
Modul Mobile Programming
D. DAFTAR PUSTAKA
Allen, Grant. 2012. Beginning Android 4. New York : Apress.
Safaat, H. Nazruddin. 2015. ANDROID Pemrograman Aplikasi Mobile Smartphone dan
Tablet PC Berbasis Android. Bandung: Informatika
59

More Related Content

What's hot

Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toastheriakj
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasiahmad haidaroh
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVCrizki adam kurniawan
 
Modul Tutorial Membuat Class pada Visual Studio 2010
Modul Tutorial Membuat Class pada Visual Studio 2010Modul Tutorial Membuat Class pada Visual Studio 2010
Modul Tutorial Membuat Class pada Visual Studio 2010Choi Melia
 
Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 ahmad haidaroh
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerAuliaa Oktarianii
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3aiiniR
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskheriakj
 
Aplikasi bengkel sederhana berbasis desktop dengan java
Aplikasi bengkel sederhana berbasis desktop dengan javaAplikasi bengkel sederhana berbasis desktop dengan java
Aplikasi bengkel sederhana berbasis desktop dengan javaAgung Sulistyanto
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiq R. Pratama
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat LunakMrirfan
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOahmad haidaroh
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
IMK - Strategi Banyak Window
IMK - Strategi Banyak WindowIMK - Strategi Banyak Window
IMK - Strategi Banyak Windownadiapreviani
 

What's hot (20)

Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 
Ragam dialog
Ragam dialogRagam dialog
Ragam dialog
 
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
[PBO] Pertemuan 13 - Membuat Aplikasi Desktop dengan JDBC DAO MVC
 
Modul Tutorial Membuat Class pada Visual Studio 2010
Modul Tutorial Membuat Class pada Visual Studio 2010Modul Tutorial Membuat Class pada Visual Studio 2010
Modul Tutorial Membuat Class pada Visual Studio 2010
 
Use skenario
Use skenarioUse skenario
Use skenario
 
Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7 Notasi Bahasa - P 5,6,7
Notasi Bahasa - P 5,6,7
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Testing&implementasi 3
Testing&implementasi 3Testing&implementasi 3
Testing&implementasi 3
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntask
 
Aplikasi bengkel sederhana berbasis desktop dengan java
Aplikasi bengkel sederhana berbasis desktop dengan javaAplikasi bengkel sederhana berbasis desktop dengan java
Aplikasi bengkel sederhana berbasis desktop dengan java
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
SLIDE KE:5 NFA
SLIDE KE:5 NFASLIDE KE:5 NFA
SLIDE KE:5 NFA
 
Laporan tugas struktur data
Laporan tugas struktur dataLaporan tugas struktur data
Laporan tugas struktur data
 
MudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java DesktopMudafiqRiyan - MVC-DAO Java Desktop
MudafiqRiyan - MVC-DAO Java Desktop
 
04 Testing Perangkat Lunak
04 Testing Perangkat Lunak04 Testing Perangkat Lunak
04 Testing Perangkat Lunak
 
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBOContext Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
Context Free Grammar (CFG) Bagian 2 - Materi 7 - TBO
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
IMK - Strategi Banyak Window
IMK - Strategi Banyak WindowIMK - Strategi Banyak Window
IMK - Strategi Banyak Window
 

Similar to Pertemuan 3 activity

02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptx02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptxZenDejavu
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetEdi Faizal
 
Mobile Programming
Mobile Programming Mobile Programming
Mobile Programming EsterLumba
 
Pemrograman Bergerak Diskusi 3.pdf
Pemrograman Bergerak Diskusi 3.pdfPemrograman Bergerak Diskusi 3.pdf
Pemrograman Bergerak Diskusi 3.pdfHendroGunawan8
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoYatno Sudar
 
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventorSeri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventorIki Mazadi
 
Fundamental
FundamentalFundamental
FundamentalArvy Ayren
 
Object Oriented
Object OrientedObject Oriented
Object OrientedAsep Suhendar
 
Projek asti(b) revisi
Projek asti(b) revisiProjek asti(b) revisi
Projek asti(b) revisiPande Narendra
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingRolly Yesputra
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application developmentGoogle
 
Remote pemantau webcam berbasis aplikasi j2me
Remote pemantau  webcam  berbasis aplikasi j2meRemote pemantau  webcam  berbasis aplikasi j2me
Remote pemantau webcam berbasis aplikasi j2meDwi Fahmi
 
Pemrograman android
Pemrograman androidPemrograman android
Pemrograman androidMIqbalNasution
 
F 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriF 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriSyarif Fudin
 
Jeni Web Programming Bab 7 Mvc Intro
Jeni Web Programming Bab 7 Mvc IntroJeni Web Programming Bab 7 Mvc Intro
Jeni Web Programming Bab 7 Mvc IntroIndividual Consultants
 

Similar to Pertemuan 3 activity (20)

02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptx02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptx
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
 
Mobile Programming
Mobile Programming Mobile Programming
Mobile Programming
 
Pemrograman Bergerak Diskusi 3.pdf
Pemrograman Bergerak Diskusi 3.pdfPemrograman Bergerak Diskusi 3.pdf
Pemrograman Bergerak Diskusi 3.pdf
 
Jeni Web Programming Bab 9 Jsf
Jeni Web Programming Bab 9 JsfJeni Web Programming Bab 9 Jsf
Jeni Web Programming Bab 9 Jsf
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android Sudaryatno
 
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventorSeri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
 
Fundamental
FundamentalFundamental
Fundamental
 
Object Oriented
Object OrientedObject Oriented
Object Oriented
 
Projek asti(b) revisi
Projek asti(b) revisiProjek asti(b) revisi
Projek asti(b) revisi
 
Android Workshop beginner
Android Workshop beginnerAndroid Workshop beginner
Android Workshop beginner
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
 
Pertemuan 4 MoProg.pptx
Pertemuan 4 MoProg.pptxPertemuan 4 MoProg.pptx
Pertemuan 4 MoProg.pptx
 
Fundamental android application development
Fundamental android application developmentFundamental android application development
Fundamental android application development
 
Remote pemantau webcam berbasis aplikasi j2me
Remote pemantau  webcam  berbasis aplikasi j2meRemote pemantau  webcam  berbasis aplikasi j2me
Remote pemantau webcam berbasis aplikasi j2me
 
Pemrograman android
Pemrograman androidPemrograman android
Pemrograman android
 
Bab ii
Bab iiBab ii
Bab ii
 
F 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajriF 10011543 fathorazi nur fajri
F 10011543 fathorazi nur fajri
 
Jeni Web Programming Bab 7 Mvc Intro
Jeni Web Programming Bab 7 Mvc IntroJeni Web Programming Bab 7 Mvc Intro
Jeni Web Programming Bab 7 Mvc Intro
 
Pem multimedia
Pem multimediaPem multimedia
Pem multimedia
 

Recently uploaded

Jual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan Konsultasissupi412
 
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptxPPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptxrisyadmaulana1
 
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...HelmiatulHasanah
 
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MAMateri Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MAmasqiqu340
 
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptxPEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptxZullaiqahNurhali2
 
Aksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptxAksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptxmeirahayu651
 
undang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogorundang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogorritch4
 
Materi RDK Rumah Data Kependudukan BKKBN.pptx
Materi RDK Rumah Data Kependudukan BKKBN.pptxMateri RDK Rumah Data Kependudukan BKKBN.pptx
Materi RDK Rumah Data Kependudukan BKKBN.pptxSriHartantiShodiq1
 
Menganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSSMenganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSStakasli
 
contoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjanacontoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjanaNhasrul
 
Jual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan Konsultasissupi412
 
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...buktifisikskp23
 
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdfAlur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdfPemdes Wonoyoso
 
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdfKELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdfInnesKana26
 
Digital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase FDigital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase FSMKTarunaJaya
 
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.pptsarassasha
 
Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )
Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )
Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )masqiqu340
 

Recently uploaded (20)

Jual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Sinjai Ori đź‘™082122229359đź‘™Pusat Peluntur Kandungan Konsultasi
 
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptxPPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
 
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
Katalog-Kurikulum-Non-Pendas-UT-2023-2024_SC-23-MEI-2023-revisi-171023_compre...
 
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MAMateri Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
 
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptxPEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
 
Aksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptxAksi Nyata Mencegah Kekerasan Seksual.pptx
Aksi Nyata Mencegah Kekerasan Seksual.pptx
 
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
 
undang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogorundang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogor
 
Materi RDK Rumah Data Kependudukan BKKBN.pptx
Materi RDK Rumah Data Kependudukan BKKBN.pptxMateri RDK Rumah Data Kependudukan BKKBN.pptx
Materi RDK Rumah Data Kependudukan BKKBN.pptx
 
Menganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSSMenganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSS
 
apotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogor
apotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogorapotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogor
apotek jual obat aborsi Bogor Wa 082223109953 obat aborsi Cytotec Di Bogor
 
contoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjanacontoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjana
 
Jual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan KonsultasiJual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan Konsultasi
Jual Cytotec Di Majalengka Oriđź‘—082322223014đź‘—Pusat Peluntur Kandungan Konsultasi
 
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
 
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdfAlur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
 
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdfKELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
KELOMPOK 6- DINAMIKA DAN TANTANGAN PANCASILA SEBAGAI IDEOLOGI.pdf
 
Digital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase FDigital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase F
 
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec AsliJual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
 
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
384986085-Bahaya-Narkoba-Bagi-Kesehatan-Jiwa-Remaja.ppt
 
Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )
Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )
Materi Pajak Untuk Bantuan Operasional Sekolah ( BOS )
 

Pertemuan 3 activity

  • 1. Materi Mobile Programming (Pertemuan III) ​ ​Universitas Pamulang PERTEMUAN 3: ACTIVITY A. TUJUAN PEMBELAJARAN Pada bab ini akan mahasiswa diharapkan mampu: 3.1 Mengetahui Kegunaan Activity 3.2 Membuat project dengan memanfaatkan activity B. URAIAN MATERI Tujuan Pembelajaran 3.1: Mengetahui Kegunaan Activity Activity adalah salah satu komponen aplikasi android yang digunakan untuk menyediakan sebuah layar bagi user agar dapat berinteraksi dengan aplikasi, misalnya mengirim SMS (Short Message Service), menelepon, mengambil foto, mengirim email, melihat peta, dan lain-lain. Setiap activity memiliki window sebagai tempat meletakkan user interface. Window tersebut biasanya memenuhi layar, bisa juga lebih kecil dari layar dan melayang di atas window lain. Sebuah aplikasi dapat terdiri dari satu atau lebih activity, biasanya aplikasi dibuat dengan beberapa activity yang satu sama lain terikat secara longgar. Biasanya, satu activity dalam sebuah aplikasi dikhususkan sabagai activity "main" (utama), yang mana akan ditampilkan kepada user di saat aplikasi dijalankan pertama kali. Setiap activity kemudian bisa menjalankan activity lain untuk melakukan pekerjaan yang berbeda. Setiap kali ada activity baru dijalankan, activity sebelumnya dihentikan, tetapi sistem menyimpan activity tersebut di dalam "tumpukan" (stack). Ketika sebuah activcity dimulai, activity tersebut ditempatkan ditempatkan paling atas pada stack dan mendapatkan fokus dari user. Prinsip antrian stack pada dasarnya menggunakan prinsip “yang pertama masuk adalah yang terakhir keluar" (last in first out), jadi ketika user selesai dengan sebuah activity dan menekan tombol KEMBALI, activity tersebut dikeluarkan dari stack (dan dihancurkan) dan activity pada stack di bawahnya dikembalikan. Ketika sebuah activity dihentikan karena ada activity baru yang dimulai, perubahan keadaan ini dinotifikasikan melalui siklus metode pemanggilan kembali activity. Terdapat beberapa metode pemanggilan kembali yang bisa diterima oleh activity, karena adanya perubahan keadaan dan setiap metode pemanggilan kembali menyediakan kita kesempatan untuk melakukan pekerjaan yang lebih spesifik yang sesuai dengan perubahan keadaan activity tersebut. Sebagai contoh, ketika activity berhenti, activity tersebut harus melepaskan obyek yang besar, misalnya koneksi jaringan atau database. Ketika activity dimulai kembali, kita bisa memperoleh kembali sumber daya yang dibutuhkan dan memulai kembali kegiatan yang diinterupsi. Transisi keadaan ini adalah bagian dari siklus hidup activity. Membuat Activity Untuk membuat sebuah activity, kita harus membuat sebuah subclass dari activity (atau subclass yang sudah ada). Dalam subclass yang dibuat, kita harus mengimplementasikan metode pemanggilan kembali yang akan dipanggil sistem pada saat transisi antar state (keadaan) yang bervariasi dari siklus hidupnya, misalnya ketika activiti sedang dibuat, dihentikan, dikembalikan, atau dihancurkan. Metode pemanggilan kembali yang paling penting ada dua, yaitu: a. onCreate() Kita harus mengimplementasikan metode ini. Sistem akan memanggil metode ini ketika membuat activity. Dalam implementasi kita, kita harus menginisialisasikan komponen-komponen penting dari activity kita. Yang paling penting, di sinilah kita harus memanggil metode setContentView() untuk mendefinisikan layout dari user interface activity. b. onPause() Sistem akan memanggil metode ini sebagai indikasi pertama bahwa user sedang
  • 2. meninggalkan activity kita (meskipun tidak selalu activity tersebut akan dihancurkan). Di sinilah biasanya kita harus melakukan perubahan yang mesti bertahan diluar sesi user yang sekarang. (karena user mungkin tidak akan kembali). terdapat beberapa siklus metode pemanggilan kembali yang harus kita gunakan untuk menyediakan pengalaman user interface yang halus dan lancar antar activity dan menangani interupsi yang tidak diinginkan yang dapat menghentikan activity atau bahkan dapat menghancurkan activity. Menjalankan Activity Kita bisa menjalankan activity dengan memanggil method startActivity(), memberikan activity tersebut sebuah Intent yang menggambarkan activity yang ingin kita jalankan. Intent akan memberitahukan nama activity atau bisa juga tipe aksi seperti apa yang ingin dijalankan, dan kemudian sistem akan memilih activity yang sesuai untuk keingin kita, bisa saja activity tersebut berasal dari aplikasi lain. Intent bisa juga membawa sejumlah kecil data yang akan digunakan oleh activity yang dijalankan. Ketika kita bekerja dalam aplikasi kita sendiri, kita lebih sering menjalankan activity yang sudah diketahui. Kita juga bisa melakukan hal ini dengan cara membuat intent yang secara eksplisit menggambarkan activity yang ingin dijalankan, menggunakan nama class. Contoh di bawah ini, bagaimana sebuah activity menjalankan activity lain yang bernama NamaClass. Intent intent = new Intent(this, NamaClass.class); startActivity(intent); Namun bagaimanapun, aplikasi kita mungkin ingin melakukan beberapa pekerjaan, misalnya mengirimkan email, mengirimkan sms, atau update status, menggunakan data dari activity kita. Dalam hal ini , aplikasi kita mungkin tidak memiliki activity sendiri untuk melakukan pekerjaan tersebut, sehingga kita perlu menggunakan activity milik aplikasi lain dalam perangkat kita, yang bisa melakukan pekerjaan yang kita diinginkan. Di sinilah intent sangat bermanfaat, kita bisa membuat intent yang menggambarkan pekerjaan seperti apa yang ingin kita lakukan, dan sistem kemudian akan menjalankan activity yang sesuai dari aplikasi lain. Jika ada beberapa activity yang bisa menangani intent tersebut, maka user akan diminta memilih activity mana yang akan digunakan. Sebagai contoh, jika kita ingin agar user bisa mengirim sebuah email, kita bisa membuat intent seperti berikut ini. Intent intent = new Intent(Intent.ACTION_SEND); intent.putExtra(Intent.EXTRA_EMAIL, recipientArray); startActivity(intent); Tambahan ekstra berupa EXTRA_EMAIL yang ditambahkan ke intent adalah sebuah string array dari alamat email tujuan pengiriman email tersebut. Ketika sebuah aplikasi email merespon terhadap intent ini, aplikasi email tersebut akan membaca string array yang diberikan oleh ekstra dan menempatkannya di pengisian "kepada" dari komposisi form email. Dalam situasi ini, activity dari aplikasi email dijalankan, dan ketika user selesai, akan kembali ke activity dari aplikasi kita. Mengatur Siklus Hidup Activity Mengatur siklus hidup activity dengan menerapkan callback method ( metode pemanggilan kembali) sangatlah krusial dalam pengembangan aplikasi yang kuat dan fleksibel. Siklus hidup dari sebuah activity terpengaruh secara langsung oleh hubungan activity tersebut dengan activity lain, tugasnya (task), dan tumpukan pada memori (back stack). Sebuah activity bisa exist dalam tiga keadan pokok, yaitu: a. Resumed (Dijalankan) Activity sedang berada pada bagian terdepan (foreground) layar, dan mendapatkan fokus dari user. Keadaan ini terkadang juga dianggap "running" atau sedang berjalan. b. Paused (Didiamkan) Activity lain sedang berada di foreground dan activity tersebut mendapatkan
  • 3. fokus, tapi activity yang ini masih bisa dilihat. Dalam hal ini, activity lain sedang terlihat dan berada di atas activity yang ini dan activity tersebut memiliki layout transparan atau tidak menutupi seluruh layar. Activity yang di-paused masih hidup seutuhnya (object dari acitivity tetap tinggal di memori, tetap menjaga semua keadaan dan informasi yang dimiliki, dan tetap tersambung dengan window manager), tapi bisa di-kill oleh sistem pada situasi ketika memori yang tersedia sangat kurang. c. Stopped (Dihentikan) Activity ini sedang dihalangi sepenuhnya oleh activity lain (activity sekarang berada di background). Activity yang di-stop juga msih hidup, object activity masih tersimpan di memori, masih menjaga keadaan dan semua informasi, tapi tidak tersambung dengan window manager. bagaimanapun juga, activity ini tidak lagi terlihat oleh user dan bisa di-kill oleh sistem sewaktu-waktu jika memori dibutuhkan untuk proses lain. Jika sebuah activity di-stop atau di-pause, sistem menghapusnya dari memori dengan memintanya untuk berhenti (dengan memanggil method finish()), atau cukup mematikan prosesnya. Ketika activity ingin dimulai lagi (setelah dihentikan atau dimatikan), maka activity tersebut harus di-create dari awal lagi. Tujuan Pembelajaran 3.2: Membuat project dengan memanfaatkan activity Untuk membuat project baru, klik menu File >> New >> Other... sehingga tampil kotak dialog seperti gambar 3.1 berikut ini: Gambar 3. 1 Kotak dialog membuat project baru Pilih Android Application Project di dalam folder Android, kemudian klik tombol Next. Setelah tampil kotak dialog pengaturan seperti gambar 3.2, beri nama aplikasi “MateriActivity”, dan pada nama package ubah “example” menjadi “unpam”. Tentukan versi android SDK (Software Development Kit) untuk aplikasi yang akan dibuat pada menu dropdown Build SDK, dan minimum required SDK.
  • 4. Gambar 3. 2 Kotak dialog pengaturan project Setelah pengaturan nama aplikasi, nama project, nama package, dan SDK dari aplikasi, klik tombol Next untuk melanjutkan sehingga tampil kotak dialog seperti gambar 3.3. Atur icon dari aplikasi yang akan dibuat, bisa menggunakan image, clipart, maupun text. Atur bentuk dan warna dari icon jika diperlukan, jika sudah selesai lanjutkan dengan mengklik tombol Next. Gambar 3. 3 Pengaturan icon aplikasi
  • 5. Gambar 3. 4 Memilih jenis Activity Pilih Blank Activity untuk jenis Activity dari aplikasi yang akan dibuat. Lanjutkan dengan mengklik tombol Next. Ubah judul (Title) aplikasi menjadi “Materi Activity”. Gambar 3. 5 Mengatur nama dan judul activity Klik tombol Finish untuk mengakhiri pengaturan pembuatan aplikasi. Tunggu beberapa saat sampai tampil desain aplikasi seperti gambar 3.6. Jika jendela yang tampil tidak sama, dapat diatur dari menu Window >> Show View dan pilih jendela yang ingin ditampilkan. Jika ingin mengubah tampilan ke bentuk standar, dapat dilakukan melalui menu Window >> Reset Perspective.
  • 6. Gambar 3. 6 Tampilan IDE aplikasi android Hapus TextView (teks “Hello Word!”), tambahkan LinearLayout (Horizontal) di sudut kiri atas, kemudian di dalamnya tambahkan Medium. Tambahkan komponen TextView dan EditText di dalam linear layout (vertical), Tambahkan komponen TextView dan EditText (Password) di dalam linear layout (vertical), dan dua buah Button di dalam linear layout (horizontal). Atur desain tampilan menjadi seperti gambar 3.7 dan desain outline menjadi seperti gambar 3.8. Gambar 3. 7 Graphical layout activity_main.xml Ubah ID dari EditText dan Button dengan cara klik kanan >> EditID, sehingga outline menjadi seperti berikut ini: Gambar 3. 8 Outline activity_main.xml Desain activity dapat juga diatur melalui source code XML sebagai berikut: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • 7. <RelativeLayout 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" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Form Login" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout1" ​ aries.saifudin@yahoo.co.id (2012-2013) ​ ​page 1 of 22 Modul Mobile Programming android:orientation="vertical" > <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="User Name" /> <EditText android:id="@+id/userNameEditText" android:layout_width="match_parent" android:layout_height="wrap_content" > <requestFocus /> </EditText> </LinearLayout> <LinearLayout android:id="@+id/linearLayout3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout2" android:orientation="vertical" > <TextView android:id="@+id/textView3" android:layout_width="match_parent" android:layout_height="wrap_content"
  • 8. android:text="Password" /> <EditText android:id="@+id/passwordEditText" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout3" > <Button android:id="@+id/loginButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="3" android:text="Login" /> <Button android:id="@+id/tutupButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Tutup" /> </LinearLayout> </RelativeLayout> Selanjutnya tambahkan activity baru dengan cara klik kanan pada project, pilih New dan Other (atau Ctrl+N) sehingga tampil kotak dialog seperti gambar 3.9 berikut ini:
  • 9. Gambar 3. 9 Menambahkan activity baru Klik tombol Next, pada kotak dialog seperti gambar 3.10 ubah nama activity menjadi “SuccessActivity” dan ubah judul menjadi “Login Success”. Gambar 3. 10 Pengaturan activity Klik tombol Finish untuk mengakhiri pengaturan nama dan judul Activity. Selanjutnya atur layout activity_success menjadi seperti gambar 3.11 dan 3.12 berikut ini: Gambar 3. 11 Graphical layout activity_success.xml Gambar 3. 12 Outline activity_success.xml Source code activity_success.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
  • 10. xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Selamat Datang" /> <TextView android:id="@+id/namaUserTextView" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:text="Nama User" android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout1" > <Button android:id="@+id/logoutButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Logout" /> </LinearLayout> </RelativeLayout> Dengan cara yang sama tambahkan activity_failed.xml.
  • 11. Gambar 3. 13 Pengaturan activity Gambar 3. 14 Graphical layout activity_failed.xml Gambar 3. 15 Outline activity_failed.xml Source code activity_failed.xml: <RelativeLayout 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" > <LinearLayout android:id="@+id/linearLayout1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_alignParentTop="true" > <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="User name atau password salah"
  • 12. android:textAppearance="?android:attr/textAppearanceMedium" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/linearLayout1" > <Button android:id="@+id/kembaliButton" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:text="Kembali" /> </LinearLayout> </RelativeLayout> Setelah selesai mengatur desain activity, selanjutnya menambahkan source code java. Pertama double klik file FailedActivity.java yang berada di project dalam folder src >> com.unpam.materiactivity, sehingga menjadi seperti berikut ini: package com.unpam.materiactivity; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; public class FailedActivity extends Activity implements OnClickListener{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_failed); findViewById(R.id.kembaliButton).setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_failed, menu); return true; } ​public void onClick(View v) { ​ ​// TODO Auto-generated method stub ​ ​switch (v.getId()){ ​ ​case R.id.kembaliButton: ​ ​ ​finish(); ​ ​} ​} } ​Kedua, ​dengan ​cara ​yang ​sama ​tambahkan
  • 13. ​Kedua, ​dengan ​cara ​yang ​sama ​tambahkan ​source ​code ​untuk ​file SuccessActivity.java menjadi: package com.unpam.materiactivity; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.TextView; public class SuccessActivity extends Activity implements OnClickListener{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_success); TextView namaUserTV = (TextView) findViewById(R.id.namaUserTextView); namaUserTV.setText (getIntent().getExtras().getString("namaUser")); findViewById(R.id.logoutButton).setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_success, menu); return true; } ​public void onClick(View v) { ​ ​// TODO Auto-generated method stub ​ ​switch (v.getId()){ ​ ​case R.id.logoutButton: ​ ​ ​finish(); ​ ​} ​} } Ketiga, tambahkan source code di dalam file MainActivity.java sehingga menjadi seperti berikut ini: package com.unpam.materiactivity; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.EditText; public class MainActivity extends Activity implements OnClickListener{ private String[][] dataUser = {{"ADMIN","ADMIN","Administrator"}, ​ ​ ​{"user1","password1","Nama User 1"}, ​ ​ ​ {"user2","password2","Nama User 2"}}; ​private EditText userNameET, passwordET; ​private final int SUCCESS=1;
  • 14. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); userNameET = (EditText) findViewById(R.id.userNameEditText); passwordET = (EditText) findViewById(R.id.passwordEditText); findViewById(R.id.loginButton).setOnClickListener(this); findViewById(R.id.tutupButton).setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } public void onClick(View v) { ​ ​// TODO Auto-generated method stub ​ ​switch (v.getId()){ ​ ​ case R.id.loginButton: ​ ​ int i=0; ​ boolean success=false; ​ ​ ​ ​ ​while ((i<dataUser.length) && (!success)){ ​ ​ ​if ((userNameET.getText().toString().equals(dataUser[i][0])) && ​ ​ ​ ​ ​(passwordET.getText().toString().equals(dataUser[i] [1]))){ ​ ​ ​ ​ ​success=true; ​ ​ ​ ​} else { ​ ​ ​ ​ ​i++; ​ ​ ​ ​} ​ ​ ​} ​ ​ ​ ​ ​ ​Intent intent; ​ ​ if (success){ ​ intent = new Intent(this, SuccessActivity.class); ​ ​ ​ ​intent.putExtra("namaUser", dataUser[i][2]); ​ startActivityForResult(intent,SUCCESS); ​ ​} else { ​ ​ ​ intent = new Intent(this, FailedActivity.class); ​ ​ ​ startActivity(intent); ​ } ​ ​ startActivity(intent); ​ ​ ​break; ​ ​case R.id.tutupButton: ​ ​ ​System.exit(0); ​ ​} ​} ​ ​@Override ​public void onActivityResult(int requestCode, int resultCode, Intent data){ ​ ​switch (requestCode) { ​ ​case SUCCESS: ​ ​ ​userNameET.setText(""); ​ ​
  • 15. ​passwordET.setText(""); ​ ​ ​break; ​ ​} ​} } Tujuan Pembelajaran 3.3: Menjalankan Aplikasi Untuk mengeksekusi, klik kanan pada nama project atau pilih menu Run, kemudian pilih Run As >> Android Application. Jika kita lihat di daftar aplikasi seperti pada gambar 3.16, maka akan terlihat 3 icon aplikasi baru, yaitu Materi Activity, Login Success, dan Login Failed. Agar aplikasi yang kita buat hanya menampilkan satu icon aplikasi, double klik file AndroidManifest.xml di dalam project seperti pada gambar 3.17, kemudian klik tab AndroidManifest.xml yang berada pada bagian bawah seperti pada gambar 3.18, hapus tag intent-filter untuk SuccessActivity dan FailedActivity sehingga source code-nya menjadi seperti berikut ini: <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unpam.materiactivity" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="15" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/title_activity_main" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".SuccessActivity" android:label="@string/title_activity_success" > </activity> <activity android:name=".FailedActivity" android:label="@string/title_activity_failed" > </activity> </application> </manifest>
  • 16. Gambar 3. 16 Tampilan daftar aplikasi Gambar 3. 17 Project explorer
  • 17. Gambar 3. 18 Android manifest Tampilan Aplikasi Tampilan aplikasi yang telah dibuat pada AVD (Android Virtual Device) adalah sebagai berikut: Gambar 3. 19 Tampilan MainActivity di AVD Gambar 3. 20 Tampilan FailedActivity di AVD
  • 18. Gambar 3. 21 Tampilan SuccessActivity di AVD C. LATIHAN SOAL/TUGAS Buatlah halaman login yang menampilkan halaman lainnya seperti halaman utama, contoh login email yang menampilkan halaman inbox! ​ 59 Modul Mobile Programming D. DAFTAR PUSTAKA Allen, Grant. 2012. Beginning Android 4. New York : Apress. Safaat, H. Nazruddin. 2015. ANDROID Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika 59