Skip to main content
proses delete dan update data android

Proses Delete Dan Update Data Android Mysql

Proses Delete Dan Update Data Android Mysql Bagian 3

Salam sejahtera, kembali kita melanjutkan pembahasan tentang proses delete dan update data android Mysql. Kali ini kita melanjutkan materi sebelumnya yang sudah sampai pada proses mengambil data berdasarkan ID. Akhir materi sebelumnya kita telah sampai pada tahap menampilkan data pada Halaman View Data berdasarkan ID masing-masing. Tahap selanjutnya atau tahap akhir dari seri belajar Aplikasi CRUD Android Koneksi Mysq ini adalah proses Ubah dan Hapus Data. Langsung saja akan kita bahas dalam materi lanjutan ini.

Materi tentang proses delete dan update data android. ini merupakan lanjutan dari yang sebelumnya berkenaan dengan operasi CRUD pada aplikadi Android dan Mysql. Sebaiknya untuk bisa memahami materi ini, baca dulu materi sebelumya biar bisa memahaminya:

Baca :

Video Demo Aplikasi proses delete dan update data android

Proses Aplikasi Delete Dan Update Android Mysql

Pemahaman tentang proses delete dan update data android yaitu kita akan mengambil data yang telah diinputkan sebelumnya untuk ditampilkan pada Aplikasi Android. Proses nya sebagai berikut:

  • Sebelum kita meng-Edit datanya, terlebih dahulu kita akan ambil datanya untuk ditampilkan berdasarkan ID nya didalam View EditText
  • Setelah Data nya muncul, akan ada Dua Button Yaitu Ubah Data dan Hapus Data
  • Apabila ingin meng-Ubah data nya, lakukan editan terlebih dahulu, baru kemudian tekan Button Ubah Data
  • Apabila ingin meng-Hapus data, tinggal menekan Button Hapus Data, kemudian ada muncul pesan apakah anda yakin ingin hapus data, jika yakin, maka data akan dihapus.

Untuk Tahapan proses delete dan update data android, kita masih menggunakan Layanan Web PHP dalam hal mengambil datanya. Script PHP nya pastikan telah diletakkan di PC server yaitu dengan nama file : get_data.php, update.php dan delete.php. 

Lanjutan Materi Proses Delete Dan Update Data Android Mysql

Sampai dipembahasan utama materi ini yaitu tentang proses delete dan update data android Mysql. Kini kita akan menambahkan kode untuk melakukan proses Ubah dan Hapus data. Untuk kodenya kita akan menyimpan nya dalam sebuah Method masing-masing. Buka kembali Class : ViewData.java, kemudian buatkan Method pertama untuk proses Update data. Berikut source code untuk Update Data.

Source Code Method : Update Data

   // Method Untuk Update Data
    private void updateData(){
        final String npm = editTextName.getText().toString().trim();
        final String nama = editTextDesg.getText().toString().trim();
        final String jurusan = editTextSalary.getText().toString().trim();

        class UpdateData extends AsyncTask<Void,Void,String>{
            ProgressDialog loading;
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                loading = ProgressDialog.show(ViewData.this,"Update Data...","Wait...",false,false);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                loading.dismiss();
                Toast.makeText(ViewData.this, s, Toast.LENGTH_LONG).show();
            }

            @Override
            protected String doInBackground(Void... params) {
                HashMap<String,String> hashMap = new HashMap<>();
                hashMap.put(Config.KEY_EMP_ID,id);
                hashMap.put(Config.KEY_EMP_NPM,npm);
                hashMap.put(Config.KEY_EMP_NAMA,nama);
                hashMap.put(Config.KEY_EMP_JURUSAN,jurusan);

                RequestHandler rh = new RequestHandler();

                String s = rh.sendPostRequest(Config.URL_UPDATE_EMP,hashMap);

                return s;
            }
        }

        UpdateData ue = new UpdateData();
        ue.execute();
    }

Setelah untuk Update selesai, kini kita buatkan untuk proses hapus data. Biasanya untuk proses Hapus data akan muncul terlebih dahulu semacam pesan warning menanyakan apakah yakin untuk hapus data ini atau tidak, jika Ya maka data akan terhapus dan Method Hapus Data akan dieksekusi.

