P. 1
Modul Create Your Android Apps - BLICTFest 2012

Modul Create Your Android Apps - BLICTFest 2012

|Views: 4|Likes:
Published by Dwi Kurnianingsih

More info:

Published by: Dwi Kurnianingsih on May 23, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/06/2013

pdf

text

original

Sections

  • Installasi Android SDK Starter Pack
  • Installasi ADT plugin untuk Eclipse
  • Membuat Virtual Device
  • Hello, Android
  • Membuat Project Baru
  • Pengenalan project
  • Menjalankan Aplikasi
  • Latihan
  • Kalkulator
  • Langkah-langkah:
  • Notepad
  • Langkah-langkah
  • Storage System
  • Menyimpan, Membaca dan Menghapus Note
  • Membuat Aplikasi

Create Your ANDROID Apps

Workshop BLICT Fest 2012
Fakultas Teknologi Informasi Universitas Budi Luhur

Daftar Isi

1 Installasi SDK dan AVD Persiapan System . . . . . . . . . . . . . . . . . . Installasi Android SDK Starter Pack . . . . . . . Installasi ADT plugin untuk Eclipse . . . . . . . Menambahkan Platform dan Komponen Lainnya Membuat Virtual Device . . . . . . . . . . . . . . 2 Hello, Android Membuat Project Baru Pengenalan project . . Menjalankan Aplikasi . Latihan . . . . . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

1 1 2 3 5 7 10 10 12 15 16

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

3 Kalkulator 20 Langkah-langkah: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Latihan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4 Notepad i 33

ii Langkah-langkah . . . . . . . . . . . . Storage System . . . . . . . . . . . . . Menyimpan, Membaca dan Menghapus Latihan . . . . . . . . . . . . . . . . . . . . . . . Note . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 50 54 67

5 Update Facebook 70 Langkah-langkah . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Membuat Aplikasi . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

