Cara Melihat Data Dalam SQLite Database Di Aplikasi Android

Hai guys, bagaimana kabar kalian hari ini? Saya harap kalian semua dalam keadaan yang baik-baik saja. Sebelumnya, saya sudah membagikan tutorial cara membuat tabel sqlite database di aplikasi android & cara menyimpan data kedalam sqlite database dari aplikasi android. Dan sekarang, pada kesempatan kali ini, saya akan membagikan tutorial cara melihat data yang telah tersimpan di dalam sqlite database dari aplikasi android.

SQLite adalah salah satu database yang digunakan untuk aplikasi android. Database ini menyimpan datanya ke dalam perangkat kita. Database ini tidak memerlukan internet untuk menggunakannya, baik itu menyimpan, melihat, menghapus dan memperbaharui data di dalamnya.

Dalam tutorial ini, kalian akan belajar cara membuat aplikasi android untuk memyimpan data ke dalam sqlite database dan melihat data yang telah tersimpan didalamnya menggunakan listview secara mudah.

- Advertisement -

Tutorial Cara Menampilkan Data SQLite Database di Android Studio

Dalam tutorial ini, saya masih menggunakan projek sebelumnya, tetapi jika kalian ingin membuat projek baru ikuti sesuai informasi dibawah ini:

Application Name:SQLite App
Package Name:com.androidrion.sqliteapp
Languge:Java
Minimum SDK:API 15: Android 4.0.3 (IceCreamSandwich)

Daftar file xml layout yang digunakan dalam projek ini:

  1. activity_list_view.xml
  2. activity_main.xml
  3. listview_data_layout.xml

Daftar file xml drawable yang digunakan dalam projek ini:

  1. button_simpan.xml
  2. button_tampil.xml

Daftar file java yang digunakan dalam projek ini

  1. ListViewActivity.java
  2. MainActivity.java
  3. SQLiteHelper.java
  4. SQLiteListAdapter.java

Berikut ini adalah gambar dari struktur projek untuk aplikasi SQLite App.

Cara Melihat Data Dalam SQLite Database Di Aplikasi Android

Dibawah ini adalah langkah-langkah dalam pembuatan aplikasi SQLite App.

Untuk kalian yang mengikuti tutorial ini dari tutorial sebelumnya, maka kalian hanya perlu mengikuti pada langkah XML Layout File.

Dependensi File

Dalam tutorial ini, saya menggunakan Material Design, untuk itu tambahkan kode dibawah ini pada file build.gradle (Module: app) pada bagian dependencies.

Gradle Scripts/build.gradle (Module: app)

    implementation 'com.google.android.material:material:1.0.0'

Lakukan sync jika kalian telah menambahkan kode tersebut.

XML Layout File

Buat file Activity baru dengan cara klik kanan pada folder layout lalu pilih New>Activity>Empty Activity. Simpan file Activity baru tersebut dengan nama ListViewActivity. Buka file activity_list_view.xml dalam folder layout. Tambahkan widget ListView di dalam layout RelativeLayout. Berikut ini adalah kode lengkap untuk file activity_list_view.xml

app/res/layout/activity_list_view.xml

<?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"
    tools:context=".ListViewActivity">

    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_centerInParent="true"
        tools:listitem="@layout/listview_data_layout" />

</RelativeLayout>

Buat file xml layout baru dengan cara klik kanan pada folder layout lalu pilih New>Layout resource file. Simpan file xml layout baru nama listview_data_layout. Dibawah ini adalah kode lengkap untuk file listview_data_layout.xml

app/res/layout/ listview_data_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingLeft="16dp"
    android:paddingTop="8dp"
    android:paddingRight="16dp"
    android:paddingBottom="8dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="gone"
        android:orientation="horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ID = " />

        <TextView
            android:id="@+id/text_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="1" />

    </LinearLayout>

    <TextView
        android:id="@+id/text_pesan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="Pesan"
        android:textAppearance="@style/TextAppearance.AppCompat.Medium" />

</LinearLayout>

Buka file activity_main.xml dalam folder layout dan Tambahkan 1 widget button dengan teks TAMPIL PESAN dibawah button SIMPAN PESAN. Dibawah ini adalah kode lengkap untuk file activity_main.xml

