Edit dan Hapus Data (JSONObject) Part 3


Halo Sobat, Pada hari ini saya akan memberikan tutorial part 3 yaitu edit dan hapus data menggunakan JSONObject, berikut langkah-langkahnya.

Menambahkan API 
Buat file php dengan nama edit_siswa.php dan hapus_siswa.php masukan code php
  • edit_siswa.php


<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$nis = $_POST['nis'];
$nama = $_POST['nama'];
require_once('koneksi.php');
$sql = "UPDATE siswa SET nama = '$nama WHERE nis = $nis;";
$res = array();
if(mysqli_query($status,$sql)){
array_push($res, array("pesan"=>"Berhasil diubah"));
}else{
array_push($res, array("pesan"=>"Gagal diubah"));
}
echo json_encode($res);
mysqli_close($status);
  • hapus_siswa.php


<?php
$nis = $_GET['nis'];
require_once('koneksi.php');
$sql = "DELETE FROM siswa WHERE nis=$nis;";
$res = array();
  if(mysqli_query($status,$sql)){
    array_push($res, array("pesan"=>"Berhasil dihapus"));
  }else{
    array_push($res, array("pesan"=>"Gagal dihapus"));
  }
  echo json_encode($res);
mysqli_close($status);

Design Layout Android Studio
Struktur design layout

Masukan code xml dibagian activity_edit_hapus.xml 


<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:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context=".Edit_Hapus"> 
 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="NIS" /> 
 
    <EditText 
        android:id="@+id/etNis" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:enabled="false" /> 
 
    <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Nama" /> 
 
    <EditText 
        android:id="@+id/etNama" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" /> 
 
    <Button 
        android:id="@+id/btnEdit" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="Edit" /> 
 
    <Button 
        android:id="@+id/btnHapus" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="Hapus" /> 
 
</LinearLayout> 

Package Class Android Studio
Struktur package class


Masukan dibagian Edit_Hapus.java code berikut


package com.codetr.tanwir.codetr; 
 
import android.app.ProgressDialog; 
import android.content.DialogInterface; 
import android.content.Intent; 
import android.os.AsyncTask; 
import android.support.v7.app.AlertDialog; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
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; 
 
public class Edit_Hapus extends AppCompatActivity implements View.OnClickListener { 
 
    private EditText etNis; 
    private EditText etNama; 
 
    private Button btnEdit; 
    private Button btnHapus; 
 