For information about how to add support for 32-bit applications.or 64-bit) • Mac OS X 10. 1 . Sistem Operasi • Windows XP (32-bit).MODUL 1 Installasi SDK dan AVD Persiapan System Sebelum memulai mengembangkan aplikasi untuk android.8 or later (x86 only) • Linux (tested on Ubuntu Linux. version 8. Beberapa kebutuhannya antara lain: 1. Hardware Kebutuhan hardware paling tidak menyesuaikan dengan kebutuhan hardware dari Sistem Operasi yang ada di atas. Anda perlu menyiapkan Komputer Anda agar siap untuk digunakan untuk installasi Android SDK.04 or later is required. – 64-bit distributions must be capable of running 32-bit applications. 2. Lucid Lynx) – GNU C Library (glibc) 2. or Windows 7 (32.5.7 or later is required.or 64-bit). Vista (32. – On Ubuntu Linux. Dan minimal kebutuhan space Hardisk untuk satu platform Android adalah 500MB (diluar JDK dan Eclipse). see the Ubuntu Linux installation notes.

zip dan .html 2.tgz. Jangan lupa dimana Anda mengekstraknya.org/downloads/.0_20 Jika telah muncul versi javac.5.com/sdk/index. . JRE saja tidak cukup. Maka dari itu. JDK 5 atau JDK 6 Anda harus menginstall JDK terlebih dahulu sebelum bisa mengembangkan applikasi untuk Android. dan paling tidak telah memiliki: • Eclipse JDT plugins Jika Anda belum menginstall Eclipse ada dapat mendownload installernya di http://www. estrak paket yang telah anda download pada direktory yang aman. Eclipse IDE Minimal Eclipse 3.eclipse.android.6. Untuk paket . Beberapa paket Eclipse yang ada telah disertakan dengan JDT namun ada juga yang belum.1 atau lebih besar) – Eclipse IDE untuk Java EE Developers • ADT Plugins untuk Eclipse Installasi Android SDK Starter Pack 1. INSTALLASI SDK DAN AVD 2 3. Android SDK Starter Package dan Android SDK Component. Download versi terakhir dari Android SDK sesuai dengan Sistem Operasi Anda di: http://developer.MODUL 1. Untuk mengecek apakah JDK telah terinstall coba jalankan perintah berikut: prompt> javac -version javac 1. 5.5 (Galileo) atau lebih baru. 4. maka JDK telah terinstall dengan baik. karena akan kita butuhkan nanti untuk konfigurasi ADT Plugin di Eclipse dan ketika menggunakan tool-tool untuk menginstall komponen ADT. sebaiknya Anda menginstall salah satu dari paketan berikut: – Eclipse IDE untuk Java Developers – Eclipse Classic (versi 3.

jalankan installer . Khusus untuk windows Anda sebaiknya mendownload yang versi . kemudian installer nanti akan mengecek keberadaan JDK pada system Anda.. 2. . kemudia install SDK.exe yang Anda download... Jalankan Eclipse. Installasi ADT plugin untuk Eclipse 1. Pilih menu Help >Install New Software.1: Install New Software.MODUL 1. INSTALLASI SDK DAN AVD 3 3.. untuk menambahkan repository ADT. Pada jendela Install tersebut klik button Add.exe. 3. Gambar 1. Untuk menginstallnya...

android. Jalankan Eclipse. Ketika installasi selesai. Filenya dapat Anda download di: http://developer. pilih Android. Pada jendela berikutnya Anda akan melihat list dari paket-paket yang akan di download. INSTALLASI SDK DAN AVD 4.com/android/eclipse/ pada location di jendela Add Repository. untuk membuka jendela konfigurasi. Kemudian pilih Next. . Catatan: Jika Anda tidak memiliki koneksi internet. Caranya yakni: 1.google. kemudian klik Ok. 2. 6. 4 Gambar 1.. Pada side panel. restart Eclipse.. Tambahkan alamat repository: https://dl-ssl. pada dialog Available Software.com/sdk/eclipse-adt. 7. centang Developer Tools kemudian klik Next. Klik Browse pada SDK Location kemudian cari dimana anda mengextrak atau menginstall Android SDK. (Pada Mac OS X melalui: Eclipse >Preferences) 3.2: Menambah Repository 5. sebaiknya Anda menginstallnya melalui offline repository. Jika sudah.MODUL 1. Pilih menu Window >Preferences. Misalnya anda mengextraknya di /opt maka pada SDK Location menjadi: /opt/android-sdk-<versi-sdk>. 4.html Selanjutnya yakni Anda perlu mengarahkan plugin ADT tersebut agar mengetahui lokasi SDK yang telah anda install atau extrak di atas.

Jalankan Android SDK and ADV Manager dengan cara: • Memalui Eclipse: pilih menu Window >Android SDK and AVD Manager • Melalui Windows: double klik SDK Manager.0. Anda dapat menginstall hanya satu saja atau beberapa platform sekaligus dalam SDK anda. Pada jendela Android SDK and ADV Manager navigasi ke bagian Available package .5 sampai dengan yang terakhir 3. Android terdiri dari beberap Platform yakni dari 1.MODUL 1. Seperti Anda ketahui./android 2./android kuro@linux:/opt/android-sdk-linux_x86/tools$ . 5 Menambahkan Platform dan Komponen Lainnya Langkah terakhir untuk dapat menggunakan SDK yakni menambahkan Platform Android ke SDK Anda. Klik Apply kemudian Ok.exe pada direktory tempat Android SDK terinstall. INSTALLASI SDK DAN AVD 5. • Melalui Linux dan Mac OS X: Buka terminal dan masuk ke direktory tools/ yang ada di dalam direktory SDK Android Anda (misalnya /opt/android-sdk-linux x86). Kemudian jalankan perintah: . Caranya yakni: 1.

3: Android SDK and ADV Manager 3. Rekomendasi minimal yakni: • Android SDK Tools • Android SDK Platform tools • SDK Platform (sesuai kebutuhan) • USB Driver for Windows (Hanya untuk Windows) (Optional) • Documentation (Optional) • Sample For SDK API (Optional) • Google API’s (Optional) • Additional SDK Platforms (Optional) . Pilih (centang) paket-paket yang akan di install.MODUL 1. INSTALLASI SDK DAN AVD 6 Gambar 1.

Kemudian klik Install Selected untuk menginstall semua paket yang dipilih. Membuat Virtual Device AVD atau Android Virtual Devices adalah device virtual yang bisa digunakan untuk mengemulasi dan mengujicoba program yang telah kita buat di dalam PC. Pada jendela Android SDK and ADV Manager navigasi ke bagian Virtual devices Gambar 1. Setelah installasi selesai. caranya dapat Anda lihat pada bagian Menambahkan Platform di atas. Klik New. Anda dapat menambahkan Virtual device jika diinginkan pada SDK Anda.MODUL 1.4: Android SDK and ADV Manager 3. tanpa harus memiliki perangkat Android itu sendiri. 5. Jalankan Android SDK and ADV Manager. Untuk membuat AVD baru. . Cara membuatnya yakni: 1... INSTALLASI SDK DAN AVD 7 4. 2.

klik Create AVD. Beri nama. INSTALLASI SDK DAN AVD 8 Gambar 1. Jika sudah selesai.. kemudian pilih Launch pada jendela Launch Option.. 5. pada bagian Hardware.MODUL 1.. Untuk ukuran SD Card dapat anda tentukan bebas misalnya 512MiB. Anda juga dapat menambahkan beberap fitur lainnya untuk AVD tersebut dengan mengklik New. kemudian pilih Target Platformnya. Untuk mencoba. pada Jendela Android SDK and ADV Manager pilih AVD yang telah Anda buat kemudian klik Start. 6.. .5: Create New Android Virtual Device (ADV) 4.

INSTALLASI SDK DAN AVD 9 Gambar 1.MODUL 1.6: AVD yang telah berhasil dibuat .

Jalankan Eclipse. untuk membuka dialog New Project..1: New Project 10 . langkah-langkahnya yakni: 1. Android Membuat Project Baru Untuk membuat project Android baru.MODUL 2 Hello. 2.. Gambar 2. Pilih menu File >New >Project.

Sesuaikan dengan AVD atau target versi Android dimana aplikasi Anda akan berjalan nantinya. Selanjutnya pada dialog New Android Project isi dengan: • Project name: HelloAndroid1 • Contents: pilih ”Create new project in workspace” dan centang ”Use default location” • Build target: Android 2. Pada jendela New Project tersebut.MODUL 2. ANDROID 11 3.3. Kemudian Klik Next>. 2 1 . 4.2: New Android Project #1 dapat anda ganti dengan nama yang lain. HELLO. pilih project Android >Android Project.32 Gambar 2.

HELLO. Kemudian klik Finish. ANDROID 12 Gambar 2.MODUL 2.helloAndroid3 • Create Activity: helloAndroid4 • Min SDK Version: 10 (Atau dikosongkan) Seperti terlihat pada kedua gambar di atas.3: New Android Project #2 • Application name: Hello Android • Package name:latihan. Hanya boleh satu kata. Pengenalan project Pada jendela Eclipse. . anda akan menemukan tiga sub window lainnya yakni: 3 4 harus minimal dua identifier dan dipisan tanda titik.

3 (atau terkadang Android Library) Berisi library target Android. Package Explorer 13 Pada Package Explorer ini Anda akan menemukan tree project yang telah anda buat.MODUL 2.3. ANDROID 1. Sedangkan yang berada di bawah gen/ adalah file-file source code yang digenerate otomatis oleh SDK. • Android 2. Beberapa hal yang perlu Anda perhatikan dalam project explorer ini yakni: • Source program (dibawah src/ dan gen/) File-file yang berada di bawah src/ adalah source code program yang dapat Anda ubah. HELLO. • assets Berisi file-file yang akan dipaketkan bersama dengan aplikasi Anda. . Pada latihan pertama ini kita masih belum menggunakannya.

layout.xml) File XML ini berisi konfigurasi project Android Anda. Untuk aplikasi Hello Android ini hanya berisi gambar Icon aplikasi. . Selanjutnya coba buka file main. Jendela editor akan langsung berubah sesuai dengan file apa yang dibuka. – Layout (file res/layout/main.java yang ada di bawah src/latihan.helloAndroid/. – values Berisi konstanta. Untuk mencoba. ANDROID • resource (dibawah res/) Berisi: 14 – drawable-*.xml) Berisi konfigurasi Layout atau susunan tampilan widget-widget pada layar Android. yakni resource yang berisi gambar-gambar untuk aplikasi Anda. silahkan buka file helloAndroid.MODUL 2. string dan lain sebagainya yang digunakan pada Aplikasi. 2. HELLO. Jendela Editor Pada jendela editor ini Anda dapat mengedit source code.xml. values dan lain sebagainya. • Manifest (file AndroidManifest.xml yang ada pada res/layout/ atau file AndroidManifest.

caranya yakni: • pilih menu Run >Run atau • tekan tombol kombinasi Ctrl+F11 atau • tekan tombol Run yang ada pada toolbars. Pilih Android Application pada dialog Run As.4: Run As Tunggu sampai AVD berhasil di load sempurna dan menghasilkan Run program seperti: . ANDROID 15 Menjalankan Aplikasi Untuk menjalankan aplikasi pada AVD. Kemudian klik Ok.MODUL 2. HELLO. Gambar 2.

xml editor. ANDROID 16 Gambar 2. Gambar 2. .xml.6: string. Buka file strings.MODUL 2. HELLO. Android Latihan 1.xml yang ada pada res/values/strings.5: Hello.

. Kemudian klik OK.7: Add new value. Gambar 2.. 17 2. ANDROID Kemudian klik Add. 3. Isi string baru dengan: • Name*: credits • Value*: Dibuat oleh Candra (atau isi dengan nama Anda). untuk menambahkan String. Kemudian simpan file. Pada dialog pilih String untuk menambahkan sebuah string. HELLO.MODUL 2..

. 5.xml...xml Gambar 2. helloAndroid” kemudian pilih Properties >Text. Kemudian klik OK. Buka file res/layout/main.8: Mengubah atribut String 4.MODUL 2. ANDROID 18 Gambar 2. klik kanan pada text ”Hello World. Ubah New Text Value yang tadinya berisi @string/hello menjadi @string/credits. HELLO.9: layout main. Pada layout.

dan Run ulang program. Anda akan mendapatkan tampilan program yang tadinya bertuliskan ”Hello World.MODUL 2.11: Run Hello Android. ANDROID 19 Gambar 2. helloAndroid” menjadi ”Dibuat oleh Candra” Gambar 2. . Simpan file. HELLO. 6.10: Mengubah property Text dari label.

MODUL 3 Kalkulator Target: Gambar 3.1: Kalkulator 20 .

Kemudian tambahkan beberapa komponen sehingga menjadi (pastikan anda berada pada mode Graphical layout): . Buat sebuah Android Project baru.xml. dengan konfigurasi: Project name: Kalkulator Build target: Android 2. Buka file string. beri nama project Kalkulator. Kemudian Tambahkan beberapa item: • String – Name*: labelJumlahkan – Value*: Jumlahkan • String – Name*: buttonHandler – Value*: buttonHandler Kemudian simpan file. Membuat Layout UI 3.xml yang berada pada res/values/string. Buka file main.xml yang ada pada res/layout/.3 (sesuaikan dengan AVD yang ada) Application name: Kalkulator Package name: latihan. KALKULATOR 21 Langkah-langkah: Membuat Project 1.Kalkulator Create Activity: Kalkulator Min SDK Version: 10 (atau dikosongkan) Menyiapkan Resource 2.MODUL 3.3.

MODUL 3. kemudian pilih menu Properties >[property yang akan diubah]. : editKedua – Text.. : (kosongkan) – Numeric : Decimal • editText2 – Edit ID.. Setelah layout dibuat....2: Layout main... kemudian ubah property masing-masing komponen... : @string/app name Text Size. Caranya dengan meng-klik kanan komponen yang akan di ubah propertynya.xml Mengubah property komponen 4. : 24sp Layout gravity : Center Gravity : Bottom Layout Height : 90dip • editText1 – Edit ID. Ubah propert masing-masing komponen menjadi: • textView1 – – – – – Text. : (kosongkan) ... : editPertama – Text.. KALKULATOR 22 Gambar 3.

. : @string/labelJumlahkan OnClick.3: Layout main.. kemudian pilih Edit ID... KALKULATOR – Numeric : Decimal • button1 – – – – – Text. Sehingga layout akan terlihat seperti: Gambar 3.. Sedangkan untuk mengatur property Layout Height dan Layout Width caranya yakni: Klik kanan komponen kemudian pilih Layout Width atau Layout Height kemudian pilih Other. Untuk mengubah property ID caranya yakni: klik kanan pada komponen.xml 6... Kemudian simpan semua perubahan yang telah dilakukan.MODUL 3. .. : @string/buttonHandler Layout gravity : Center Gravity : Center Layout Width : 160dip 23 5... setelah itu set ukurannya.

app.EditText. Untuk melakukan penjumlahan kita perlu menambahkan logika penjumlahan ke dalam program..main).Bundle.. KALKULATOR 24 Menambahkan Program 7.content. angka2 = (EditText) findViewById(R.app.AlertDialog.View. (c) Tambahkan kode program berikut (yang diberi warna biru) pada kelas Kalkulator: 10 11 12 13 14 15 16 17 .widget..view..Activity. angka1 = (EditText) findViewById(R.kalkulator.os. android. (b) Tambahkan beberapa baris kode program berikut setelah deklarasi package: 1 2 3 4 5 6 7 8 9 package latihan..editPertama).widget.id. android. */ private EditText angka1.onCreate(savedInstanceState). android. android. @Override . (d) Pada methode onCreate tambahkan bebarap baris berikut: .Kalkulator/..MODUL 3. caranya yakni: (a) Buka file kalkulator. public class Kalkulator extends Activity { /** Called when the activity is first created.editKedua)..layout. } . android.Toast.DialogInterface.java yang berada pada src/latihan. android. import import import import import import import android. @Override public void onCreate(Bundle savedInstanceState) { super.id. 15 16 17 18 19 20 21 22 23 . setContentView(R.. private EditText angka2.

return. } if(angka2.getText().getText(). builder.Builder(this).Builder builder = new AlertDialog.dismiss().toString()). hasil = a + b. Kemudian isi dengan kode berikut: 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 public void buttonHandler(View view) { double a. Toast. AlertDialog. new DialogInterface. "Angka kedua masih kosong!".getText(). b. return.toString()).setMessage("Hasil = "+String. Toast.valueOf(hasil)) .show(). (e) Tambahkan methode buttonHandler setelah methode onCreate.LENGTH_LONG).parseDouble(angka1. b = Double. } a = Double. dialog. KALKULATOR 25 Untuk mensinkronisasikan antara Edit Text angka1 dengan Edit Text editPertama yang ada pada UI (pada layout yang telah dibuat di atas). angka2. builder.makeText(this.setTitle("Hasil Penjumlahan"). .LENGTH_LONG). hasil.setText(""). Begitu juga dengan Edit Text angka2.show(). int which) { // TODO Auto-generated method stub angka1. if(angka1.length() == 0) { Toast.getText().setPositiveButton("OK".makeText(this. "Angka pertama masih kosong!".OnClickListener() { @Override public void onClick(DialogInterface dialog.MODUL 3.length() == 0) { Toast.parseDouble(angka2.setText("").

} Keterangan: Objek dialogHasil dari kelas AlertDialog digunakan untuk membuat dialog untuk menampilkan hasil. dialogHasil.4: Hasil Run program. KALKULATOR 55 56 57 58 59 26 } }). Gambar 3. . Simpan semua perubahan dan Run program. 8. AlertDialog dialogHasil = builder.show().MODUL 3.create().

xml yakni: • String – Name* : labelProses – Value* : Proses • String Array . Tambahkan value baru pada string.MODUL 3. Tambahkan sebuah widget/komponen baru yakni Spinner pada Layout. KALKULATOR 27 Latihan 1. Sehingga menjadi: . Name* : prosesList – Item ∗ Value* – Item ∗ Value* – Item ∗ Value* – Item ∗ Value* : Penjumlahan : Pengurangan : Perkalian : Pembagian Kemudian simpan perubahan. 2.

5: Menambahkan Spinner 3.MODUL 3.. Ubah property text pada button1 menjadi: • Text. Atur property Spinner menjadi: • ID : spinnerOperasi • Entries. : @string/labelProses Sehingga layout akan terlihat seperti: ... : prosesList (ada pada Array/prosesList) 4. KALKULATOR 28 Gambar 3..

spinOperasi = (Spinner) findViewById( .layout.editKedua). private Spinner spinOperasi.main).onCreate(savedInstanceState).MODUL 3. public class kalkulator extends Activity { /** Called when the activity is first created.id.. angka2 = (EditText) findViewById(R. @Override public void onCreate(Bundle savedInstanceState) { super.editPertama).. setContentView(R. angka1 = (EditText) findViewById(R. Ubah program menjadi (Tambahkan bagian-bagian yang berwarna biru): 11 12 13 14 15 16 17 18 19 20 21 22 23 24 . */ private EditText angka1. KALKULATOR 29 Gambar 3.id.6: Menambahkan Spinner 5. private EditText angka2.

MODUL 3. KALKULATOR
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62

30

R.id.spinnerOperasi); } public void buttonHandler(View view) { double a, b, hasil; if(angka1.getText().length() == 0) { Toast.makeText(this, "Angka pertama masih kosong!", Toast.LENGTH_LONG).show(); return; } if(angka2.getText().length() == 0) { Toast.makeText(this, "Angka kedua masih kosong!", Toast.LENGTH_LONG).show(); return; } a = Double.parseDouble(angka1.getText().toString()); b = Double.parseDouble(angka2.getText().toString()); //hasil = a + b; switch(spinOperasi.getSelectedItemPosition()) { case 0: hasil = a + b; break; case 1: hasil = a - b; break; case 2: hasil = a * b; break; case 3: hasil = a / b; break; default: hasil = a + b; break; }

MODUL 3. KALKULATOR
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84

31

AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Hasil Operasi " + spinOperasi.getSelectedItem().toString()); builder.setMessage("Hasil = "+String.valueOf(hasil)) .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub angka1.setText(""); angka2.setText(""); dialog.dismiss(); } }); AlertDialog dialogHasil = builder.create(); dialogHasil.show(); } } Penambahan bagian kode program ini bertujuan untuk menghandle perubahan pilihan pada spinnerOperasi. Jika pilihan pada spinner adalah Penjumlahan maka yang akan di operasikan adalah case 0 ketika button Proses di-klik. Dan jika pilihan pada spinner adalah Perkalian maka yang akan dikerjakan adalah case 2, begitu juga untuk pilihan-pilihan lainnya. 6. Simpan dan Run program yang telah diubah tadi.

MODUL 3. KALKULATOR

32

Gambar 3.7: Hasil Run

MODUL

4

Notepad

Target:

(a) Note List

(b) Update Status

Gambar 4.1: Target Akhir 33

MODUL 4. NOTEPAD

34

Langkah-langkah

Membuat Project
1. Buat sebuah project baru dengan konfigurasi: Project name: Notepad Build target: Android 2.3.3 Application name: Catatan Package name: latihan.Notepad Create Activity: Notepad Min SDK Version: 10 (atau dikosongkan)

Membuat Layout
Layout Utama 2. Pada layout main.xml, tambahkan sebuah List View.

Gambar 4.2: Menambahkan List View pada Layout main.xml Catatan: List View berada pada Palette Composite.

xml kemudian tambahkan beberapa String baru: • String – Name* : note title – Value* : Title • String – Name* : note body – Value* : Body 35 5..MODUL 4. Kemudian tekan Next>.3: New Android XML File . Gambar 4. NOTEPAD 3. Buka string. Untuk membuat sebuah layout baru caranya yakni: melalui menu File >New >Other. Atur property List View tersebut menjadi: • ID : listNote • Layout Height : Match Parent • Layout Width : Match Parent Layout edit note 4.. kemudian Pilih Android >Android XML File.

Caranya Klik kanan pada layout (Bisa melalui Outline Dock yang berada di sebelah kanan jendela Eclipse). Ubah Orientasi Linier Layout yang telah ada menjadi Vertikal. 8. kemudian pilih Orientation>Vertical.4: New Android XML File 7. Pada jendela New Android XML File buat File XML dengan konfigurasi: • Project : Notepad • File : edit note • Type : Layout • Folder : /res/layout Kemudian klik Finish untuk membuat file. NOTEPAD 36 6.MODUL 4. Tambahkan beberapa komponen baru ke layout yakni: • Linier Layout (pada palette Layouts) – Text View . Gambar 4.

.xml yang telah di buat di atas.MODUL 4.xml dan Outline-nya Souce code untuk layout edit note.. Untuk dapat memanggil layout edit note. Cara membuatnya yakni: . : (Kosongkan) ∗ Single Line : True • Text View – Text.. : (Kosongkan) – Gravity : Top Sehingga layoutnya menjadi: 37 (a) edit note.5: Layout edit note. NOTEPAD ∗ Text..xml (b) Outline Gambar 4. : @string/note body • Edit Text – ID : editBody – Text. : @string/note title – Edit Text ∗ ID : editTitle ∗ Text..xml 9.. Kita perlu membuatkan sebuah Kelas yang bertugas untuk menghandle layout tersebut...

6: Membuat Class Baru (b) Pada jendela New Class.Notepad yang ada di bawah /Notepad/src/. klik kanan package latihan. Buat kelas dengan konfigurasi sebagi berikut: • • • • • Source Folder : Notepad/src Package : latihan. pilih New >Class Gambar 4.Notepad Name : EditNote Modifier : Public Superclass : android.app. .MODUL 4. NOTEPAD 38 (a) Pada Package Exlporer.Activity Kemudian Klik Finish. Pada popup menu.

7: Membuat Class Baru (c) Kemudian buka file EditNote.Bundle. public class EditNote extends Activity { . import android.os.app.MODUL 4.java yang telah dibuat dari langkah di atas. import android. Lalu tambahkan beberapa baris kode berikut: 1 2 3 4 5 6 7 package latihan. NOTEPAD 39 Gambar 4.Activity.Notepad.

. Untuk membuat menu caranya sama dengan yang ada pada point 5 di atas. 13.xml kemudian tambahkan beberapa String baru: • String – Name* : menu add new – Value* : Add New • String – Name* : menu about – Value* : About 11. setContentView(R. Pada jendela New Android XML File buat File XML dengan konfigurasi: • Project : Notepad • File : utama • Type : Menu • Folder : /res/menu Kemudian klik Finish untuk membuat file. Buka file utama.MODUL 4. Menambahkan Menu 10. Buka string.onCreate(savedInstanceState). kemudian pilih Android >Android XML File.xml yang berada di bawah res/menu/. } } (d) Kemudian simpan file.edit_note).layout. 12... yakni melalui menu File >New >Other. NOTEPAD 8 9 10 11 12 13 14 40 @Override public void onCreate(Bundle savedInstanceState) { super.

. Tambahkan dua buah Menu Item dengan mengklik Add. NOTEPAD 41 Gambar 4. Gambar 4. in Menu” kemudian pilih Item..8: Menu Editor 14. Pilih ”Create a new element at the top level.MODUL 4..9: Menu Item Atur atribut masing-masing menu item menjadi: • Item – Id : @+id/menuAddNote – Title : @string/menu add note • Item – Id : @+id/menuAbout – Title : @string/menu about .

Notepad/. .layout.Activity.MODUL 4.app.view. Pada AVD.onCreate(savedInstanceState).main). } } 16. */ @Override public void onCreate(Bundle savedInstanceState) { super.inflate(R. menu).Notepad.onCreateOptionsMenu(menu). setContentView(R.Bundle.os. Kemudian tambahkan beberapa baris kode program berikut: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 package latihan. tekan button menu untuk melihat apakah menu sudah ada pada program. import android.utama. public class Notepad extends Activity { /** Called when the activity is first created. import android. buka file Notepad. import android. return super.Menu. Sekarang. NOTEPAD 42 Menambahkan Menu utama ke Activity Notepad 15. Sekarang coba Run program.java yang ada pada src/latihan.menu. } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().

Untuk memanggil kelas EditNote kita perlu membuat handler utntuk masing-masing Menu Item terlebih dahulu. Untuk membuat handler. Memanggil Kelas EditNote dari Menu. . public class Notepad extends Activity { /** Called when the activity is first created. 17.Notepad..10: Tampilan menu Akan tetapi menu-menu itu masih belum memiliki handler di dalam program.. tambahkan methode onMenuItemSelected berikut pada program: 1 2 3 4 5 6 7 package latihan. private static final int ACTIVITY_EDIT=1.. */ private static final int ACTIVITY_CREATE=0..MODUL 4. . NOTEPAD 43 Gambar 4. .

MenuItem item) { switch(item.menuAbout: // handler untuk menu About showAbout(). item). NOTEPAD 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 44 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater(). } private void createNote() { // Memanggil Kelas EditNote Intent i = new Intent(this. menu). } private void showAbout() { // Dialog About.class). return true. } } 18.inflate(R.id. return true.onMenuItemSelected(featureId. Apa yang terjadi? . } return super.menu. return super.MODUL 4.menuAddNote: //handler untuk menu Add Note createNote(). Kemudian coba pilih menu Add Note pada program.onCreateOptionsMenu(menu). case R. } @Override public boolean onMenuItemSelected (int featureId. startActivityForResult(i. Belum diimplementasikan.getItemId()) { case R.id. Simpan dan Run program.EditNote.utama. ACTIVITY_CREATE).

MODUL 4.xml. kita perlu menambahkan/mengenalkan Activity yang telah kita buat (EditNote) ke AndroidManifest. Buka file AndroidManifest.12: Tab Application . Caranya: 19. Navigasi ke tab Application (tab berada di bagian bawah). Gambar 4.xml. Menambahkan Activity Untuk dapat menanggulangi masalah di atas. NOTEPAD 45 Gambar 4.11: Crash Program akan Crash. akan tetapi ada satu langkah penting lagi yang harus dilakukan untuk dapat memanggil Activity lainnya. 20. Ini bukan terjadi karena kesalahan dalam program.

Kemudian coba pilih kembali menu Add Note.MODUL 4. Atur atribut Activity baru tersebut menjadi: • Name* : . kemudian pilih Activity untuk menambahkan Activity baru. . Gambar 4. Scroll layar ke bawah.. Kemudian pada bagian Application Nodes Klik Add. NOTEPAD 46 21.EditNote 23.13: Aplication Nodes 22.. Simpan dan Run kembali program.

Buat menu baru (Caranya. NOTEPAD 47 Gambar 4.EditNote Menambahkan Menu untuk Activity EditNote 24. Buka string.xml kemudian tambahkan beberapa String baru: • String – Name* : menu save – Value* : Save • String – Name* : menu revert – Value* : Revert • String – Name* : menu delete – Value* : Delete 25. baca pada point 11 dan 12) dengan konfigurasi: • Project : Notepad .14: Activity .MODUL 4.

private EditText noteBody.onCreate(savedInstanceState). android.MenuItem.view.Bundle. Kemudian buat handlernya pada Kelas EditNote: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... Atur atribut masing-masing menu item menjadi: • Item – Id : @+id/menuSave – Title : @string/menu save • Item – Id : @+id/menuRevert – Title : @string/menu revert • Item – Id : @+id/menuDelete – Title : @string/menu delete 28.os.edit_note). setContentView(R.. in Menu” kemudian pilih Item. . android. import import import import android. Tambahkan tiga buah Menu Item dengan mengklik Add.Menu.xml yang berada di bawah res/menu/. android. NOTEPAD • File : edit • Type : Menu • Folder : /res/menu 26.EditText. @Override public void onCreate(Bundle savedInstanceState) { super. Pilih ”Create a new element at the top level.widget.view. Buka file edit.. 48 27.MODUL 4.layout.. public class EditNote extends Activity { private EditText noteTitle.

id. case R.id.onCreateOptionsMenu(menu). case R.getItemId()) { case R.MODUL 4.editBody).id.id.menu.onMenuItemSelected(featureId. item).inflate(R. NOTEPAD 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 49 noteTitle = (EditText) findViewById(R. . } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().editTitle).id.edit. return super.menuDelete: // delete note return true. } } 29.menuSave: // save note return true. } @Override public boolean onMenuItemSelected(int featureId.menuRevert: // revert note return true. } return super. noteBody = (EditText) findViewById(R. MenuItem item) { switch(item. Simpan dan Run program. menu).

NOTEPAD 50 Gambar 4. • Network Connection Menyimpan data ke dalam jaringan. • Internal Storage Menyimpan data dalam devivce memory. • External Storage Mentimpan data ke External memory. .15: Menu pada EditNote Storage System Ada lima model penyimpanan data yang bisa kita gunakan dalam palikasi android yakni: • Shared preferences Untuk menyimpan data primitive ke dalam pasangan key-value. • SQLite Database Menyimpan data yang terstuktur ke dalam Database.MODUL 4.

Notepad. private SQLiteDatabase mDb.content. android. android.database.SQLException.Notepad • Name : NoteDbAdapter • Modifier : Public • Superclass : (kosongkan) 31. Menyiapkan Database Adapter 30.content. private DatabaseHelper mDbHelper. import import import import import import import android.Cursor. dan tambahkan beberapa baris source code berikut: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 package latihan. public static final String KEY_ROWID = "_id".sqlite. Dengan Konfigurasi: • Source Folder : Notepad/src • Package : latihan. Untuk model penyimpanan lainnya akan kita bahas di lain waktu. Kemudian Edit kelas NoteDbAdapter tersebut. NOTEPAD 51 Untuk Aplikasi Notepad ini. public class NoteDbAdapter { public static final String KEY_TITLE = "title".database.database.SQLiteDatabase. .database. android. public static final String KEY_BODY = "body". android. kita akan mencoba menyimpan datanya ke dalam database.Notepad (Caranya baca pada point 9). Buat sebuah kelas baru di bawah package latihan.Context.util.MODUL 4.ContentValues.sqlite.SQLiteOpenHelper.Log. android. private static final String TAG = "NotesDbAdapter". android.

mCtx = ctx.execSQL(DATABASE_CREATE). private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context.MODUL 4. NOTEPAD 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 52 private static final String DATABASE_CREATE = "create table notes (_id integer primary key autoincrement. " + "title text not null. int newVersion) { Log. private final Context mCtx. } @Override public void onCreate(SQLiteDatabase db) { db.w(TAG. which will destroy all old data"). private static final String DATABASE_NAME = "data". "Upgrading database from version " + oldVersion + " to " + newVersion + ". private static final String DATABASE_TABLE = "notes".". null. DATABASE_NAME.execSQL("DROP TABLE IF EXISTS notes"). int oldVersion. DATABASE_VERSION). body text not null). onCreate(db). private static final int DATABASE_VERSION = 2. } . } } public NoteDbAdapter(Context ctx) { this. } @Override public void onUpgrade(SQLiteDatabase db. db.

null). KEY_BODY}. null. initialValues. initialValues. null. null. } public Cursor fetchNote(long rowId) throws SQLException { Cursor mCursor = mDb.put(KEY_BODY. null. null. } public void close() { mDbHelper. null.query(true. return this. new String[] {KEY_ROWID.put(KEY_TITLE.moveToFirst(). DATABASE_TABLE. } public Cursor fetchAllNotes() { return mDb. null) > 0.delete(DATABASE_TABLE. KEY_ROWID + "=" + rowId. KEY_TITLE. KEY_ROWID + "=" + rowId. null. body). mDb = mDbHelper. return mDb. if (mCursor != null) { mCursor. NOTEPAD 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 53 public NoteDbAdapter open() throws SQLException { mDbHelper = new DatabaseHelper(mCtx). null.insert(DATABASE_TABLE. . title). null).getWritableDatabase(). new String[] {KEY_ROWID.MODUL 4. } public boolean deleteNote(long rowId) { return mDb. String body) { ContentValues initialValues = new ContentValues(). KEY_BODY}. null. KEY_TITLE. initialValues). } public long createNote(String title.close().query(DATABASE_TABLE.

java. Menyimpan Note Untuk menyimpan note. Dalam kelas tersebut telah ada methode untuk menyimpan note ke dalam database yakni createNote. } } 32. args. String body) { ContentValues args = new ContentValues(). null) > 0.. NOTEPAD 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 54 } return mCursor. String title. kemudian tambahkan sebuah methode saveNote() pada kelas tersebut. public class EditNote extends Activity { . KEY_ROWID + "=" + rowId. title). Caranya: 33. kita perlu source code ketika user memilih menu Save pada Activity EditNote. menghapus note yakni deleteNote. Update dan Delete) data note yang ada dalam database. kita perlu menambahkan proses penyimpanan pada handler untuk menu save. args..MODUL 4. return mDb. body). Membaca dan Menghapus Note Nah pada langkah di atas. membaca note fetchNote dan meng-update yakni updateNote.put(KEY_BODY. Buka file EditNote. Selanjutnya. } public boolean updateNote(long rowId. 1 2 . Menyimpan. args. kita sudah membuat sebuah kelas untuk membantu proses CRUD (Create.update(DATABASE_TABLE. Read.put(KEY_TITLE.

editTitle).getSerializable( NoteDbAdapter.layout. } } . noteBody = (EditText) findViewById(R.MODUL 4. case R.id. EditText noteBody.id. mRowId = extras != null ? extras. mRowId = (savedInstanceState == null) ? null : (Long) savedInstanceState.onCreate(savedInstanceState). NOTEPAD 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 55 private private private private EditText noteTitle. return true. noteTitle = (EditText) findViewById(R. setContentView(R.menuSave: // save note saveNote(). if (mRowId == null) { Bundle extras = getIntent().open().menuRevert: .id. mDbHelper.getLong(NoteDbAdapter. NoteDbAdapter mDbHelper. @Override public boolean onMenuItemSelected(int featureId.editBody). @Override public void onCreate(Bundle savedInstanceState) { super..KEY_ROWID). mDbHelper = new NoteDbAdapter(this). MenuItem item) { switch(item.edit_note).getExtras()..KEY_ROWID) : null. Long mRowId.id.getItemId()) { case R.

String body = noteBody.toString().getText(). } } else { mDbHelper. case R. Simpan dan coba Run program.toString(). body). } public void saveNote() { String title = noteTitle. if (id > 0) { mRowId = id.createNote(title.updateNote(mRowId.MODUL 4. item).getText(). title. } return super.menuDelete: // delete note return true. NOTEPAD 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 56 // revert note return true.onMenuItemSelected(featureId. } } } 34. body). . if (mRowId == null) { long id = mDbHelper.id.

Buat sebuah layout baru. NOTEPAD 57 Gambar 4. masih belum terlihat efeknya karena kita masih belum membuat methode untuk menampilkannya pada tampilan utama aplikasi Notepad (pada layout main. 36. Membaca Note Untuk mbaca note. buat file XML dengan konfigurasi: • Project : Notead • File : note row .16: Menu pada EditNote Catatan: Ketika menu Save dipilih.xml). dan pada kelas EditNote untuk mengedit note yang telah ada. kita perlu menambahkan beberapa proses untuk membaca note. Menampilkan List Note 35. caranya lihat pada point 5. Yakni pada kelas Notepad untuk menampilkan list Note yang telah ada.MODUL 4. Pada jendela New Android XML File.

MODUL 4. Kemudian klik Finish Gambar 4. . 38. dengan cara mengkilk kanan TextView pada Outline kemudian pilih Edit ID. Buka file note row. 37.17: Layout note row dengan TextView sebagai Root element-nya.xml yang ada di bawah res/layout. Ubah ID TextView yang ada pada layout. Kemudian ganti menjadi: • ID : noteRow Kemudian simpan perubahan. NOTEPAD • Type : Layout • Folder : /res/layout • root element : TextView 58 Pastikan Root element-nya menggunakan TextView.

view.Menu.Intent. Buka file Notepad.ContextMenu.view.MenuItem. Kemudian tambahkan import class: package latihan.ListView.ContextMenuInfo.18: Layout note row. import android. //import android.SimpleCursorAdapter.ListActivity. public class Notepad extends Activity { . import android.widget. import android.xml (b) Outline Gambar 4.MODUL 4. NOTEPAD 59 (a) Layout note row. import android.Activity.View.xml dan Outline-nya Menambahkan Program 39.AdapterContextMenuInfo. import android.app. import android.Bundle.AdapterView.Cursor.view.database. import android. import android. import android.Notepad.widget.view.java.widget.content. import android.ContextMenu.app.os. import android. import android.view.

.MODUL 4. */ private static final int ACTIVITY_CREATE=0. public class Notepad extends ListActivity { /** Called when the activity is first created.AdapterContextMenuInfo. Tambahkan objek mDbHelper untuk koneksi ke databse dan DELETE ID untuk membuat Contxt menu: package latihan. public class Notepad extends ListActivity { .. private static final int ACTIVITY_EDIT=1..widget. */ private static final int ACTIVITY_CREATE=0. 41.. 42. .AdapterView. public class Notepad extends ListActivity { /** Called when the activity is first created. . Buka koneksi ke database dengan memanggil methode open() dari objek mDbHelper pada methode onCreate(): package latihan. NOTEPAD /** Called when the activity is first created.onCreate(savedInstanceState)... import android.Notepad. .. private static final int DELETE_ID = Menu. Ganti superclass dari Notepad yang tadinya dari kelas Activity menjadi ListActivity package latihan. @Override public void onCreate(Bundle savedInstanceState) { super...Notepad.FIRST + 1.. . private static final int ACTIVITY_EDIT=1... . .Notepad. private NoteDbAdapter mDbHelper. 60 40... */ .

. Catatan: Di sini kita memanggil layout note row.. SimpleCursorAdapter notes = new SimpleCursorAdapter(this.Notepad.Notepad. fillData().. public class Notepad extends ListActivity { ... notesCursor. mDbHelper = new NoteDbAdapter(this).id.fetchAllNotes(). } . .xml: package latihan. . .KEY_TITLE.. Buat methode fillData() untuk mengisi listView yang ada pada layout main. setListAdapter(notes). dimana TextView noteRow akan diisi dengan string berupa title dari note yang ada di dalam database. registerForContextMenu(getListView()). 61 43... int[] to = new int[]R.open(). NOTEPAD setContentView(R.. } . Tambahkan methode onListItemClick() untuk menghandle event ketika list di klik: package latihan. 44.main). startManagingCursor(notesCursor). private void fillData() { Cursor notesCursor = mDbHelper. from.noteRow. to).layout. mDbHelper.note_row.layout. R.MODUL 4. String[] from = new String[]NoteDbAdapter.xml..

Tambahkan methode untuk membuat context menu pada List.getItemId()) { case DELETE_ID: AdapterContextMenuInfo info = (AdapterContextMenuInfo) item. } @Override public boolean onContextItemSelected(MenuItem item) { switch(item.onCreateContextMenu(menu.. 45. ..add(0. id). 0.putExtra(NoteDbAdapter.KEY_ROWID.deleteNote(info. Dimana ketika salah satu item dalam list di klik. fillData(). Intent i = new Intent(this. i. DELETE_ID. startActivityForResult(i.getMenuInfo().id).. EditNote..Notepad. R. id). ContextMenuInfo menuInfo) { super. .string. @Override protected void onListItemClick(ListView l.class). v.onListItemClick(l.. View v. @Override public void onCreateContextMenu(ContextMenu menu. menuInfo).MODUL 4. NOTEPAD public class Notepad extends ListActivity { . mDbHelper. 62 Methode ini digunakan untuk menghandle event klik pada listView. maka ia akan menjalankan activity EditNote dalam mode Edit (ACTIVITY EDIT). int position. } .. position. menu. View v. long id) { super.. v. public class Notepad extends ListActivity { .menu_delete).. serta handler menunya: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 package latihan. ACTIVITY_EDIT).

intent).. fillData(). } return super. resultCode.onContextItemSelected(item). Simpan dan Run program.. Listing full program dapat dilihat pada halaman terakhir... public class Notepad extends ListActivity { .. Intent intent) { super. maka List note yang ada di update kembali dengan memanggil methode fillData(): 1 2 3 4 5 6 7 8 9 10 11 12 package latihan. .MODUL 4.. } . Jika tidak ada kesalahan maka program akan berjalan seperti: . 47. 46..onActivityResult(requestCode.Notepad. @Override protected void onActivityResult (int requestCode.. Dan tambahkan sebuah methode untuk menghandle ketika sebuah activity selesai. NOTEPAD 21 22 23 24 25 63 return true. } . int resultCode.

java.Bundle.19: Hasil Run Program Akan tetapi jika anda mengklik note.Activity.database.app. Membaca Note untuk mode Editing 48. Buka file EditNote. 49. ketika masuk ke activity EditNote note masih belum terbaca. .Notepad.Cursor. import android. NOTEPAD 64 (a) List Note yang telah dibuat (b) Context menu Delete Gambar 4. import android. Selanjutnya kita perlu menambahkan methode untuk me-retrive data (Title dan Body) Note dari database: . Kemudian tambahkan import class: 1 2 3 4 5 6 package latihan.MODUL 4. import android.os... Karena itu kita perlu menambahkan juga beberapa baris program pada kelas EditNote untuk membaca note dari database.

@Override public void onCreate(Bundle savedInstanceState) { .getString( note.. NOTEPAD 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 65 package latihan..setText(note. noteTitle. public class EditNote extends Activity { .KEY_TITLE))).. . } } . startManagingCursor(note)....getColumnIndexOrThrow(NoteDbAdapter.. mDbHelper = new NoteDbAdapter(this)..setText(note.open().. } private void populateFields() { if (mRowId != null) { Cursor note = mDbHelper. .getString( note.Notepad.fetchNote(mRowId).MODUL 4. @Override public void onCreate(Bundle savedInstanceState) { . mDbHelper.... .Notepad.. noteBody.getColumnIndexOrThrow(NoteDbAdapter.. Selanjutnay kita perlu memanggil methode populateFields() tersebut ketika activity EditNote dijalankan. yakni pada methode onCreate(): 1 2 3 4 5 6 7 8 9 10 11 package latihan. 50. public class EditNote extends Activity { .KEY_BODY))).

(a) Notepad (b) Edit Mode Gambar 4. 51..KEY_ROWID) : null. NOTEPAD 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 66 mRowId = (savedInstanceState == null) ? null : (Long) savedInstanceState.getExtras().KEY_ROWID). Simpan kemudian Run program. mRowId = extras != null ? extras..getLong(NoteDbAdapter. } private void populateFields() { .getSerializable( NoteDbAdapter.20: Hasil Run Program . if (mRowId == null) { Bundle extras = getIntent(). } populateFields().MODUL 4.

builder.Builder builder = new AlertDialog. 2.OnClickListener() { @Override public void onClick(DialogInterface dialog. new DialogInterface.setMessage("Are you sure?") .Builder(this).dismiss().setPositiveButton("OK".MODUL 4.Builder builder = new AlertDialog.setPositiveButton("OK". new DialogInterface. } Dan methode deleteNote(): 1 2 3 4 5 6 7 private void deleteNote() { AlertDialog. dialog.setTitle("Revert").show(). AlertDialog dialogHasil = builder. Buka dan edit file EditNote. Kita masih belum membuat handler untuk menu Revert dan Delete pada menu EditNote.create(). builder.setMessage("Are you sure?") . int which) { // TODO Auto-generated method stub populateFields(). Sebagai latihan mari kita coba tambahkan handler-handler ini: 1. } }). builder. builder. NOTEPAD 67 Latihan Pada program di atas.Builder(this). tambahkan dua buah methode baru yakni methode revertNote() dan deleteNote(): 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 private void revertNote() { AlertDialog.java.setTitle("Delete Note").OnClickListener() { . dialogHasil.

AlertDialog dialogHasil = builder. NOTEPAD 8 9 10 11 12 13 14 15 16 17 18 19 68 @Override public void onClick(DialogInterface dialog. } }). Simpan dan coba Run kembali program. 4. finish(). } 3. Kemudian panggil methode-methode tersebut melalui handler menu yang telah dibuat pada methode onMenuItemSelected(). dialog.show(). . dialogHasil.deleteNote(mRowId).dismiss().create(). int which) { // TODO Auto-generated method stub mDbHelper.MODUL 4.

NOTEPAD 69 (a) Note awal (b) Revert hasil perubahan (c) Delete Note (d) List Note setelah dihapus Gambar 4.21: Hasil Akhir Run Program .MODUL 4.

MODUL 5 Update Facebook Target: (a) Halaman login (b) Update Status Gambar 5.1: Target Akhir 70 .

2. UPDATE FACEBOOK 71 Langkah-langkah Membuat Facebook Apps Sebelum bisa membuat aplikasi untuk mengakses Facebook. pertama-tama kita perlu meregistrasikan aplikasi kita terlebih dahulu di Facebook untuk mendapatkan Apps ID.com/developers/apps.MODUL 5.facebook.2: Creating Facebook Apps. Untuk melakukan registrasi sebuah aplikasi di Facebook langkah-langkahnya yakni: 1. Buka alamat: http://www.php Gambar 5. Kemudian pilih +Set Up New Application . API key dan Apps Secret.

. Isi Apps Name dengan nama aplikasi yang akan Anda buat.MODUL 5. Selanjutnya pada halaman berikutnya Anda akan dihadapkan dengan captcha. menambahkan Icon dan Logo (untuk ditampilkan di halaman Facebook) serta pengaturan lainnya. Kemudian Piliha Agree dan klik Create App.3: Creating Facebook Apps. UPDATE FACEBOOK 72 Gambar 5. 3. Pada halaman ini anda dapat mengganti nama aplikasi. 5. Misalnya DoroidUpdater (Facebook tidak memperkenenkan nama applikasi yang mengandung trademark Facebook). 4. Setelah itu Anda akan masuk ke halaman edit Apps.

Kemudian simpan perubahan yang telah anda lakukan. App Secret dan Lainnya.5: Apps Information 8. 7. API Key dan App Secret Anda. API Key. berupa App ID. 6. Simpan App ID. Pada halaman berikutnya Anda akan mendapatkan informasi dari aplikasi Anda.4: Edit Apps. Gambar 5. Karena nanti . UPDATE FACEBOOK 73 Gambar 5.MODUL 5.

Caranya: 1. Pada jendela New Android Project pilih Create project from existing sources. Dari menu File >New >Project. Facebook Android SDK Selanjutnya kita membutuhkan library Facebook untuk dapat menggunakan Kelas-kelas untuk melakukan koneksi ke Facebook. UPDATE FACEBOOK 74 akan digunakan saat melakukan request untuk koneksi dengan Facebook.com/facebook/facebook-android-sdk Kemudian download SDK-nya. ...6: Facebook Android SDK Selanjutnya extrak SDK yang telah di download di tempat yang aman. Kita perlu mengimport SDK tersebut ke Eclipse untuk dijadikan sebuah Project library. Untuk mendapatkannya buka halaman: https://github. 2. Gambar 5. Mengimport SDK sebagai Library Setelah berhasil di download dan di extrak. pilih Android Project.MODUL 5.

Catatan : Pada direktory SDK facebook tersebut terdapat tiga buah direktory. Dan direktory test berisi test project.MODUL 5. 4.3. yakni example.3 (atau sesuaikan). klik Browse.. UPDATE FACEBOOK 75 3. dan cari direktory dimana anda mengextrak facebook SDK yang telah anda download. Gambar 5. Pada Location. kemudian pilih sub direktory facebook. Pada Build target pilih Android 2. Direktory example berisi contoh-contoh penggunaan SDK. facebook dan test..7: Import Facebook Android SDK ke Eclipse . Direktory facebook berisi library SDK.

kita sudah siap untuk membuat Aplikasi Android yang terintegrasi dengan Facebook.8: Project com facebook android Membuat Aplikasi Setelah semua persiapan untuk pembuatan aplikasi sudah selesai. Jika berhasil.3 (sesuaikan) • Application Name : Facebook Updater • Package name : latihan.MODUL 5. Membuat Project 1. UPDATE FACEBOOK 76 5. Buat sebuah project baru. dengan property: • Project name : DroidUpdater • Build Target : Android 2.droidupdater • Create Activity : DroidUpdater • Min SDK : 10 (sesuaikan dengan Build target) . Gambar 5. maka Anda akan mendapatkan sebuah project baru bernama com facebook android pada Package Explorer Anda.3.

xml 4.MODUL 5.xml menjadi: (a) Layout (b) Outline Gambar 5.9: Layout main.xml: • String – Name : post wall – Value : Post to Wall • String – Name : postToWall – Value : postToWall • Color – Name : biru – Value : #FF0000FF • String – Name : abu – Value : #FFEEEEEE 3. Kemudian ubah property masing-masing objek menjadi: • LinearLayout – Orientation : Vertical . Ubah layout main. UPDATE FACEBOOK 77 Membuat UI 2. Tambahkan beberapa value pada string.

MODUL 5. UPDATE FACEBOOK – Layout width : Fill parent – Layout height : Fill parent – Background : @color/abu • Text View – – – – – – – – – – – – – – – Layout Width : Fill parent Layout Height : 90dip Text Color : @color/biru Text Size : 20sp Text Style : bold Gravity : center Layout Gravity : center Text : @string/app name Layout Width : Wrap Content Layout Height : Wrap Content Text Style : bold Gravity : center Layout Gravity : center On Click : @string/postToWall Text : @string/post wall 78 • Button Sehingga layout akan terlihat seperti: Gambar 5.10: Project com facebook android .

*..android.Facebook.xml kemudian masuk ke Tab Permission.app. public class DroidUpdater extends Activity { /** Called when the activity is first created.content. @Override .. com. */ private static final Facebook fb = new Facebook("147478081988384"). com.android. android. android. Tambahkan beberapa import library: 1 2 3 4 5 6 7 8 import import import import import import import .permission. Kemudian tambahkan property pada kelas DroidUpdater: 1 2 3 4 5 6 7 8 .MODUL 5.android. com. Buka file DroidUpdater.view.facebook.facebook. Pada methode onCreate() tambahkan beberapa baris berikut: .INTERNET Hint: Cukup pilih permission yang ada pada Combo Box... Penting: Ganti ”147478081988384” dengan App ID Anda yang telah di buat di atas. UPDATE FACEBOOK 79 Membuat Koneksi 5. 9. Pilih Add untuk menambahkan Permission tambahkan: • Uses Permission – Name : android.FacebookError.Activity.Bundle. 6..View.java untuk mengubah activity DroidUpdater.Intent. android. Buka file AndroidManifest.. 7.facebook. android.*. 8.os.

*/ private static final Facebook fb = new Facebook("147478081988384"). Tambahkan methode onActivityResult: 1 2 3 4 5 . fb. 10. public class DroidUpdater extends Activity { /** Called when the activity is first created.MODUL 5.layout. public class DroidUpdater extends Activity { /** Called when the activity is first created.. } . setContentView(R. . */ private static final Facebook fb = new Facebook("147478081988384").. UPDATE FACEBOOK 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 80 .authorize(this .new DialogListener() { @Override public void onFacebookError(FacebookError e) { } @Override public void onError(DialogError e) { } @Override public void onComplete(Bundle values) { } @Override public void onCancel() { } })..main)....onCreate(savedInstanceState). @Override public void onCreate(Bundle savedInstanceState) { super.

11: Hasil Run . int resultCode. (a) Halaman login (b) Authentikasi Gambar 5. resultCode.onActivityResult(requestCode.. Intent data) { super.MODUL 5.authorizeCallback(requestCode. UPDATE FACEBOOK 6 7 8 9 10 11 12 13 14 15 16 17 18 19 81 @Override public void onCreate(Bundle savedInstanceState) { . resultCode. data). Simpan dan coba Run program.. } } 11. data). fb. } @Override public void onActivityResult( int requestCode.

. "friends_status" }. 13. hak akses yang dimiliki hanya hak untuk mengakses informasi dasar saja. Caranya: 12. @Override public void onCreate(Bundle savedInstanceState) { . */ private static final Facebook fb = new Facebook("147478081988384").MODUL 5. "friends_status" }. Kita perlu menambahkan akses untuk bisa melakukan post ke Wall... kita perlu mengubah mode authentikasi ketika memanggil methode authorize().. Aplikasi kita harus memiliki akses untuk melakukan posting ke Wall. UPDATE FACEBOOK 82 Akan tetapi. program masih belum bisa digunakan untuk mengupdate status karena kita belum membuat methode untuk menghandle event onClick pada Button. private static final String[] POST_AUTH = new String[] { "publish_stream". Tambahkan sebuah property pada kelas DroidUpdater: 1 2 3 4 5 6 7 8 9 10 11 12 .. Pada hasil Run di atas. */ private static final Facebook fb = new Facebook("147478081988384"). . public class DroidUpdater extends Activity { /** Called when the activity is first created. private static final String[] POST_AUTH = new String[] { "publish_stream".. public class DroidUpdater extends Activity { /** Called when the activity is first created. Post to Wall Untuk bisa melakukan posting ke Wall. Ubah mode autentikasi saat pemanggilan methode authorize() dari objek fb: 1 2 3 4 5 6 7 8 . Untuk menambahkannya.

layout...new DialogListener() { @Override public void onFacebookError(FacebookError e) { } @Override public void onError(DialogError e) { } @Override public void onComplete(Bundle values) { } @Override public void onCancel() { } }). UPDATE FACEBOOK 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 83 @Override public void onCreate(Bundle savedInstanceState) { super. setContentView(R.. 14... Tambahkan methode postToWall() untuk mempost ke Wall: 1 2 3 4 5 6 7 8 9 10 .main).MODUL 5.. @Override public void onCreate(Bundle savedInstanceState) { . } .POST_AUTH .onCreate(savedInstanceState).authorize(this. } public void postToWall(View view) { Bundle param = new Bundle(). ... public class DroidUpdater extends Activity { . fb.

param. "Therefore we must reduce it. param...dialog(this.. param.com").MODUL 5..putString("picture". "http://developer..putString("link". 15. "feed". fb. "http://kumachii.com/assets/images/bg_logo. new DialogListener() { @Override public void onFacebookError(FacebookError e) { } @Override public void onError(DialogError e) { } @Override public void onComplete(Bundle values) { } @Override public void onCancel() { } }). Kemudian simpan dan Run Program. } ..").. . "B-A-K-A is Unlimited. UPDATE FACEBOOK 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 84 param. param..").putString("description".android.putString("caption".png").wordpress.

MODUL 5.12: Hasil Run . UPDATE FACEBOOK 85 (a) Halaman login (b) Authentikasi (c) Halaman Utama (d) Post to Wall Gambar 5.

MODUL 5. .13: Status yang terupdate menggunakan DroidUpdate. UPDATE FACEBOOK 86 Gambar 5.

Mobile Apps .html.android.facebook. 2011. http://developers.Daftar Referensi [1] Google Inc.Facebook Developers. 2011.. http://developer..com/guide/index. Android Developers Guide. 87 . [2] Facebook.com/docs/guides/mobile/.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->