Source Code Method : Confirm Hapus Data

 private void confirmDelete(){
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setMessage("Apa Kamu Yakin Untuk Menghapus Data ini?");

        alertDialogBuilder.setPositiveButton("Yes",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                       // Buatkan method hapus data kemudian dipanggil disini
                        deleteData();
                        startActivity(new Intent(ViewData.this,LihatData.class));
                    }
                });

        alertDialogBuilder.setNegativeButton("No",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {

                    }
                });

        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();
    }

Dan berikut source code untuk proses Hapus Data.

Source Code Method : Hapus Data

 // Method Hapus Data
    private void deleteDaa(){
        class DeleteData extends AsyncTask<Void,Void,String> {
            ProgressDialog loading;

            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                loading = ProgressDialog.show(ViewData.this, "Update Data...", "Wait...", false, false);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                loading.dismiss();
                Toast.makeText(ViewData.this, s, Toast.LENGTH_LONG).show();
            }

            @Override
            protected String doInBackground(Void... params) {
                RequestHandler rh = new RequestHandler();
                String s = rh.sendGetRequestParam(Config.URL_DELETE_EMP, id);
                return s;
            }
        }

        DeleteData de = new DeleteData();
        de.execute();
    }

Jangan lupa berikan implement OnClickListener nya dengan View, lihat Gambar berikut:

proses delete dan update data android
Penambahan Click Listener

Kemudian dalam method OnClick() tambahkan kode berikut :

    @Override
    public void onClick(View v) {
        if(v == buttonUpdate){
            updateData();
        }

        if(v == buttonDelete){
            confirmDelete();
        }
    }

Lanjutkan dengan memberikan event click pada button ubah dan hapus data, Lihat Gambar:

proses delete dan update data android
Event Click pada Button

Dan berikut kode lengkap Class ViewData untuk lebih memahami tentang letak penambahan kode tambahan nya dalam project proses delete dan update data android.

Source Code : ViewData.java

package com.example.ciqwan.app_crud;

import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.HashMap;


/**
 * Created by Windows10 on 20/03/2016.
 */
public class ViewData extends AppCompatActivity implements View.OnClickListener {
// Inisialiasasi View
    private EditText editTextId;
    private EditText editTextName;
    private EditText editTextDesg;
    private EditText editTextSalary;
// Inisialisasi Button
    private Button buttonUpdate;
    private Button buttonDelete;

    private String id;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.viewdata);
        Intent intent = getIntent();
        // ID
        id = intent.getStringExtra(Config.EMP_ID);
        // Inisialisasi View dan Button
        editTextId = (EditText) findViewById(R.id.editTextId);
        editTextName = (EditText) findViewById(R.id.editTextName);
        editTextDesg = (EditText) findViewById(R.id.editTextDesg);
        editTextSalary = (EditText) findViewById(R.id.editTextSalary);

        buttonUpdate = (Button) findViewById(R.id.buttonUpdate);
        buttonDelete = (Button) findViewById(R.id.buttonDelete);
        // Event click Button
        buttonUpdate.setOnClickListener(this);
        buttonDelete.setOnClickListener(this);

        // Tampilka ID pada EditText ID
        editTextId.setText(id);
// Panggil Methood GetData
        getData();
    }

    // Buat Method GetData untuk ambil data diserver
    private void getData(){
        class getData extends AsyncTask<Void,Void,String> {
            ProgressDialog loading;
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                loading = ProgressDialog.show(ViewData.this,"Proses Data...","Wait...",false,false);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                loading.dismiss();
                // Method Show Data
                ShowData(s);
            }

            @Override
            protected String doInBackground(Void... params) {
                RequestHandler rh = new RequestHandler();
                String s = rh.sendGetRequestParam(Config.URL_GET_ID,id);
                return s;
            }
        }
        getData ge = new getData();
        ge.execute();
    }
