Salam hangat untuk Sobat Sederhana! Pada artikel ini, kita akan membahas cara membuat aplikasi android sederhana yang menyimpan data ke database. Dalam pembahasan ini, kita akan menggunakan bahasa pemrograman Java dan SQLite sebagai database-nya. Yuk, simak langkah-langkahnya di bawah ini!
Persiapan Aplikasi
Pertama-tama, sebelum memulai langkah-langkah pengembangan aplikasi, Sobat Sederhana perlu mempersiapkan beberapa software yang diperlukan. Berikut ini adalah software yang perlu dipersiapkan:
No. |
Software |
Link Download |
---|---|---|
1 |
Android Studio |
https://developer.android.com/studio |
2 |
JDK (Java Development Kit) |
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html |
Setelah semua software terpasang dengan benar, kita bisa mulai memulai pengembangan aplikasi.
Membuat Aplikasi Baru
Langkah pertama dalam membuat aplikasi android adalah membuat project baru di dalam Android Studio. Sobat Sederhana bisa mengikuti langkah-langkah di bawah ini:
- Buka Android Studio dan pilih “Start a new Android Studio project”.
- Isi informasi project seperti “Application name”, “Company domain”, dan “Project location”.
- Pilih “Phone and Tablet” untuk target device dan “Empty Activity” untuk template activity.
- Isi informasi activity seperti “Activity Name” dan “Layout Name”.
- Klik “Finish” untuk membuat project baru.
Setelah project berhasil dibuat, Sobat Sederhana akan melihat struktur folder project seperti gambar di bawah ini:
Membuat Database
Langkah selanjutnya adalah membuat database di dalam aplikasi android. Kita akan menggunakan SQLite sebagai database-nya. Berikut ini adalah langkah-langkahnya:
- Buat package baru dengan nama “database” di dalam folder “java”.
- Buat class baru dengan nama “DatabaseHelper” di dalam package “database”.
- Tambahkan kode program di bawah ini:
public class DatabaseHelper extends SQLiteOpenHelper {private static final String DATABASE_NAME = "mydatabase.db";private static final int DATABASE_VERSION = 1;public DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}@Overridepublic void onCreate(SQLiteDatabase db) {String createTable = "CREATE TABLE mytable ("+ "id INTEGER PRIMARY KEY AUTOINCREMENT, "+ "name TEXT, "+ "email TEXT)";db.execSQL(createTable);}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {db.execSQL("DROP TABLE IF EXISTS mytable");onCreate(db);}}
Dalam kode program di atas, kita membuat class “DatabaseHelper” yang merupakan turunan dari class “SQLiteOpenHelper”. Di dalam class ini, terdapat method “onCreate” dan “onUpgrade” yang akan dijalankan pada saat pembuatan database.
Method “onCreate” digunakan untuk membuat tabel pada database. Pada contoh di atas, kita membuat tabel dengan nama “mytable” yang terdiri dari 3 kolom, yaitu “id”, “name”, dan “email”.
Method “onUpgrade” digunakan untuk menghapus tabel jika ada perubahan versi pada database.
Menghubungkan Database dengan Aplikasi
Setelah membuat database, kita perlu menghubungkan database dengan aplikasi android. Berikut ini adalah langkah-langkahnya:
- Buat package baru dengan nama “model” di dalam folder “java”.
- Buat class baru dengan nama “Person” di dalam package “model”.
- Tambahkan kode program di bawah ini:
public class Person {private int id;private String name;private String email;public Person(int id, String name, String email) {this.id = id;this.name = name;this.email = email;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getEmail() {return email;}public void setEmail(String email) {this.email = email;}}
Dalam kode program di atas, kita membuat class “Person” yang akan merepresentasikan data pada tabel “mytable”. Class ini memiliki 3 variabel yaitu “id”, “name”, dan “email”. Selain itu, class ini juga memiliki method getter dan setter untuk masing-masing variabel.
Selanjutnya, kita perlu membuat class “PersonDAO” yang berfungsi sebagai penghubung antara tabel “mytable” dan class “Person”.
Membuat Class PersonDAO
Dalam membuat class “PersonDAO”, kita akan membuat beberapa method yang akan digunakan untuk berinteraksi dengan database. Berikut ini adalah method-method yang perlu dibuat:
- public PersonDAO(Context context)
- public void insert(Person p)
- public void update(Person p)
- public void delete(int id)
- public List
getAll()
Setiap method akan dijelaskan lebih detail di bawah ini.
Method Konstruktor
Method konstruktor digunakan untuk membuat object dari class “DatabaseHelper”. Berikut ini adalah kodenya:
public class PersonDAO {private DatabaseHelper dbHelper;public PersonDAO(Context context) {dbHelper = new DatabaseHelper(context);}// method lainnya}
Method Insert
Method insert digunakan untuk memasukkan data baru ke dalam tabel “mytable”. Berikut ini adalah kodenya:
public void insert(Person p) {SQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();values.put("name", p.getName());values.put("email", p.getEmail());db.insert("mytable", null, values);db.close();}
Method Update
Method update digunakan untuk mengubah data pada tabel “mytable”. Berikut ini adalah kodenya:
public void update(Person p) {SQLiteDatabase db = dbHelper.getWritableDatabase();ContentValues values = new ContentValues();values.put("name", p.getName());values.put("email", p.getEmail());db.update("mytable", values, "id = ?", new String[] { String.valueOf(p.getId()) });db.close();}
Method Delete
Method delete digunakan untuk menghapus data pada tabel “mytable”. Berikut ini adalah kodenya:
public void delete(int id) {SQLiteDatabase db = dbHelper.getWritableDatabase();db.delete("mytable", "id = ?", new String[] { String.valueOf(id) });db.close();}
Method GetAll
Method getAll digunakan untuk mengambil semua data pada tabel “mytable”. Berikut ini adalah kodenya:
public ListgetAll() {List list = new ArrayList<>();SQLiteDatabase db = dbHelper.getReadableDatabase();Cursor cursor = db.query("mytable", null, null, null, null, null, null);if (cursor.moveToFirst()) {do {int id = cursor.getInt(cursor.getColumnIndex("id"));String name = cursor.getString(cursor.getColumnIndex("name"));String email = cursor.getString(cursor.getColumnIndex("email"));list.add(new Person(id, name, email));} while (cursor.moveToNext());}cursor.close();db.close();return list;}
Menggunakan Class PersonDAO
Sekarang, kita sudah selesai membuat class “PersonDAO”. Selanjutnya, kita akan menggunakannya di dalam activity. Berikut ini adalah langkah-langkahnya:
- Buat package baru dengan nama “ui” di dalam folder “java”.
- Buat class baru dengan nama “MainActivity” di dalam package “ui”.
- Tambahkan kode program di bawah ini:
public class MainActivity extends AppCompatActivity {private Listlist;private PersonDAO dao;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);dao = new PersonDAO(this);list = dao.getAll();}}
Dalam kode program di atas, kita membuat object dari class “PersonDAO”. Selanjutnya, kita mengambil semua data dari tabel “mytable” dengan menggunakan method “getAll” dari class “PersonDAO”.
Selanjutnya, kita bisa menampilkan data tersebut di dalam ListView. Berikut ini adalah langkah-langkahnya:
- Tambahkan ListView di dalam file layout “activity_main.xml”.
- Tambahkan kode program di bawah ini di dalam method “onCreate” pada class “MainActivity”:
ListView lvPerson = findViewById(R.id.lvPerson);ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, list);lvPerson.setAdapter(adapter);
Dalam kode program di atas, kita membuat object dari class “ArrayAdapter” yang akan menampilkan data di dalam ListView.
FAQ
Apa itu SQLite?
SQLite adalah sebuah database management system yang terdiri dari sebuah library yang menyediakan lightweight disk-based database yang bisa diakses melalui bahasa pemrograman C. SQLite merupakan salah satu jenis database yang paling banyak digunakan di dalam aplikasi mobile.
Apa itu Java?
Java adalah sebuah bahasa pemrograman yang didesain untuk menghasilkan program yang dapat dijalankan di dalam sebuah virtual machine (JVM). Java memiliki banyak fitur seperti Garbage Collector, type checking, dan dynamic binding, sehingga membuatnya menjadi salah satu bahasa pemrograman yang populer.
Apa itu Android?
Android adalah sebuah sistem operasi open source yang didesain untuk digunakan pada perangkat mobile seperti smartphone, tablet, dan wearable device. Android berbasis pada kernel Linux dan dikembangkan oleh Google.