app/res/layout/ activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:orientation="vertical"
    android:padding="16dp"
    tools:context=".MainActivity">

    <com.google.android.material.textfield.TextInputLayout
        style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
        android:layout_width="match_parent"
        android:layout_height="100dp">

        <com.google.android.material.textfield.TextInputEditText
            android:id="@+id/pesan"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="top"
            android:hint="Pesan" />
    </com.google.android.material.textfield.TextInputLayout>

    <Button
        android:id="@+id/simpan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_simpan"
        android:textColor="@android:color/white"
        android:layout_marginTop="16dp"
        android:text="SIMPAN PESAN" />

    <Button
        android:id="@+id/tampil"
        android:background="@drawable/button_tampil"
        android:textColor="@android:color/white"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TAMPIL PESAN" />

</LinearLayout>

Kalian mungkin mendapati kode yang error. Untuk mengatasi masalah tersebut, kalian bisa mengikuti tutorial pada link dibawah ini

CARA MEMBUAT ROUNDED BUTTON DI ANDROID STUDIO

Kode untuk file layout diatas akan terlihat seperti pada gambar dibawah ini.

Java File

Buatlah file java baru dengan cara klik kanan pada folder java lalu pilih New>Java Class. Simpan file java baru tersebut dengan nama SQLiteHelper. Dibawah ini adalah kode lengkap untuk file SQLiteHelper.java

app/java/com.androidrion.sqliteapp/SQLiteHelper.java

package com.androidrion.sqliteapp;

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

import androidx.annotation.Nullable;

public class SQLiteHelper extends SQLiteOpenHelper {

    private static String NAMA_DATABASE = "Nama_Database_Baru";

    private static final String NAMA_TABEL = "Nama_Tabel";

    static final String KEY_ID = "id";
    static final String KEY_PESAN = "pesan";

    SQLiteHelper(@Nullable Context context) {
        super(context, NAMA_DATABASE, null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        String BUAT_TABEL = "CREATE TABLE " + NAMA_TABEL + " (" + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_PESAN + " VARCHAR)";
        db.execSQL(BUAT_TABEL);

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        db.execSQL("DROP TABLE IF EXISTS " + NAMA_TABEL);
        onCreate(db);
    }
}

Buatlah file java baru lagi dengan nama SQLiteListAdapter. Dibawah ini adalah kode lengkap untuk file SQLiteListAdapter.java

app/java/com.androidrion.sqliteapp/SQLiteListAdapter.java

package com.androidrion.sqliteapp;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import java.util.ArrayList;

public class SQLiteListAdapter extends BaseAdapter {

    private Context context;
    private ArrayList<String> user_id;
    private ArrayList<String> user_pesan;

    SQLiteListAdapter(Context context1, ArrayList<String> ID, ArrayList<String> PESAN) {
        this.context = context1;
        this.user_id = ID;
        this.user_pesan = PESAN;
    }

    public class Holder {
        TextView textView_id;
        TextView textView_pesan;
    }

    @Override
    public int getCount() {
        return user_id.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {

        Holder holder;
        LayoutInflater inflater;

        if (convertView == null) {
            inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            convertView = inflater.inflate(R.layout.listview_data_layout, null);

            holder = new Holder();

            holder.textView_id = convertView.findViewById(R.id.text_id);
            holder.textView_pesan = convertView.findViewById(R.id.text_pesan);

            convertView.setTag(holder);
        } else {
            holder = (Holder) convertView.getTag();
        }

        holder.textView_id.setText(user_id.get(position));
        holder.textView_pesan.setText(user_pesan.get(position));
        return convertView;
    }
}

Buka file ListViewActivity dalam folder java pada projek android studio kalian. Gunakan kode dibawah ini untuk menampilkan data atau pesan yang telah tersimpan di dalam SQLite database dalam tampilan list. Dibawah ini adalah kode lengkap untuk file ListViewActivity.java

app/java/com.androidrion.sqliteapp/ListViewActivity.java

package com.androidrion.sqliteapp;

import androidx.appcompat.app.AppCompatActivity;

import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.ListView;

import java.util.ArrayList;

public class ListViewActivity extends AppCompatActivity {


    SQLiteDatabase SQLITEDATABASE;
    SQLiteHelper SQLITEHELPER;
    SQLiteListAdapter ListAdapter;

    Cursor cursor;

    ArrayList<String> ID_ArrayList = new ArrayList<>();
    ArrayList<String> PESAN_ArrayList = new ArrayList<>();

    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);

        listView = findViewById(R.id.list);

        SQLITEHELPER = new SQLiteHelper(this);
    }

    @Override
    protected void onResume() {

        TampilSQLiteDBData();
        super.onResume();
    }

