Image

Android Tutorial CRUD SQLite DB (Delete DB)

Bismillah. Assalamu'alaikum sobat zainsoft. Kita kembali melanjutkan tutorial SQLite DB di android. Sebelumnya kita telah berhasil untuk entry data account, melihat hasil dari entry tersebut, dan meng-update data account saat account ada yang ingin diubah. Sekarang kita akan coba untuk menghapus data account tersebut. Kita akan menambahkan satu method hapusAccount() di kelas DBHelper.java. Dimana nanti method tersebut akan dipanggil dari kelas AccountActivity.java saat di tekan Button Hapus. Berikut adalah potongan skrip untuk menghapus dataAccount.

public Integer deleteAccount(String accountID){
        SQLiteDatabase db = this.getWritableDatabase();
        Toast.makeText(context, "Hapus Database Berhasil", Toast.LENGTH_SHORT).show();
        return db.delete("account","account_id"+"=?",new String[]{String.valueOf(accountID)});
    }
Dari skrip diatas dapat kita lihat perintah untuk menghapus adalah db.delete("account","account_id"+"=?",new String[]{String.valueOf(accountID)}). Data dengan parameter account_id tertentu akan dihapus dari tabel account.

Selanjutnya kita akan membuat sebuah button hapus dengan id button_hapus di account_activity.xml. Skrip lengkap account_activity.xml adalah sebagai berikut:

version="1.0" encoding="utf-8"?>
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".AccountActivity">

            android:id="@+id/button_simpan"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:text="@string/simpan"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title_keterangan"
        app:layout_constraintVertical_bias="0.053" />

            android:id="@+id/button_hapus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="@string/hapus"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button_simpan" />

            android:id="@+id/title_activity"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="10dp"
        android:layout_marginTop="50dp"
        android:fontFamily="serif"
        android:text="@string/detail_account"
        android:textSize="34sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toTopOf="@+id/title_account_id"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

            android:id="@+id/title_nama"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title_account_id">

                    android:id="@+id/input_nama"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/nama_account"
            android:nextFocusDown="@id/input_alamat" />
   

            android:id="@+id/title_alamat"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title_nama">

                    android:id="@+id/input_alamat"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/alamat_account"
            android:nextFocusDown="@id/input_noponsel" />
   

            android:id="@+id/title_noponsel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title_alamat">

                    android:id="@+id/input_noponsel"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/no_ponsel_account"
            android:nextFocusDown="@id/input_keterangan" />
   

            android:id="@+id/title_keterangan"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title_noponsel">

                    android:id="@+id/input_keterangan"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/keterangan"
            android:nextFocusDown="@id/button_simpan" />
   

            android:id="@+id/title_account_id"
        android:layout_width="match_parent"
        android:layout_height="56dp"
        android:layout_marginBottom="599dp"
        android:layout_marginEnd="10dp"
        android:layout_marginStart="10dp"
        android:layout_marginTop="10dp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/title_activity">

                    android:id="@+id/input_account_id"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:hint="@string/account_id"
            android:inputType="number"
            android:nextFocusDown="@id/input_nama" />
   


Setelah selesai, kita tinggal memberikan actionListener untuk button_hapus yang baru saja kita buat di account_activity.xml.
Skrip ini akan memanggil method deleteAccount() dengan parameter yang sesuai dengan modelAccount.getIdAccount();. Berikut adalah skrip lengkap dari AccountActivity.java.

public class AccountActivity extends AppCompatActivity {

    DBHelper dbHelper;
    Button buttonSimpan,buttonHapus;
    ModelAccount modelAccount = new ModelAccount();
    TextInputEditText accountId,nama,alamat,noponsel,keterangan;

    public static boolean table_kosong = false;
    String status_entry = "";

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

        dbHelper = new DBHelper(this);

        buttonSimpan = findViewById(R.id.button_simpan);
        buttonHapus = findViewById(R.id.button_hapus);
        accountId = findViewById(R.id.input_account_id);
        nama = findViewById(R.id.input_nama);
        alamat = findViewById(R.id.input_alamat);
        noponsel = findViewById(R.id.input_noponsel);
        keterangan = findViewById(R.id.input_keterangan);

        buttonSimpan.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (
                        TextUtils.isEmpty(accountId.getText().toString()) ||
                        TextUtils.isEmpty(nama.getText().toString()) ||
                        TextUtils.isEmpty(alamat.getText().toString()) ||
                        TextUtils.isEmpty(noponsel.getText().toString()) ||
                        TextUtils.isEmpty(keterangan.getText().toString())){
                    Toast.makeText(AccountActivity.this, "Mohon cek kembali\nData tidak boleh kosong", Toast.LENGTH_SHORT).show();
                }
                else{
                    if (table_kosong == true) {
//                        add data
                        dbHelper.insertAccount(accountId.getText().toString(), nama.getText().toString(), alamat.getText().toString(), noponsel.getText().toString(), keterangan.getText().toString());
                        onBackPressed();
                    }
                    else if (table_kosong == false){
//                        edit data
                        dbHelper.updateAccount(ModelAccount.getAccount_id(),accountId.getText().toString(), nama.getText().toString(), alamat.getText().toString(), noponsel.getText().toString(), keterangan.getText().toString());
                        onBackPressed();
                    }
                }
            }
        });

        buttonHapus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                dbHelper.deleteAccount(accountId.getText().toString());
                onBackPressed();
            }
        });

        if (table_kosong == true){
            accountId.requestFocus();
            status_entry = "add";
        }
        else if (table_kosong == false){
            dbHelper.getDataAccount();
            accountId.setText(modelAccount.getAccount_id());
            nama.setText(modelAccount.getNama());
            alamat.setText(modelAccount.getAlamat());
            noponsel.setText(modelAccount.getNo_ponsel());
            keterangan.setText(modelAccount.getKeterangan());
            status_entry = "edit";
        }
    }

    @Override
    public void onBackPressed() {
        super.onBackPressed();
    }
}
Sampai ditahap ini saat kita jalankan program, kita tekan tombol hapus, tabel account di sqlite dengan account_id_old yang kita tentukan akan menjadi kosong. Demikian tutorial untuk menghapus data di SQLite DB. Gampang bukan? Sobat dapat juga melihat channel 'zainsoft' di Youtube untuk melihat running project tutorial delete SQLite DB. Semoga bermanfaat. Wassalam.

Categories: Database

0 Comments

    Leave a comment

Popular Posts

1

Hello World Java Android

2

Login App dengan Java Programming

3
4

See All Popular

Berlangganan Berita

Kami akan mengirim informasi - informasi terbaru sekitar teknologi dan pemrograman untuk menambah refenrensi anda untuk menjadi programmer handal. Masukkan email anda kolom sebelah ->