0% found this document useful (0 votes)
117 views

RAB Database

The document provides instructions for creating an Android project called "Database" that uses SQLite database functionality. It describes creating activities, layout files, and a helper class to manage the database. The main activity layout includes tabs, lists, and forms. Landscape layout adjustments and menu options are also defined. The goal is to build a basic data entry and display application using an SQLite database on Android.

Uploaded by

Qory
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
117 views

RAB Database

The document provides instructions for creating an Android project called "Database" that uses SQLite database functionality. It describes creating activities, layout files, and a helper class to manage the database. The main activity layout includes tabs, lists, and forms. Landscape layout adjustments and menu options are also defined. The goal is to build a basic data entry and display application using an SQLite database on Android.

Uploaded by

Qory
Copyright
© © All Rights Reserved
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 9

Praktikum -- : Database

Buatlah Android Project baru dengan nama Database

Activity Utama : DatabaseExample.java

Tampilan Utama : main.xml

main.xml

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


<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/almag"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<TableLayout android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1"
android:paddingTop="4px"
>
<TableRow>
<TextView android:text="Nama:" />
<EditText android:id="@+id/nama" />
</TableRow>
<TableRow>
<TextView android:text="Alamat:" />
<EditText android:id="@+id/alamat" />
</TableRow>
<TableRow>
<TextView android:text="Jekel:" />
<RadioGroup android:id="@+id/jekel">
<RadioButton android:id="@+id/pria"
android:text="Pria"
/>
<RadioButton
android:id="@+id/perempuan"
android:text="Perempuan"
/>
</RadioGroup>
</TableRow>
<TableRow>
<TextView android:text="Hp:" />
<EditText android:id="@+id/hp"
android:gravity="top"
android:scrollHorizontally="false"

/>
</TableRow>
<Button android:id="@+id/save"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Save"
/>
</TableLayout>
</FrameLayout>
</LinearLayout>
</TabHost>

Buat file row.xml pada folder res/layout

row.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:padding="4px"
>
<ImageView android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_alignParentTop="true"
android:layout_alignParentBottom="true"
android:layout_marginRight="4px"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
>
<TextView android:id="@+id/title"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:textStyle="bold"
android:singleLine="true"
android:ellipsize="end"
/>
<TextView android:id="@+id/alamat"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_vertical"
android:singleLine="true"
android:ellipsize="end"
/>
</LinearLayout>
</LinearLayout>

Buat folder layout-land didalam folder res, kemudian buat file main.xml didalam folder res/layout-
land

main.xml

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


<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TabWidget android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/almag"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
<TableLayout android:id="@+id/details"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:stretchColumns="1,3"
android:paddingTop="4px"
>
<TableRow>
<TextView
android:text="Nama:"
android:paddingRight="2px"
/>
<EditText
android:id="@+id/nama"
android:maxWidth="140sp"
/>
<TextView
android:text="Alamat:"
android:paddingLeft="2px"
android:paddingRight="2px"
/>
<EditText
android:id="@+id/alamat"
android:maxWidth="140sp"
/>
</TableRow>
<TableRow>
<TextView android:text="Type:" />
<RadioGroup android:id="@+id/jekel">
<RadioButton android:id="@+id/pria"
android:text="Pria"
/>
<RadioButton
android:id="@+id/perempuan"
android:text="Perempuan"
/>
</RadioGroup>
<TextView
android:text="Hp:"
android:paddingLeft="2px"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<EditText android:id="@+id/hp"
android:singleLine="false"
android:gravity="top"

android:scrollHorizontally="false"

android:layout_width="fill_parent"

android:layout_height="wrap_content"
/>
<Button android:id="@+id/save"

android:layout_width="fill_parent"

android:layout_height="wrap_content"
android:text="Save"
/>
</LinearLayout>
</TableRow>
</TableLayout>
</FrameLayout>
</LinearLayout>
</TabHost>
Buatlah file option.xml pada folder res/menu

option.xml

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


<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/toast"
android:title="Raise Toast"
android:icon="@drawable/toast"
/>
<item android:id="@+id/run"
android:title="Run Long Task"
android:icon="@drawable/run"
/>
</menu>

Buatlah Class AlmagHelper.java pada package utama

AlmagHelper.java

package com.user.database;

import android.content.Context;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteDatabase;

