Anda di halaman 1dari 18

MODUL PERKULIAHAN

MOBILE
PROGRAMMING
ANDROID (LAB)

Database di Android - 2

Fakultas Program Studi Tatap Muka Kode MK Disusun Oleh

2020 MOBILE PROGRAMMING ANDROID (LAB)

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
12
Fakultas Ilmu Sistem Informasi F061700010 Suhendra, S.Kom., M.Kom
Komputer

Abstract Kompetensi
Pada bab ini kita akan mempelajari Mahasiswa mengenal, memahami
mengenai manipulasi data di dan mampu membuat aplikasi android
database yang ada di Android dengan menggunakan SQLite dan
dengan menggunakan SQLite memanipulasi data di database.

SQLite Database
1. Aplikasi database4
Pada aplikasi ini, kita akan membuat database, tabel serta menyimpan data ke
dalam database. Buatlah project baru seperti dibawah ini:
● Project Name : Database4
● Build Target : Android 2.3
● Application Name : database4
● Package name : com.hendraprastiawan.database4
● Activity : database4
● Min SDK :9

Penambahan layout dibuat di dalam file xml/preferences.xml yang mempunyai isi


sebagai berikut:

<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
2020 <ListPreference
MOBILE PROGRAMMING ANDROID (LAB)

android:key="sort_order"
android:title="Urutkan Data"
android:summary="Memilih urutkan data berdasarkan kriteria"
android:entries="@array/sort_names"
android:entryValues="@array/sort_clauses"
android:dialogTitle="Choose a sort order" />
2
</PreferenceScreen>

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
Sedangkan menu yang ditampilkan oleh tombol setting dibuat oleh
values/arrays.xml yang mempunyai isi sebagai berikut:

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


<resources>
<string-array name="sort_names">
<item>Berdasarkan Nama, dari alphabet awal ke akhir</item>
<item>Berdasarkan Nama, dari alphabet akhir ke awal</item>
<item>Berdasarkan Jenis Kelamin</item>
<item>Berdasarkan Alamat, dari alphabet awal ke akhir</item>
<item>Berdasarkan Alamat, dari alphabet akhir ke awal</item>
</string-array>

<string-array name="sort_clauses">
<item>nama ASC</item>
Untuk<item>nama
AlmagHelper.java disi dengan kode sebagai berikut:
DESC</item>
<item>jekel, name ASC</item>
package com.hendraprastiawan.database4;
<item>alamat ASC</item>
<item>alamat DESC</item>
import android.content.Context;
</string-array>
import android.content.ContentValues;
</resources>
import android.database.Cursor;
2020 MOBILE PROGRAMMING ANDROID (LAB)
import android.database.SQLException;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;

class AlmagHelper extends SQLiteOpenHelper {


private static final String DATABASE_NAME="addressmanager4.db";
3 private static final int SCHEMA_VERSION=1;

public AlmagHelper(Context context) {


super(context, DATABASE_NAME, null, SCHEMA_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
Pusat Bahan Ajar dan eLearning
http://www.mercubuana.ac.id
Suhendra, S.Kom., M.Kom
db.execSQL("CREATE TABLE almag (_id INTEGER PRIMARY KEY
AUTOINCREMENT, nama TEXT, alamat TEXT, jekel TEXT, hp TEXT);");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
public void insert(String nama, String alamat,String jekel,
String hp) {
ContentValues cv=new ContentValues();
2020 MOBILE cv.put("nama",
PROGRAMMING ANDROID nama);
(LAB)

cv.put("alamat", alamat);
cv.put("jekel", jekel);
cv.put("hp", hp);
getWritableDatabase().insert("almag", "nama", cv);
}
public void update(String id, String nama, String alamat,String
4 String hp) {
jekel,
ContentValues cv=new ContentValues();
String[] args={id};
cv.put("nama", nama);
cv.put("alamat", alamat);
cv.put("jekel", jekel);
cv.put("hp", hp); Pusat Bahan Ajar dan eLearning
getWritableDatabase().update("almag",
Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
cv, "_ID=?",args);
}
public String getNama(Cursor c) {
return(c.getString(1));
}
public String getAlamat(Cursor c) {
return(c.getString(2));
1) DetailForm.java

package com.hendraprastiawan.database4;

import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import
2020 android.widget.EditText;
MOBILE PROGRAMMING ANDROID (LAB)
import android.widget.RadioGroup;
import android.widget.TextView;

public class DetailForm extends Activity {


EditText nama=null;
EditText alamat=null;
5 EditText hp=null;
RadioGroup jekel=null;

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_form);

helper=new AlmagHelper(this);

nama=(EditText)findViewById(R.id.nama);
alamat=(EditText)findViewById(R.id.alamat);
hp=(EditText)findViewById(R.id.hp);
jekel=(RadioGroup)findViewById(R.id.jekel);

Button save=(Button)findViewById(R.id.save);

2020 MOBILE PROGRAMMING ANDROID (LAB)

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
if (almagId==null)
{helper.insert(nama.getText().toString(),
alamat.getText().toString(), type,
hp.getText().toString());
}
else {helper.update(almagId, nama.getText().toString(),
alamat.getText().toString(), type,
hp.getText().toString());
}
finish();
}
};

2) database4.java

