Anda di halaman 1dari 16

Mengenal Lebih Dekat dengan

Android Studio
BY REZA MAULANA JANUARY 23, 2015
Mengenal Lebih Dekat dengan Android Studio. Artikel ini lanjutan
dari artikel Membuat Project Android di Android Studio. Bagi yang
sudah terbiasa menggunakan eclipse mungkin mengalami kesulitan dalam
menggunakan android studio. Dalam tutorial ini, kami akan berikan panduan
migrasi dari IDE eclipse ke Android Studio.
1. Layout
Sama seperti eclipse, layout di android dibedakan menjadi 2, yaitu design dan
text, secara default pada saat dibuka layout xml di android studio
menggunakan mode design, tapi Kamu bisa mengubah ke mode text,
sehingga terlihat source code dari text XML nya.

Di Android studio sudah memiliki Live Preview, jadi tidak perlu bolak-balik ke
mode design hanya untuk melihat hasil kode XML nya.
2. Struktur Folder
Struktur folder pada Android Studio seperti berikut.

Terdapat folder .idea, app, gradle dan file file yang ada diroot folder. Folder
app/ adalah folder utama pada aplikasi android, didalamnya akan seperti ini.
Pada folder build sepertti gen/ di eclipse, isinya file-file hasil generate dari
IDE, jadi tidak perlu diubah-ubah isi folder tersebut. Kemudian folder libs/
sama seperti di eclipse. Jika Kamu menggunakan library dalam bentuk .jar
maka tempatkan difolder libs. Selanjutnya folder src/. src adalah folder
dimana tersimpan source java dan layout dalam bentuk XML, secara default
android studio akan mengenerate dua folder yaitu, androidtest dan main.
Folder androidtest adalah folder khusus UnitTest, jika kamu belum paham,
fokus saja pada folder main,karena source dan resource terletak difolder
tersebut.

3. Gradle
Yang baru di Android Studio adalah gradle, sebuah featured build automation.
Selengkapnya dapat lihat di situs berikut ini http://www.gradle.org/. File
Gradle berisi library yang digunakan, versi aplikasi, signed key
properties,lokasi repository dll. File yang akan sering kita ubah adalah file
build.gradle yang berada dalam folder app/ berikut ini.

K
ita dapat lihat, file ini berisi pengaturan untuk versi sdk yang di compaile, build
version yang digunakan, nama paket aplikasi, minSDK yang digunakan,
versioncode, versionname dan dependencies yang digunakan.
Mengenal SQLite Database Pada
Aplikasi Android
BY REZA MAULANA NOVEMBER 19, 2015
Mengenal SQLite Database Pada Aplikasi Android. SQLite
adalah database SQL opensource yang sudah built in pada device android.
Setiap aplikasi memiliki SQLite database sendiri, database ini dapat diakses
oleh setiap class pada aplikasi,tapi tidak bisa diakses oleh aplikasi lain.
Database SQLite dibuat pada aplikasi selalu disimpan dalam
/data/data/<nama package>/folder database.

SQLiteOpenHelper
Untuk membuat dan meng-upgrade database pada aplikasi android gunakan
subclass dari class SQLiteOpenHelper.
Pada class ini kamu perlu override method berikut ini untuk membuat dan
meng-upgrade database.
onCreate(), dipanggil ketika database dapat diakses namum belum dibuat.
onUpdate(), dipanggil ketika aplikasi diupgrade dan nomor versi telah
berubah pada kode aplikasi android. method ini memungkinkan untuk
memperbarui(update) skema database yang ada atau drop database yang
ada dan menciptakan kembali melalui method OnCreate ().

class SQLiteOpenHelper menyediakan method getReadableDatabase () dan


getWritableDatabase (), untuk mendapatkan akses ke objek SQLiteDatabase.

Berikut dua pola desain database untuk membuat aplikasi Android yang baik.
Level 2 design Database SQLite
Level 3 Design Database SQLite
Membuat Database SQLite di Aplikasi
Android
BY REZA MAULANA NOVEMBER 22, 2015
Membuat Database SQLite di Aplikasi Android. Disarankan
untuk membaca artikel Mengenal SQLite Database Pada Aplikasi
Androidsebelum melanjutkan tutorial ini.
Langkah-langkah Membuat Database SQLite
1. Definisikan skema (Define Schema).
Definisikan nama database, versi, nama tabel, dan nama kolom.
2. Membuat database (Create Database).
Tulis query untuk membuat/modifikasi database.
3. Eksekusi Query (Execute Queries)
Eksekusi query seperti insert, update, delete dan lainnya.

1.Definisikan skema (Define Schema).

Contoh database

Gambar di atas adalah contoh database yang akan digunakan dalam


tutorial ini. Untuk mendefinisikan skema pelajari kode berikut ini.
String DATABASE_NAME="teknorialdatabase.db"; //bisa juga tanpa tulis ekstensi .db

String TABLE_NAME="teknorialtable";

String UID ="_id";

String NAME ="Nama";

Int DATABASE_VERSION=1;

2. Membuat database (Create Database) dengan


menggunakan SQLiteOpenHelper.
Buat subclass dari SQLiteOpenHelper implementasikan
onCreate(SQLiteOpenHelper), dan
onUpgrade(SQLiteDatabase,int,int). Class ini akan membuka
database jika ada, membuat database jika tidak ada dan meng-
upgade jika diperlukan.

class RezaHelper extends SQLiteOpenHelper

private static final String DATABASE_NAME="teknorialdatabase.db";

private static final String TABLE_NAME ="teknorialtable";

private static final String UID="_id";

private static final String NAME="Nama";

private static final int DATABASE_VERSION=1;

RezaHelper(Context context)

super(context, DATABASE_NAME, null,DATABASE_VERSION);