class AlmagHelper extends SQLiteOpenHelper {


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

public AlmagHelper(Context context) {


super(context, DATABASE_NAME, null, SCHEMA_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
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) {
// no-op, since will not be called until 2nd schema
// version exists
}

public Cursor getAll() {


return(getReadableDatabase()
.rawQuery("SELECT _id, nama, alamat,
jekel, hp FROM almag ORDER BY nama",
null));
}

public void insert(String nama, String alamat,


String jekel,
String hp) {
ContentValues cv=new ContentValues();

cv.put("nama", nama);
cv.put("alamat", alamat);
cv.put("jekel", jekel);
cv.put("hp", hp);

getWritableDatabase().insert("almag", "name", cv);


}

public String getNama(Cursor c) {


return(c.getString(1));
}

public String getAlamat(Cursor c) {


return(c.getString(2));
}

public String getJekel(Cursor c) {


return(c.getString(3));
}

public String getHp(Cursor c) {


return(c.getString(4));
}
}

DatabaseExample.java

package com.wilis.database2;

import android.app.TabActivity;
import android.content.Context;
import android.database.Cursor;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.LayoutInflater;
import android.widget.AdapterView;
import android.widget.CursorAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.RadioGroup;
import android.widget.TabHost;
import android.widget.TextView;

public class DatabaseExample extends TabActivity {


Cursor model=null;
AlmagAdapter adapter=null;
EditText nama=null;
EditText alamat=null;
EditText hp=null;
RadioGroup jekel=null;
AlmagHelper helper=null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

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);

save.setOnClickListener(onSave);

ListView list=(ListView)findViewById(R.id.almag);

model=helper.getAll();
startManagingCursor(model);
adapter=new AlmagAdapter(model);
list.setAdapter(adapter);

TabHost.TabSpec spec=getTabHost().newTabSpec("tag1");

spec.setContent(R.id.almag);
spec.setIndicator("List",
getResources().getDrawable(R.drawable.list));
getTabHost().addTab(spec);

spec=getTabHost().newTabSpec("tag2");
spec.setContent(R.id.details);
spec.setIndicator("Details",
getResources().getDrawable(R.drawable.alamat));

getTabHost().addTab(spec);

getTabHost().setCurrentTab(0);

list.setOnItemClickListener(onListClick);
}

@Override
public void onDestroy() {
super.onDestroy();

helper.close();
}

private View.OnClickListener onSave=new View.OnClickListener() {


public void onClick(View v) {
String type=null;
switch (jekel.getCheckedRadioButtonId()) {
case R.id.pria:
type="Pria";
break;
case R.id.perempuan:
type="Perempuan";
break;
}

helper.insert(nama.getText().toString(),alamat.getText().toString(),type,hp
.getText().toString());
model.requery();
}
};

private AdapterView.OnItemClickListener onListClick=new


AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent,

View view, int position,

long id) {
model.moveToPosition(position);
nama.setText(helper.getNama(model));
alamat.setText(helper.getAlamat(model));
hp.setText(helper.getHp(model));

if (helper.getJekel(model).equals("Pria")) {
jekel.check(R.id.pria);
}
else if (helper.getJekel(model).equals("Perempuan")) {
jekel.check(R.id.perempuan);
}

getTabHost().setCurrentTab(1);
}
};

class AlmagAdapter extends CursorAdapter {


AlmagAdapter(Cursor c) {
super(DatabaseExample.this, c);
}

@Override
public void bindView(View row, Context ctxt,

Cursor c) {
AlmagHolder holder=(AlmagHolder)row.getTag();

holder.populateFrom(c, helper);
}

@Override
public View newView(Context ctxt, Cursor c,

ViewGroup parent) {
LayoutInflater inflater=getLayoutInflater();
View row=inflater.inflate(R.layout.row, parent, false);
AlmagHolder holder=new AlmagHolder(row);

row.setTag(holder);

return(row);
}
}

static class AlmagHolder {


private TextView nama=null;
private TextView alamat=null;
private ImageView icon=null;
private View row=null;

AlmagHolder(View row) {
this.row=row;

nama=(TextView)row.findViewById(R.id.title);
alamat=(TextView)row.findViewById(R.id.alamat);
icon=(ImageView)row.findViewById(R.id.icon);
}

void populateFrom(Cursor c, AlmagHelper helper) {


nama.setText(helper.getNama(c));
alamat.setText(helper.getAlamat(c));

if (helper.getJekel(c).equals("Pria")) {
icon.setImageResource(R.drawable.pria);
}
else if (helper.getJekel(c).equals("Perempuan")) {
icon.setImageResource(R.drawable.perempuan);
}

}
}
}

You might also like