Professional Documents
Culture Documents
Labsheet 5 - Sqlite - Writecontent
Labsheet 5 - Sqlite - Writecontent
Labsheet 5 - Sqlite - Writecontent
Pada materi sebelumnya telah dijabarkan bagaimana cara membuat Database beserta struktur
tabel, sbb:
Database
Project Name : My Database
Database Name : databaseKu.db
Database Table :
Tabel Aktivitas
Nama kolom Tipe data Key
id_act String PK
act_name String
act_date Datetime
act_des String
Tabel Status
Nama kolom Tipe data Key
id_stat INT autoincrement PK
id_act String FK
State_name String
Di dalam project My Database buatlah Activity baru yang diberi nama AktivitasKu
Pada file layout activity_aktivitas_ku.xml, buat desain interface sbb dimana terdiri dari:
a. 4 EditText / PlainText
- Id Aktivitas @+id/id_act
- Nama Aktivitas @+id/act_name
- Date/tanggal aktivitas @+id/act_date
- Deskripsi aktivitas @+id/act_des
b. 1 TextView
c. 1 Button
- Save @+id/save
Sehingga Activity_aktivitas_ku.xml menjadi
<?xml version="1.0" encoding="utf-8"?>
<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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="id.ac.uty.mydatabase.AktivitasKu">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/id_act"
android:hint="ID aktivitas"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/act_name"
android:layout_below="@+id/id_act"
android:hint="aktivitas name"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/act_date"
android:layout_below="@+id/act_name"
android:hint="date"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/act_des"
android:layout_below="@+id/textView"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:lines="5"/>
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Save"
android:id="@+id/save"
android:layout_alignParentBottom="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Activity description"
android:id="@+id/textView"
android:layout_below="@+id/act_date"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
Table Model
Buatlah Class baru yang diberi nama Aktivitas.java.
Di dalam kelas ini digunakan untuk deklarasi model tabel Aktivitas dan variabel public.
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
/**
* Created by User on 17/04/2017.
*/
public class Aktivitas {
//Define variabel
public String id_act;
public String name_act;
public String date_act;
public String des_act;
package id.ac.uty.mydatabase;
/**
* Created by User on 19/04/2017.
*/
public class Status {
DatabaseHelper.java
Pada materi sebelumnya kita mendeskripsikan tabel dan atribut/kolom Aktivitas pada
Class DatabaseHelper.java.
Karena kita mendeklarasikan Model Tabel pada masing Class yaitu Tabel Aktivitas
pada Class Aktivitas.java dan Tabel Status pada Class Status.java.
Maka Class DatabaseHelper.java perlu diubah, sbb :
package id.ac.uty.mydatabase;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL(CREATE_TABLE_ACT);
db.execSQL(CREATE_TABLE_STATUS);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int
newVersion) {
db.execSQL("drop table if exists "+ Aktivitas.TABLE_ACT);
db.execSQL("drop table if exists "+ Status.TABLE_STATUS);
onCreate(db);
}
}
AktivitasHandler.java
Buat Class baru dan beri nama AktivitasHandler.java.
Di dalam kelas ini digunakan untuk membuat function insert, read, update dan delete
konten/data dari tabel Aktivitas.
Di dalam materi kali ini, kita baru mendeklarasikan function insert sbb:
Serta deklarasi function yang digunakan untuk fetch konten Tabel Aktivitas dari model
Aktivitas sbb:
package id.ac.uty.mydatabase;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
/**
* Created by User on 17/04/2017.
*/
public class AktivitasHandler {
//Insert Row
long aktivitas_Id = sqLiteDatabase.insert(Aktivitas.TABLE_ACT,
null, values);
sqLiteDatabase.close();//Close database Connestion
return (int) aktivitas_Id;
}
import android.app.DatePickerDialog;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Toast;
import java.util.Calendar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aktivitas_ku);
dateEt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Calendar c = Calendar.getInstance();
int tahun = c.get(Calendar.YEAR);
int bulan = c.get(Calendar.MONTH);
int hari = c.get(Calendar.DAY_OF_MONTH);
_Aktivitas_Id = 0;
Intent intent = getIntent();
_Aktivitas_Id = intent.getIntExtra("aktivitas_Id", 0);
final AktivitasHandler act = new AktivitasHandler(this);
Aktivitas aktivitas = new Aktivitas();
aktivitas = act.getAktivitasById(_Aktivitas_Id);
saveBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Aktivitas aktivitas = new Aktivitas();
aktivitas.id_act = idEt.getText().toString();
aktivitas.name_act = nameEt.getText().toString();
aktivitas.date_act = dateEt.getText().toString();
aktivitas.des_act = desEt.getText().toString();
_Aktivitas_Id = act.insert(aktivitas);
Toast.makeText(AktivitasKu.this, "New Aktivity Inserted",
Toast.LENGTH_SHORT).show();
});
}
}