sebagai berikut adalah contoh tampilan listdata + tombol add data saat kita menekan tombol menu:
Saat kita klik toombol Add new akan muncul halaman baru form pengisian data:
pada menu tersebut jika ada data yang tidak diisi akan menghasilkan pesan kesalahan....Dan tombol Simpan Data Baru Akan muncul....
Selanjutnya adalah tampilan saat data pada listdata di klik akan memunculkan data detail data tersebut berikut tombol Update dan hapusnya....
Dari itu semua kita hanya cukup membuat dua tampilan.....yaitu tampilan list data dan tampilan form isian....bisa untuk data baru ataupun data detail.....
Ok anda berminat...ayu kita mainkan....:-)
Pertama Buat database: misalkan mahasiswa
CREATE TABLE `mahasiswa` (
`kode_mahasiswa` varchar(15) COLLATE latin1_general_ci NOT NULL,
`nama` varchar(30) COLLATE latin1_general_ci NOT NULL,
`telepon` varchar(15) COLLATE latin1_general_ci NOT NULL,
`email` varchar(50) COLLATE latin1_general_ci NOT NULL,
`keterangan` text COLLATE latin1_general_ci NOT NULL,
`status` varchar(15) COLLATE latin1_general_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
INSERT INTO `mahasiswa` (`kode_mahasiswa`, `nama`, `telepon`, `email`, `keterangan`, `status`) VALUES
('MHS001', 'Khanza Humaira Dinata', '021-78889003', 'sdf@aa.com', '-', 'Aktif'),
('MHS002', 'Rini Dyah Anggorowati', '021-92771708', 'sdf@aa.com', '-', 'Aktif'),
('MHS003', 'Riadi Marta DInata', '085279959498', 'riadimrt@yahoo.com', '-', 'Aktif');
buat code php sbb:
mahasiswa_add
<?php
require_once"../konmysqli.php";
$respon = array();
if (isset($_POST['nama']) && isset($_POST['telepon'])) {
$kode_mahasiswa= $_POST['kode_mahasiswa'];
$nama = $_POST['nama'];
$telepon = $_POST['telepon'];
$email = $_POST['email'];
$keterangan = $_POST['keterangan'];
$status = $_POST['status'];
$sql="INSERT INTO `$tbmahasiswa`
(`kode_mahasiswa`, `nama`, `telepon`, `email`,`keterangan`, `status`) VALUES
('$kode_mahasiswa', '$nama', '$telepon', '$email', '$keterangan', '$status')";
$simpan=process($conn,$sql);
if($simpan){
$respon["sukses"] = 1;
$respon["pesan"] = "1 sukses tambah.";
echo json_encode($respon);
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "0 gagal tambah";
echo json_encode($respon);
}
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "? lengkapi data";
echo json_encode($respon);
}
?>
<?php
function process($conn,$sql){
$s=false;
$conn->autocommit(FALSE);
try {
$rs = $conn->query($sql);
if($rs){
$conn->commit();
$last_inserted_id = $conn->insert_id;
$affected_rows = $conn->affected_rows;
$s=true;
}
}
catch (Exception $e) {
echo 'fail: ' . $e->getMessage();
$conn->rollback();
}
$conn->autocommit(TRUE);
return $s;
}
?>
++++++++++++++++++++++++++
mahasiswa_del
<?php
require_once"../konmysqli.php";
$response = array();
if (isset($_GET['kode_mahasiswa'])) {
$kode_mahasiswa = $_GET['kode_mahasiswa'];
$sql="DELETE FROM `$tbmahasiswa` WHERE `kode_mahasiswa` = '$kode_mahasiswa'";
$hapus=process($conn,$sql);
if($hapus){
$respon["sukses"] = 1;
$respon["pesan"] = "1 berhasil dihapus";
echo json_encode($respon);
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "0 Gagal dihapus";
echo json_encode($respon);
}
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "? lengkapi data";
echo json_encode($respon);
}
?>
<?php
function process($conn,$sql){
$s=false;
$conn->autocommit(FALSE);
try {
$rs = $conn->query($sql);
if($rs){
$conn->commit();
$last_inserted_id = $conn->insert_id;
$affected_rows = $conn->affected_rows;
$s=true;
}
}
catch (Exception $e) {
echo 'fail: ' . $e->getMessage();
$conn->rollback();
}
$conn->autocommit(TRUE);
return $s;
}
?>
mahasiswa_detail.php
<?php
require_once"../konmysqli.php";
$respon = array();
if (isset($_GET["kode_mahasiswa"])) {
$kode_mahasiswa = $_GET['kode_mahasiswa'];
$sql="SELECT * FROM `$tbmahasiswa` WHERE `kode_mahasiswa` = '$kode_mahasiswa'";
$jum=getJum($conn,$sql);
if ($jum>0) {
$d=getField($conn,$sql);
$record = array();
$record["kode_mahasiswa"] = $d["kode_mahasiswa"];
$record["nama"] = $d["nama"];
$record["telepon"] = $d["telepon"];
$record["email"] = $d["email"];
$record["keterangan"] = $d["keterangan"];
$record["status"] = $d["status"];
$respon["sukses"] = 1;
$respon["record"] = array();
array_push($respon["record"], $record);
$respon["pesan"] = "$jum record";
echo json_encode($respon);
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "0 record";
echo json_encode($respon);
}
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "? lengkapi data";
echo json_encode($respon);
}
?>
<?php
function getJum($conn,$sql){
$rs=$conn->query($sql);
$jum= $rs->num_rows;
$rs->free();
return $jum;
}
function getField($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$d= $rs->fetch_assoc();
$rs->free();
return $d;
}
?>
mahasiswa_show
<?php
require_once"../konmysqli.php";
$respon = array();
$sql="SELECT * FROM `$tbmahasiswa` order by `kode_mahasiswa` desc";
$jum=getJum($conn,$sql);
if ($jum> 0) {
$respon["record"] = array();
$arr=getData($conn,$sql);
foreach($arr as $d) {
$record = array();
$record["kode_mahasiswa"] = $d["kode_mahasiswa"];
$record["nama"] = $d["nama"];
$record["telepon"] = $d["telepon"];
$record["email"] = $d["email"];
$record["keterangan"] = $d["keterangan"];
$record["status"] = $d["status"];
array_push($respon["record"], $record); //tambahkan array 'record' pada array final 'respon'
}
// sukses
$respon["sukses"] = 1;
$respon["pesan"] = "$jum record";
echo json_encode($respon);
} else {
// jika data kosong
$respon["record"]="";
$respon["sukses"] = 0;
$respon["pesan"] = "0 record";
echo json_encode($respon);
}
?>
<?php
function getJum($conn,$sql){
$rs=$conn->query($sql);
$jum= $rs->num_rows;
$rs->free();
return $jum;
}
function getData($conn,$sql){
$rs=$conn->query($sql);
$rs->data_seek(0);
$arr = $rs->fetch_all(MYSQLI_ASSOC);
$rs->free();
return $arr;
}
?>
mahasiswa_update
<?php
require_once"../konmysqli.php";
$respon = array();
if (isset($_POST['kode_mahasiswa']) && isset($_POST['nama']) && isset($_POST['telepon'])) {
$kode_mahasiswa0= $_POST['kode_mahasiswa0'];
$kode_mahasiswa= $_POST['kode_mahasiswa'];
$nama = $_POST['nama'];
$telepon = $_POST['telepon'];
$email = $_POST['email'];
$keterangan = $_POST['keterangan'];
$status = $_POST['status'];
$sql="UPDATE `$tbmahasiswa` SET
`kode_mahasiswa` = '$kode_mahasiswa',
`nama` = '$nama',
`telepon` = '$telepon',
`email` = '$email',
`keterangan` = '$keterangan',
`status` = '$status'
WHERE `kode_mahasiswa` = '$kode_mahasiswa0'";
$ubah=process($conn,$sql);
if ($ubah) {
$respon["sukses"] = 1;
$respon["pesan"] = "1 sukses update.";
echo json_encode($respon);
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "Gagal update data.";
echo json_encode($respon);
}
} else {
$respon["sukses"] = 0;
$respon["pesan"] = "data belum terset/terisi";
echo json_encode($respon);
}
?>
<?php
function process($conn,$sql){
$s=false;
$conn->autocommit(FALSE);
try {
$rs = $conn->query($sql);
if($rs){
$conn->commit();
$last_inserted_id = $conn->insert_id;
$affected_rows = $conn->affected_rows;
$s=true;
}
}
catch (Exception $e) {
echo 'fail: ' . $e->getMessage();
$conn->rollback();
}
$conn->autocommit(TRUE);
return $s;
}
?>
konmysqli.php
<?php
require_once"koneksivar.php";
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error, E_USER_ERROR);
}
?>
+++++++++++++++++++
koneksivar.php
<?php
$DBServer = 'localhost';
$DBUser = 'root';
$DBPass = '';
$DBName = 'db_master';
$gambar0="avatar.jpg";
$css="greenblack.css";//greenblack,gradient,flickr,amazon
$PATH="ypathcss";
$YPATH="ypathfile";
$tittle="CLIENT SERVER";
$header="Client Server";
$footer="Http://www.client-server.org";
$tbadmin="admin";
$tbmahasiswa="mahasiswa";
$tbstatistik="statistik";
?>
Selanjutnya code xml android
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<!-- txtdata1 - akan di sembunyikan - digunakan untuk mengirim variabel ke activity lain -->
<TextView
android:id="@+id/txtdata1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
<!-- Name Label -->
<TextView
android:id="@+id/txtdata2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="6dip"
android:paddingLeft="6dip"
android:textSize="17dip"
android:textStyle="bold" />
<!-- txtdata3- akan di sembunyikan - digunakan untuk mengirim variabel ke activity lain -->
<TextView
android:id="@+id/txtdata3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:visibility="gone" />
</LinearLayout>
mahasiswa_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!-- Main ListView
Jangan lupa selalu berikan id value sebagai list(@android:id/list)
-->
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
mahasiswa.xml
<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=".MainActivity" >
<ScrollView
android:layout_marginBottom="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#999999"
>
<TableLayout android:id="@+id/TableLayout01"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="#fff">
<TextView
android:id="@+id/txtMarquee"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text=""
android:textSize="14sp"
android:typeface="sans"
android:textColor="#ffffff"
android:background="#000000"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever">
</TextView>
<ImageView
android:id="@+id/myGambar" android:layout_centerHorizontal="true"
android:src="@drawable/admin"
android:layout_width="100dp"
android:layout_height="100dp"
/>
<TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="kode_mahasiswa"
android:textColor="#000000" />
<EditText
android:id="@+id/txtkode_mahasiswa"
android:textColor="#000000"
android:hint="kode_mahasiswa" />
</TableRow>
<TableRow android:id="@+id/TableRow02" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="nama" />
<EditText android:id="@+id/txtnama"
android:textColor="#000000"
android:hint="nama" />
</TableRow>
<TableRow android:id="@+id/TableRow03" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="telepon" />
<EditText android:id="@+id/txttelepon"
android:textColor="#000000"
android:hint="telepon"
/>
</TableRow>
<TableRow android:id="@+id/TableRow04" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="email" />
<EditText android:id="@+id/txtemail"
android:textColor="#000000"
android:hint="email"
/>
/>
</TableRow>
<TableRow android:id="@+id/TableRow05" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:text="keterangan" />
<TextView android:text="" />
</TableRow>
<EditText android:id="@+id/txtketerangan"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:lines="2"
android:textColor="#000000"
android:hint="keterangan"
android:gravity="top"/>
<TableRow android:id="@+id/TableRow06" android:layout_width="wrap_content" android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:textColor="#000000"
android:layout_height="wrap_content"
android:text="status" />
<EditText android:id="@+id/txtstatus"
android:textColor="#000000"
android:hint="status"
/>
</TableRow>
<Button android:id="@+id/btnproses"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Proses"
android:layout_weight="1"/>
<Button android:id="@+id/btnhapus"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hapus"
android:visibility="gone"
android:layout_weight="1"/>
</TableLayout>
</ScrollView>
</RelativeLayout>
Selanjutnya code javanya
JSONParser .java
package com.lp2m.crudjson;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import android.util.Log;
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
public JSONParser() {}
String getIP() {
return "http://192.168.1.2/arraystudi/masterCSSmysqliAndroid/mahasiswa/";
}
public JSONObject makeHttpRequest(String url, String method,List<NameValuePair> params) {
try {
if(method == "POST"){
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}
else if(method == "GET"){
DefaultHttpClient httpClient = new DefaultHttpClient();
String paramString = URLEncodedUtils.format(params, "utf-8");
url += "?" + paramString;
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
return jObj;
}
}
MahasiswaList.java
package com.lp2m.crudjson;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import com.lp2m.crudjson.R;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class MahasiswaList extends ListActivity {
String ip="";
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
JSONArray myJSON = null;
ArrayList<HashMap<String, String>> arrayList;
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
private static final String TAG_kode_mahasiswa = "kode_mahasiswa";
private static final String TAG_nama = "nama";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mahasiswa_list);
arrayList = new ArrayList<HashMap<String, String>>();
ip=jParser.getIP();
new load().execute();
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,int position, long id) {
String pk = ((TextView) view.findViewById(R.id.txtdata1)).getText().toString();
Intent i = new Intent(getApplicationContext(), Mahasiswa.class);
i.putExtra("pk", pk);
startActivityForResult(i, 100);
}});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 100) {// jika result code 100
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
class load extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(MahasiswaList.this);
pDialog.setMessage("Load data. Silahkan Tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(ip+"mahasiswa_show.php", "GET", params);
Log.d("show: ", json.toString());
try {
int sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
myJSON = json.getJSONArray(TAG_record);
for (int i = 0; i < myJSON.length(); i++) {
JSONObject c = myJSON.getJSONObject(i);
String kode_mahasiswa= c.getString(TAG_kode_mahasiswa);
String nama = c.getString(TAG_nama);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_kode_mahasiswa, kode_mahasiswa);
map.put(TAG_nama, nama);
arrayList.add(map);
}
} else {
Intent i = new Intent(getApplicationContext(),Mahasiswa.class);
i.putExtra("pk", "");
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
}
}
catch (JSONException e) {e.printStackTrace();}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
ListAdapter adapter = new SimpleAdapter(MahasiswaList.this, arrayList,R.layout.list_item, new String[] { TAG_kode_mahasiswa,TAG_nama},new int[] { R.id.txtdata1, R.id.txtdata2});
setListAdapter(adapter);
}
});}
}
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 1, 0, "Add New").setIcon(R.drawable.add);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1:
Intent i = new Intent(getApplicationContext(), Mahasiswa.class);
i.putExtra("pk", "");
startActivityForResult(i, 100);
return true;
}
return false;
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
Mahasiswa.java
package com.lp2m.crudjson;
import com.lp2m.crudjson.R;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Html;
import android.text.TextUtils;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Mahasiswa extends Activity {
String ip="";
String kode_mahasiswa;
String kode_mahasiswa0="";
EditText txtKode_mahasiswa;
EditText txtNama;
EditText txtTelepon;
EditText txtEmail;
EditText txtKeterangan;
EditText txtStatus;
Button btnProses;
Button btnHapus;
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
private static final String TAG_SUKSES = "sukses";
private static final String TAG_record = "record";
private static final String TAG_nama = "nama";
private static final String TAG_telepon = "telepon";
private static final String TAG_email = "email";
private static final String TAG_keterangan = "keterangan";
private static final String TAG_status = "status";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.mahasiswa);
ip=jsonParser.getIP();
callMarquee();
txtKode_mahasiswa = (EditText) findViewById(R.id.txtkode_mahasiswa);
txtNama= (EditText) findViewById(R.id.txtnama);
txtEmail= (EditText) findViewById(R.id.txtemail);
txtTelepon= (EditText) findViewById(R.id.txttelepon);
txtKeterangan = (EditText) findViewById(R.id.txtketerangan);
txtStatus= (EditText) findViewById(R.id.txtstatus);
btnProses= (Button) findViewById(R.id.btnproses);
btnHapus = (Button) findViewById(R.id.btnhapus);
Intent i = getIntent();
kode_mahasiswa0 = i.getStringExtra("pk");
if(kode_mahasiswa0.length()>0){
new get().execute();
btnProses.setText("Update Data");
btnHapus.setVisibility(View.VISIBLE);
}
else{
btnProses.setText("Add New Data");
btnHapus.setVisibility(View.GONE);
}
btnProses.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
if(kode_mahasiswa0.length()>0){
new update().execute();
}
else{
new save().execute();
}
}});
btnHapus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
new del().execute();
}});
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class get extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Mahasiswa.this);
pDialog.setMessage("Load data detail. Silahkan tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... params) {
int sukses;
try {
List<NameValuePair> params1 = new ArrayList<NameValuePair>();
params1.add(new BasicNameValuePair("kode_mahasiswa", kode_mahasiswa0));
String url=ip+"mahasiswa_detail.php";
Log.v("detail",url);
JSONObject json = jsonParser.makeHttpRequest(url, "GET", params1);
Log.d("detail", json.toString());
sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
JSONArray myObj = json.getJSONArray(TAG_record); // JSON Array
final JSONObject myJSON = myObj.getJSONObject(0);
runOnUiThread(new Runnable() {
public void run() {
try {
txtKode_mahasiswa.setText(kode_mahasiswa0);
txtNama.setText(myJSON.getString(TAG_nama));
txtTelepon.setText(myJSON.getString(TAG_telepon));
txtEmail.setText(myJSON.getString(TAG_email));
txtKeterangan.setText(myJSON.getString(TAG_keterangan));
txtStatus.setText(myJSON.getString(TAG_status));
}
catch (JSONException e) {e.printStackTrace();}
}});
}
else{
// jika id tidak ditemukan
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {pDialog.dismiss();}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class save extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Mahasiswa.this);
pDialog.setMessage("Menyimpan data ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
kode_mahasiswa = txtKode_mahasiswa.getText().toString();
String nama= txtNama.getText().toString();
String email= txtEmail.getText().toString();
String telepon= txtTelepon.getText().toString();
String keterangan= txtKeterangan.getText().toString();
String status= txtStatus.getText().toString();
if(kode_mahasiswa.length()<1){lengkapi("kode_mahasiswa");}
else if(nama.length()<1){lengkapi("nama");}
else if(email.length()<1){lengkapi("email");}
else if(telepon.length()<1){lengkapi("telpon");}
else{
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("kode_mahasiswa0", kode_mahasiswa0));
params.add(new BasicNameValuePair("kode_mahasiswa", kode_mahasiswa));
params.add(new BasicNameValuePair("nama", nama));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("telepon", telepon));
params.add(new BasicNameValuePair("keterangan", keterangan));
params.add(new BasicNameValuePair("status", status));
String url=ip+"mahasiswa_add.php";
Log.v("add",url);
JSONObject json = jsonParser.makeHttpRequest(url,"POST", params);
Log.d("add", json.toString());
try {
int sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
Intent i = getIntent();
setResult(100, i);
finish();
} else {
// gagal update data
}
} catch (JSONException e) {
e.printStackTrace();
}
}
return null;
}
protected void onPostExecute(String file_url) {pDialog.dismiss();}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class update extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Mahasiswa.this);
pDialog.setMessage("Mengubah data ...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
kode_mahasiswa = txtKode_mahasiswa.getText().toString();
String nama= txtNama.getText().toString();
String email= txtEmail.getText().toString();
String telepon= txtTelepon.getText().toString();
String keterangan= txtKeterangan.getText().toString();
String status= txtStatus.getText().toString();
if(kode_mahasiswa.length()<1){lengkapi("kode_mahasiswa");}
else if(nama.length()<1){lengkapi("nama");}
else if(email.length()<1){lengkapi("email");}
else if(telepon.length()<1){lengkapi("telpon");}
else{
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("kode_mahasiswa0", kode_mahasiswa0));
params.add(new BasicNameValuePair("kode_mahasiswa", kode_mahasiswa));
params.add(new BasicNameValuePair("nama", nama));
params.add(new BasicNameValuePair("email", email));
params.add(new BasicNameValuePair("telepon", telepon));
params.add(new BasicNameValuePair("keterangan", keterangan));
params.add(new BasicNameValuePair("status", status));
String url=ip+"mahasiswa_update.php";
Log.v("update",url);
JSONObject json = jsonParser.makeHttpRequest(url,"POST", params);
Log.d("add", json.toString());
try {
int sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
Intent i = getIntent();
setResult(100, i);
finish();
} else {
// gagal update data
}
} catch (JSONException e) {
e.printStackTrace();
}
}
return null;
}
protected void onPostExecute(String file_url) {pDialog.dismiss();}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
class del extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Mahasiswa.this);
pDialog.setMessage("Menghapus data...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
int sukses;
try {
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("kode_mahasiswa", kode_mahasiswa0));
String url=ip+"mahasiswa_del.php";
Log.v("delete",url);
JSONObject json = jsonParser.makeHttpRequest(url, "GET", params);
Log.d("delete", json.toString());
sukses = json.getInt(TAG_SUKSES);
if (sukses == 1) {
Intent i = getIntent();
setResult(100, i);
finish();
}
}
catch (JSONException e) {e.printStackTrace();}
return null;
}
protected void onPostExecute(String file_url) {pDialog.dismiss();}
}
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
public void lengkapi(String item){
new AlertDialog.Builder(this)
.setTitle("Lengkapi Data")
.setMessage("Silakan lengkapi data "+item +" !")
.setNeutralButton("Tutup", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dlg, int sumthin) {
finish();
}}).show();
}
void callMarquee(){
Calendar cal = Calendar.getInstance();
int jam = cal.get(Calendar.HOUR);
int menit= cal.get(Calendar.MINUTE);
int detik= cal.get(Calendar.SECOND);
int tgl= cal.get(Calendar.DATE);
int bln= cal.get(Calendar.MONTH);
int thn= cal.get(Calendar.YEAR);
String stgl=String.valueOf(tgl)+"-"+String.valueOf(bln)+"-"+String.valueOf(thn);
String sjam=String.valueOf(jam)+":"+String.valueOf(menit)+":"+String.valueOf(detik);
TextView txtMarquee=(TextView)findViewById(R.id.txtMarquee);
txtMarquee.setSelected(true);
String kata="Selamat Datang @lp2maray.com Aplikasi Android "+stgl+"/"+sjam+" #";
String kalimat=String.format("%1$s",TextUtils.htmlEncode(kata));
txtMarquee.setText(Html.fromHtml(kalimat+kalimat+kalimat));
}
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.onKeyDown(keyCode, event);
}
}
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.lp2m.crudjson"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" />
<!-- Internet Permissions -->
<uses-permission android:name="android.permission.INTERNET" />
<application
android:configChanges="keyboardHidden|orientation"
android:icon="@drawable/add"
android:label="lp2maray" >
<activity
android:name=".MahasiswaList"
android:label=".:Mahasiswa" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Mahasiswa"
android:label=".:Mahasiswa" >
</activity>
</application>
</manifest>







Tidak ada komentar:
Posting Komentar