26 4 14 nur iksan ptik unnes mobcomp penyimpanan data update

Upload: ayupaska

Post on 15-Oct-2015

39 views

Category:

Documents


0 download

TRANSCRIPT

  • 1 Penggampu: Nur Iksan | PTIK UNNES 2014

    Penyimpanan Data

    Menyimpan data pada aplikasi Android dapat dilakukan dengan beberapa cara, antara lain :

    1. Shared Preferences

    Adalah penyimpanan data primitif pada file internal aplikasi dengan pasangan key-value.

    2. Internal Storage

    Adalah penyimpanan data privat pada memory internal device.

    3. External Storage

    Adalah penyimpanan data yang bersifat publik (dapat diakses siapapun) pada memory external

    device.

    4. SQLite Databases

    Adalah penyimpanan data terstruktur pada database internal aplikasi yang mendukung relasi antar

    tabel

    5. Network Connection

    Adalah penyimpanan data pada server dengan perantara jaringan (internet).

    Shared Preferences (SP)

    Penyimpanan dengan metode ini merupakan penyimpanan data yang paling sederhana. Sederhana pada

    data yang disimpan maupun metode penyimpanannya. Data yang dapat disimpan hanyalah data primitif

    seperti int, boolean, float, long, dan String. Data disimpan dengan konsep pasangan Key-Value. Key

    digunakan sebagai id dari data dan Value adalah nilai datanya, misalnya key adalah nama dan value

    adalah nilai dari nama itu misalnya dian, sehingga pasangan Key-Valuenya adalah (key,value) =

    (nama,dian). SP cocok untuk penggunaan ringan seperti menyimpan setting aplikasi dan kondisi user

    interface misalnya pada saat activity masuk ke state sleep karena device menerima telepon.

    Data dalam shared preferences disimpan dalam device android dalam bentuk XML. Ada tiga mode

    untuk shared preferences (SP)

    MODE_PRIVATE: hanya aplikasi yang membuat SP yang dapat mengakses data

    MODE_WORLD_READABLE: aplikasi lain boleh membaca

    MODE_WORLD_WRITEABLE: aplikasi lain boleh membaca sekaligus menulis.

    Shared Preference objek untuk activity diperoleh melalui method getPreferences(). Kode berikut

    memperlihatkan cara penggunaan SP. Jangan lupa memanggil commit!

  • 2 Penggampu: Nur Iksan | PTIK UNNES 2014

    Setelah menyelesaikan kode tersebut, selanjutnya jalankan. Kemudian coba komentari bagian isi data,

    dan jalankan kembali aplikasi.

    Dapat dilihat data nama dan umur tersimpan walaupun aplikasi sudah ditutup.

    Latihan

    Buatlah aplikasi sederhana, untuk menyimpan data dari sebuah komponen textview. Kemudian

    tampilkan data hasil dari inputan tersebut.

  • 3 Penggampu: Nur Iksan | PTIK UNNES 2014

    SQLite

    SQLite adalah embedded database (hanya menggunakan sekitar 250KB memori) yang menyediakan

    fasilitas relational DBMS termasuk SQL. Referensi lengkap SQLite dapat dilihat di

    http://www.sqlite.org/ SQLite tidak hanya digunakan di Android.

    Setiap aplikasi memiliki instance database tersendiri, dan berbeda dengan shared preference, tidak

    disediakan fasilitas agar aplikasi dapat membaca database aplikasi lain.

    Untuk menggunakan SQLite, sangat dianjurkan menggunakan class helper untuk membuka dan

    menutup database, menginisiasi tabel dst. Helper juga digunakan saat melakukan upgrade struktur

    database jika suatu saat aplikasi diupdate. Class helper ini diturunkan dari class SQLiteOpenHelper.

    Untuk latihan kita akan membuat aplikasi sederhana yang menyimpan data mahasiswa berupa nama

    dan nomor telpon. Pertama kita buat class helper terlebih dulu. Buatlah project Android, tambahkan ke

    dalam project tersebut satu class (ke project explorer, pilih src/nama package; klik kanan New

    Class). Pastikan superclass kelas ini adalah SQLiteOpenHelper. Beri nama class ini OpenHelper.

    Contoh:

    Kia akan membuat aplikasi sederhana untuk menyimpan dan mengambil data buku yang meliputi judul

    dan nama pengarang. Selain operasi penyimpanan dan pengambilan data, bisa juga dilakukan operasi

    penghapusan dan pengeditan data atau bisa juga disebut operasi CRUD (Create, Read, Update, Delete).

    1. Create Android Application

    File >> New >> Android Application

    Enter App name: SQLite App

    Enter Project name: android-sqlite

    Pakcage: com.hmkcode.android

    Keep other defualt selections, click Next until you reach Finish

    2. Data Model Design Table Structure

    We want to create the following:

  • 4 Penggampu: Nur Iksan | PTIK UNNES 2014

    One Database instance: BookDB.

    One Table: books with three columns id, title & author

    3. Extends SQLiteOpenHelper

    The recommended method to create a new SQLite database is to create a subclass of SQLiteOpenHelper

    and override the onCreate() method, in which you can execute a SQLite command to create tables in the

    database.

    This is the main step.

    Create a new class MySQLiteHelper extends SQLiteOpenHelper.

    MySQLiteHelper constructor must call the super class constructor.

    Override onCreate() method to create the table(s)

    Override onUpgrade() to drop old tables and create new ones.

  • 5 Penggampu: Nur Iksan | PTIK UNNES 2014

    This class MySQLiteHelper will just create for us Database BookDB with one empty table

    books.

    Next, we will create methods to help us populate insert, read select, update and delete

    book(s) from this table.

    4. Create object Model Book.java

    Create one Java class: Book.java

  • 6 Penggampu: Nur Iksan | PTIK UNNES 2014

    5. Add, Get, Update & Delete a Book

    In the same file MySQLiteHelper.java we will add 5 methods

    a. addBook(Book book)

    b. getBook(int id)

    c. getAllBooks()

    d. update(Book book)

    e. delete(Book book)

    Some static constants

    Define static constants for table & columns names:

    a. addBook(Book book)

    Notice:

    ConentValues this class is used to store a set of values.

    Log.d() just for logging, so we can see the result later on LogCat when we run the App.

  • 7 Penggampu: Nur Iksan | PTIK UNNES 2014

    b. Jalankan addbook() dengan menambahkan kode pada mainActivity.java

  • 8 Penggampu: Nur Iksan | PTIK UNNES 2014

    c. getBook(int id)

    6. Where to See the Results? LogCat!

    Log function Log.d() used within the addBook(), getBook()etc. will log database operations on

    LogCat Eclipse (ADT) window.

    If you dont see LogCat window, you need to add it.

    go to Window >> Show View >> Others (on Show View window) Android >> LogCat

  • 9 Penggampu: Nur Iksan | PTIK UNNES 2014

    7. Melihat data pada SQLite melalui DDMS

    Untuk melihat data SQLite pada device atau emulator langsung dari eclipse melalui tampilan DDMS,

    kita perlu menambahkan plugin SQLite viewer ke dalam eclipse. Ada beberapa plugin yang bisa

    dipakai, antara lain:

    a. com.questoid.sqlite.jar

    b. net.cellobject.sqlitexmlbrowser (yang kita pakai)

  • 10 Penggampu: Nur Iksan | PTIK UNNES 2014

    Dalam praktikum ini, kita akan menggunakan plugin nomer dua karena relatif stabil untuk melihat

    database ( .db , .sqlite3, dan sqlite). Selain itu bisa juga digunakan untuk melihat file preferences

    .xml.

    Cara Menambahkan Plugin

    a. Download plugin (net.cellobject.sqlitexmlbrowser.jar)

    b. masukkan ke dalam folder eclipse / plugins

    c. restart eclipse

    Cara Membuka SQLite dari DDMS

    a. Klik window > Open Perspective > DDMS

    b. pilih tab File Explorer > data > data > com.nama.package.aplikasi.kamu > databases, Klik

    namadatabase.db

    c. Kemudian klik tombol sqlite browser di sebelah pojok kanan atas

    d. Pilih tab Browes Data untuk melihat data yang tersimpan

  • 11 Penggampu: Nur Iksan | PTIK UNNES 2014