    private String nis; 
 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_edit_hapus); 
 
        Intent intent = getIntent(); 
 
        nis = intent.getStringExtra(Config.SISWA_NIS); 
 
        etNis = (EditText) findViewById(R.id.etNis); 
        etNama = (EditText) findViewById(R.id.etNama); 
 
        btnEdit = (Button) findViewById(R.id.btnEdit); 
        btnHapus = (Button) findViewById(R.id.btnHapus); 
        btnEdit.setOnClickListener(this); 
        btnHapus.setOnClickListener(this); 
 
        etNis.setText(nis); 
 
        getSiswa(); 
    } 
 
    private void getSiswa() { 
        class GetSiswa extends AsyncTask<Void, Void, String> { 
            ProgressDialog loading; 
 
            @Override 
            protected void onPreExecute() { 
                super.onPreExecute(); 
                loading = ProgressDialog.show(Edit_Hapus.this, "Proses...", "Tunggu bentar...", false, false); 
            } 
 
            @Override 
            protected void onPostExecute(String s) { 
                super.onPostExecute(s); 
                loading.dismiss(); 
                showSiswa(s); 
            } 
 
            @Override 
            protected String doInBackground(Void... params) { 
                RequestHandler rh = new RequestHandler(); 
                String s = rh.sendGetRequestParam(Config.URL_SISWA, nis); 
                return s; 
            } 
        } 
        GetSiswa ge = new GetSiswa(); 
        ge.execute(); 
    } 
 
    private void showSiswa(String json) { 
        try { 
            JSONObject jsonObject = new JSONObject(json); 
            JSONArray result = jsonObject.getJSONArray(Config.TAG_JSON_ARRAY); 
            JSONObject c = result.getJSONObject(0); 
            String name = c.getString(Config.TAG_NAMA); 
 
            etNama.setText(name); 
 
        } catch (JSONException e) { 
            e.printStackTrace(); 
        } 
    } 
 
 
    private void EditSiswa() { 
        final String name = etNama.getText().toString().trim(); 
 
        class editSiswa extends AsyncTask<Void, Void, String> { 
            ProgressDialog loading; 
 
            @Override 
            protected void onPreExecute() { 
                super.onPreExecute(); 
                loading = ProgressDialog.show(Edit_Hapus.this, "Edit", "Tunggu bentar...", false, false); 
            } 
 
            @Override 
            protected void onPostExecute(String s) { 
                super.onPostExecute(s); 
                loading.dismiss(); 
                Toast.makeText(Edit_Hapus.this, s, Toast.LENGTH_LONG).show(); 
            } 
 
            @Override 
            protected String doInBackground(Void... params) { 
                HashMap<String, String> hashMap = new HashMap<>(); 
                hashMap.put(Config.KEY_NIS, nis); 
                hashMap.put(Config.KEY_NAMA, name); 
 
                RequestHandler rh = new RequestHandler(); 
 
                String s = rh.sendPostRequest(Config.URL_EDIT_SISWA, hashMap); 
 
                return s; 
            } 
        } 
 
        editSiswa ue = new editSiswa(); 
        ue.execute(); 
    } 
 
    private void hapusSiswa() { 
        class HapusSiswa extends AsyncTask<Void, Void, String> { 
            ProgressDialog loading; 
 
            @Override 
            protected void onPreExecute() { 
                super.onPreExecute(); 
                loading = ProgressDialog.show(Edit_Hapus.this, "Hapus", "Tunggu bentar...", false, false); 
            } 
 
            @Override 
            protected void onPostExecute(String s) { 
                super.onPostExecute(s); 
                loading.dismiss(); 
                Toast.makeText(Edit_Hapus.this, s, Toast.LENGTH_LONG).show(); 
            } 
 
            @Override 
            protected String doInBackground(Void... params) { 
                RequestHandler rh = new RequestHandler(); 
                String s = rh.sendGetRequestParam(Config.URL_HAPUS_SISWA, nis); 
                return s; 
            } 
        } 
 
        HapusSiswa de = new HapusSiswa(); 
        de.execute(); 
    } 
 
    private void confirmHapus() { 
        AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this); 
        alertDialogBuilder.setMessage("Yakin inngin hapus?"); 
 
        alertDialogBuilder.setPositiveButton("Ya", 
                new DialogInterface.OnClickListener() { 
                    @Override 
                    public void onClick(DialogInterface arg0, int arg1) { 
                        hapusSiswa(); 
                        startActivity(new Intent(Edit_Hapus.this, TampilSiswa.class)); 
                    } 
                }); 
 
        alertDialogBuilder.setNegativeButton("Tidak", 
                new DialogInterface.OnClickListener() { 
                    @Override 
                    public void onClick(DialogInterface arg0, int arg1) { 
 
                    } 
                }); 
 
        AlertDialog alertDialog = alertDialogBuilder.create(); 
        alertDialog.show(); 
    } 
 
    @Override 
    public void onClick(View v) { 
        if (v == btnEdit) { 
            EditSiswa(); 
        } 
 
        if (v == btnHapus) { 
            confirmHapus(); 
        } 
    } 
} 

Output Aplikasi




Sekian artikel dari saya semoga bermanfaat, jika ada yang ditanyakan comment saja di bawah.

Comments

Popular posts from this blog

PRIVACY POLICY BELMANDIYSAH

PRIVACY POLICY - APLICATION BELMANDIYSAH

Privacy Policy - Aplikasi Mining Algoritma