// Method ShowData untuk tampilkan data pada setiap EditText
    private void ShowData(String json){
        try {
            // Jadikan sebagai JSON object
            JSONObject jsonObject = new JSONObject(json);
            JSONArray result = jsonObject.getJSONArray(Config.TAG_JSON_ARRAY);
            JSONObject c = result.getJSONObject(0);
            // Data berdasarkan di Tabel Database
            String npm = c.getString(Config.TAG_NPM);
            String nama = c.getString(Config.TAG_NAME);
            String jurusan = c.getString(Config.TAG_JURUSAN);
// Tampilkan setiap data JSON format kedalam setiap EditText
            editTextName.setText(npm);
            editTextDesg.setText(nama);
            editTextSalary.setText(jurusan);

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }

    // Method Untuk Update Data
    private void updateData(){
        final String npm = editTextName.getText().toString().trim();
        final String nama = editTextDesg.getText().toString().trim();
        final String jurusan = editTextSalary.getText().toString().trim();

        class updateData extends AsyncTask<Void,Void,String>{
            ProgressDialog loading;
            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                loading = ProgressDialog.show(ViewData.this,"Update Data...","Wait...",false,false);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                loading.dismiss();
                Toast.makeText(ViewData.this, s, Toast.LENGTH_LONG).show();
            }

            @Override
            protected String doInBackground(Void... params) {
                HashMap<String,String> hashMap = new HashMap<>();
                hashMap.put(Config.KEY_EMP_ID,id);
                hashMap.put(Config.KEY_EMP_NPM,npm);
                hashMap.put(Config.KEY_EMP_NAMA,nama);
                hashMap.put(Config.KEY_EMP_JURUSAN,jurusan);

                RequestHandler rh = new RequestHandler();

                String s = rh.sendPostRequest(Config.URL_UPDATE_EMP,hashMap);

                return s;
            }
        }

        updateData ue = new updateData();
        ue.execute();
    }

    // Method Untuk Confirmasi Hapus Data

    private void confirmDelete(){
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
        alertDialogBuilder.setMessage("Apa Kamu Yakin Untuk Menghapus Data ini?");

        alertDialogBuilder.setPositiveButton("Yes",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {
                        // Buatkan method hapus data kemudian dipanggil disini
                        deleteData();
                        startActivity(new Intent(ViewData.this, LihatData.class));
                    }
                });

        alertDialogBuilder.setNegativeButton("No",
                new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface arg0, int arg1) {

                    }
                });

        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();
    }

    // Method Hapus Data
    private void deleteData(){
        class DeleteData extends AsyncTask<Void,Void,String> {
            ProgressDialog loading;

            @Override
            protected void onPreExecute() {
                super.onPreExecute();
                loading = ProgressDialog.show(ViewData.this, "Update Data...", "Wait...", false, false);
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                loading.dismiss();
                Toast.makeText(ViewData.this, s, Toast.LENGTH_LONG).show();
            }

            @Override
            protected String doInBackground(Void... params) {
                RequestHandler rh = new RequestHandler();
                String s = rh.sendGetRequestParam(Config.URL_DELETE_EMP, id);
                return s;
            }
        }

        DeleteData de = new DeleteData();
        de.execute();
    }


    @Override
    public void onClick(View v) {
        if(v == buttonUpdate){
            updateData();
        }

        if(v == buttonDelete){
            confirmDelete();
        }
    }
}

Run Project Aplikasi

Sampailah kita di Tahap akhir daripada materi tentang proses delete dan update data android, kita akan coba run project untuk memastikan bahwa kode nya tidak ada yang salah dan error. Saya jalankan via Emulator Geny Motion.

Proses Ubah Data

proses delete dan update data android
Pengambilan Data Berdasarkan ID
proses delete dan update data android
Lakukan Perubahan Data
proses delete dan update data android
Pesan Respon Server Sukses Update

Proses Hapus Data

proses delete dan update data android
Pesan Untuk Hapus Data

Kesimpulan proses delete dan update data android Mysql

Terakhir tentang proses delete dan update data android, semua tahapan daripada materi pembuatan Aplikasi Android koneksi dengan database Mysql menggunakan bantuan Script PHP secara klien server. Jika ada suatu materi yang kurang dipahami, insyaAllah akan saya buatkan Tutorial nya dalam bentuk Video Tutorial agar lebih mudah dipahami. Mohon kritik dan saran untuk materi proses delete dan update data android.

Mohon Maaf jika ada kekurangan materi proses delete dan update data android, Untuk Source Code nya akan saya Upload pada Bagian Materi Video Tutorial.

Facebook Comments

Ridwan, SST

Seorang Tenaga Pengajar Yang Kebetulan Suka Menulis Dan Membuat Tulisan Melalui Blog Web. CP : 0852 7747 2958 E-mail : awanpijay@rocketmail.com

More Posts - Website

Follow Me:
TwitterFacebookYouTube

Ridwan, SST

Seorang Tenaga Pengajar Yang Kebetulan Suka Menulis Dan Membuat Tulisan Melalui Blog Web. CP : 0852 7747 2958 E-mail : awanpijay@rocketmail.com