package com.hendraprastiawan.database4;
import android.app.ListActivity;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
2020 MOBILE PROGRAMMING ANDROID (LAB)

import android.database.Cursor;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
7 android.view.View;
import
import android.view.ViewGroup;
import android.view.LayoutInflater;
import android.widget.AdapterView;
import android.widget.CursorAdapter;
import android.widget.Button;
import android.widget.EditText; Pusat Bahan Ajar dan eLearning
import android.widget.ImageView;
Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id

import android.widget.ListView;
import android.widget.RadioGroup;
import android.widget.TabHost;
import android.widget.TextView;

public class database4 extends ListActivity {


helper=new AlmagHelper(this);
prefs=PreferenceManager.getDefaultSharedPreferences(this);
2020 nama=(EditText)findViewById(R.id.nama);
MOBILE PROGRAMMING ANDROID (LAB)
alamat=(EditText)findViewById(R.id.alamat);
hp=(EditText)findViewById(R.id.hp);
jekel=(RadioGroup)findViewById(R.id.jekel);
initList();
prefs.registerOnSharedPreferenceChangeListener(prefListener);
}
8 @Override
public void onDestroy() {
super.onDestroy();
helper.close();
}
@Override
public void onListItemClick(ListView list, View view,
Pusat Bahan Ajar dan eLearning
int position, long
Suhendra, S.Kom., M.Kom id) {
http://www.mercubuana.ac.id

Intent i=new Intent(database4.this, DetailForm.class);


i.putExtra(ID_EXTRA, String.valueOf(id));
startActivity(i);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
2020 MOBILE PROGRAMMING ANDROID (LAB)

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
private SharedPreferences.OnSharedPreferenceChangeListener
prefListener=
new SharedPreferences.OnSharedPreferenceChangeListener() {
public void onSharedPreferenceChanged(SharedPreferences
sharedPrefs,String key) {
if (key.equals("sort_order")) {
initList();
}
}
};
class AlmagAdapter extends CursorAdapter {
AlmagAdapter(Cursor c) {
super(database4.this, c);

2020 MOBILE PROGRAMMING ANDROID (LAB)

10

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
Jalankan aplikasi database4 dan lakukan tambah data sebanyak 5 buah seperti
dibawah ini:

2020 MOBILE PROGRAMMING ANDROID (LAB)

11

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
2020 MOBILE PROGRAMMING ANDROID (LAB)

12

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
Sedangkan halaman untuk menambahkan data, di klik simbol lambang “+”
dibawah layar, maka akan tampil halaman sebagai berikut

Jika kita ingin merubah data yang sudah data, bisa klik sebanyak 2 kali di data
yang ingin dirubah, seperti dibawah ini:

2020 MOBILE PROGRAMMING ANDROID (LAB)

13

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
Untuk menguji proses sorting data, klik tombol setting dan pilih sesuai dengan
kriteria yang diinginkan seperti dibawah ini:

2020 MOBILE PROGRAMMING ANDROID (LAB)

14

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
2020 MOBILE PROGRAMMING ANDROID (LAB)

15

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
Jika kita memilih mengurutkan data berdasarkan Nama, dari alphabet akhir ke
awal, maka hasilnya seperti dibawah ini:

2020 MOBILE PROGRAMMING ANDROID (LAB)

16

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
2020 MOBILE PROGRAMMING ANDROID (LAB)

17

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id
Referensi:
1. https://developer.android.com/guide/components/intents-filters.html
2. Karch, Marziah. Android for Work Productivity for Professionals. Apress.
3. Felker, Donn. Android Application Development for Dummies. Wiley.
4. Burnette, Ed. Hello Android. Pragmatic Programmers.
5. Meier, Reto. Professional Android App. Development.

2020 MOBILE PROGRAMMING ANDROID (LAB)

18

Pusat Bahan Ajar dan eLearning


Suhendra, S.Kom., M.Kom http://www.mercubuana.ac.id

Anda mungkin juga menyukai