    private void TampilSQLiteDBData() {
        SQLITEDATABASE = SQLITEHELPER.getWritableDatabase();
        cursor = SQLITEDATABASE.rawQuery("SELECT * FROM Nama_Tabel", null);

        ID_ArrayList.clear();
        PESAN_ArrayList.clear();

        if (cursor.moveToFirst()) {
            do {
                ID_ArrayList.add(cursor.getString(cursor.getColumnIndex(SQLiteHelper.KEY_ID)));
                PESAN_ArrayList.add(cursor.getString(cursor.getColumnIndex(SQLiteHelper.KEY_PESAN)));
            } while (cursor.moveToNext());
        }

        ListAdapter = new SQLiteListAdapter(ListViewActivity.this, ID_ArrayList, PESAN_ArrayList);

        listView.setAdapter(ListAdapter);
        cursor.close();
    }
}

Masih di dalam folder java, sekarang buka file MainActivity. Tambahkan setOnClickListener pada button yang baru saja kita tambahkan. Di bawah ini adalah kode lengkap untuk file MainActivity.java

app/java/com.androidrion.sqliteapp/MainActivity.java

package com.androidrion.sqliteapp;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.google.android.material.textfield.TextInputEditText;

public class MainActivity extends AppCompatActivity {

    SQLiteDatabase sqLiteDatabase;
    String SQLiteQuery;

    TextInputEditText GetPesan;

    Button Simpan, Tampil;

    String Pesan;
    Boolean CekPesanKosong;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        GetPesan = findViewById(R.id.pesan);

        Simpan = findViewById(R.id.simpan);
        Simpan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BuatDatabase();
                KirimDataKeDB();
            }
        });

        Tampil = findViewById(R.id.tampil);
        Tampil.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ListViewActivity.class);
                startActivity(intent);
            }
        });

    }

    private void BuatDatabase() {
        sqLiteDatabase = openOrCreateDatabase("Nama_Database_Baru", Context.MODE_PRIVATE, null);
        sqLiteDatabase.execSQL("CREATE TABLE IF NOT EXISTS Nama_Tabel (id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, pesan VARCHAR);");
    }

    private void KirimDataKeDB() {
        Pesan = GetPesan.getText().toString();

        CekPesanKosong(Pesan);

        if (CekPesanKosong) {
            SQLiteQuery = "INSERT INTO Nama_Tabel (pesan) VALUES ('" + Pesan + "');";
            sqLiteDatabase.execSQL(SQLiteQuery);
            Toast.makeText(MainActivity.this, "Data Berhasil di Simpan", Toast.LENGTH_SHORT).show();

            GetPesan.getText().clear();

        } else {
            Toast.makeText(MainActivity.this, "Masukkan Pesan", Toast.LENGTH_SHORT).show();
        }
    }

    private void CekPesanKosong(String pesan) {
        CekPesanKosong = !TextUtils.isEmpty(pesan);
    }
}

Run ‘app’

Sekarang jalankan projek android studio kalian. Pada tampilan awal aplikasi, kalian bisa melihat ada teks area dan 2 tombol dibawah nya. Jika kalian mengetik dalam teks area tersebut lalu menekan tombol SIMPAN PESAN, maka teks tersebut menghilang. Lalu jika kalian menekan tombol TAMPIL PESAN, maka aplikasi akan berpindah ke activity yang menampilkan pesan yang kalian tulis pada teks area pada activity sebelumnya. Jika kode diatas tidak terjadi error, maka aplikasi akan terlihat seperti pada gambar dibawah ini.

AKHIR KATA

Itulah tadi tutorial yang lumayan sulit dikerjakan karena ada begitu banyak kode yang digunakan hanya untuk membuat aplikasi menyimpan data kedalam sqlite database lalu menampilkannya ke dalam listview. Jika kalian hanya belajar yang mudah tetapi tidak mengambil pelajaran yang sulit, maka kalian tidak berkembang. Selanjutnya, bagaimana cara membuat aplikasi agar bisa data dalam sqlite database bisa di update dan di delete.

Jika kalian mengalami kendala saat melakukan tutorial di atas, silahkan komentar di bawah artikel ini. Jangan lupa untuk like dan subscribe Channel YouTube Android Rion. Semoga artikel ini membantu kalian. Terima Kasih.

- Advertisement -

Get real time updates directly on you device, subscribe now.

You might also like

- Advertisement -

Leave A Reply

Your email address will not be published.