public void onCreate(SQLiteDatabase db)

public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion)

- onCreate(): Dipanggil ketika database dapat diakses namum belum


dibuat. Pembuatan tabel dan data awal dalam tabel harus
diletakkan di sini.
- onUpdate(): Dipanggil ketika database butuh diupgrade. Gunakan
method ini untuk drop tabel ,tambah tabel, atau hal lainnya yang
perlu diupgrade versi skema baru.
Jika kamu ingin menambahkan kolom gunakan ALTER TABLE untuk
menambahkan colom baru ke dalam tabel dan jika kamu ingin
rename atau remove kolom dapat juga menggunakan ALTER TABLE.

3. Eksekusi Query (Execute Queries) dengan


SQLiteDatabase
SQLiteDatabase memiliki method untuk create , delete ,eksekusi
perintah SQL dan melakukan tugas-tugas manajemen database
umum lainnya. Nama database harus unik dalam suatu aplikasi,
tidak sama pada semua aplikasi. Untuk mengeksekusi perintah SQL
gunakan public method dari class SQLiteDatabase berikut ini:

public void execSQL(String sql)

Method ini hanya bisa mengesekusi statement SQL tunggal tapi


tidak untuk SELECT atau SQL statement lainnya yang mereturn
data. Multiple Statment dengan memisahkan oleh semicolon(titik
koma) tidak didukung oleh method ini. Jika string SQL tidak valid
gunakan throws SQLException untuk penanganan error.
Implementasi onCreate
class RezaHelper extends SQLiteOpenHelper

private static final String DATABASE_NAME="teknorialdatabase.db";

private static final String TABLE_NAME ="teknorialtable";

private static final String UID="_id";

private static final String NAME="Nama";

private static final int DATABASE_VERSION=1;

RezaHelper(Context context)

{
super(context, DATABASE_NAME, null,DATABASE_VERSION);

public void onCreate(SQLiteDatabase db)

db.execSQL("CREATE TABLE teknorialtable (_id INTEGER PRIMARY KEY

AUTOINCREMENT,Nama VARCHAR(255));");

}catch(SQLException e){

e.printStackTrace();

public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion)

Implementasi onUpdate
class RezaHelper extends SQLiteOpenHelper

private static final String DATABASE_NAME="teknorialdatabase.db";

private static final String TABLE_NAME ="teknorialtable";

private static final String UID="_id";

private static final String NAME="Nama";

private static final int DATABASE_VERSION=1;

RezaHelper(Context context)

super(context, DATABASE_NAME, null,DATABASE_VERSION);

public void onCreate(SQLiteDatabase db)

...

public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion)

db.execSQL("DROP TABLE IF EXISTS teknorialtable");


onCreate(db);

Tutorial membuat aplikasi database SQLite


dengan Android Studio
1. Buat class baru dengan nama message.java dan ikuti kode
berikut. class ini berguna untuk mendapatkan pesan yang bisa
digunakan untuk melihat error pada statment SQL atau bisa juga
melihat proses create dan upgrade database.

package com.teknorial.belajardatabase;

/**

* Created by Teknorial on 22-Nov-15.

*/

import android.content.Context;

import android.widget.Toast;

public class Message {

public static void message (Context context, String message)

Toast.makeText(context,message,Toast.LENGTH_LONG).show();

2. Buat class baru yang menjadi subclass dari class


SQLiteOpenHelper dengan nama RezaHelper.java.

package com.teknorial.belajardatabase;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteException;

import android.database.sqlite.SQLiteOpenHelper;
/**

* Created by Teknorial on 22-Nov-15.

*/

public class RezaHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME="teknorialdatabase";

private static final String TABLE_NAME="teknorialtable";

private static final String UID="_id";

private static final String NAME="Nama";

private static final int DATABASE_VERSION= 1;

private static final String CREATE_TABLE="CREATE TABLE "+TABLE_NAME+"("+UID+" INTEGER

PRIMARY KEY AUTOINCREMENT, "+NAME+" VARCHAR(255));";

private static final String DROP_TABLE="DROP TABLE IF EXISTS "+TABLE_NAME;

private Context context;

public RezaHelper (Context context) {

super(context,DATABASE_NAME,null,DATABASE_VERSION);

this.context=context;

Message.message(context,"Constructor dipanggil");

@Override

public void onCreate (SQLiteDatabase db) {

try {

db.execSQL(CREATE_TABLE);

Message.message(context,"onCreate dipanggil");

} catch (SQLiteException e){

Message.message(context,""+e);

}
@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion,int newVersion){

try{

Message.message(context,"onUpgrade dipanggil");

db.execSQL(DROP_TABLE);

onCreate(db);

}catch (SQLiteException e){

Message.message(context,""+e);

3. Modifikasi class MainActivity seperti berikut.

package com.teknorial.belajardatabase;

import android.app.Activity;

import android.database.sqlite.SQLiteDatabase;

import android.os.Bundle;

public class MainActivity extends Activity{

RezaHelper rezaHelper;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

rezaHelper=new RezaHelper(this);

SQLiteDatabase sqLiteDatabase = rezaHelper.getWritableDatabase();

Jika aplikasi kita berhasil akan terlihat seperti screenshot dibawah.


Constructor dipanggil

Pada saat pertama aplikasi diinstall akan muncul pesan onCreate


dipanggil berarti database belum ada dan akan dibuat.
onCreate dipanggil

Untuk mencoba melihat proses upgrade database, ubahlah


DATABASE_VERSION=1 menjadi DATABASE_VERSION=2, dan akan
mencul pesan onUpgrade dipanggil dan disusul pesan onCreate
dipanggil. Untuk pembahasan query SQLite lainnya seperti SELECT,
INSERT dan lainnya akan menyusul.

Anda mungkin juga menyukai