Aplikasi Sistem Sekolah Android (1)
Selanjutnya Buat android activity dengan nama MainTransaksi.java dan activity_main_transaksi.xml kemudian isi :
- MainTransaksi.java
package jhohannes.purba;
import java.util.ArrayList;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.support.v4.view.ViewPager.LayoutParams;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
public class MainTransaksi extends Activity implements OnClickListener {
Transaksi transaksi = new Transaksi();
TableLayout tabelTransaksi;
Button buttonTambahTransaksi;
ArrayList<Button> buttonEdit = new ArrayList<Button>();
ArrayList<Button> buttonDelete = new ArrayList<Button>();
JSONArray arrayTransaksi;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_transaksi);
tabelTransaksi = (TableLayout) findViewById(R.id.tableTransaksi);
buttonTambahTransaksi = (Button) findViewById(R.id.buttonTambahTransaksi);
buttonTambahTransaksi.setOnClickListener(this);
TableRow barisTabel = new TableRow(this);
barisTabel.setBackgroundColor(Color.CYAN);
TextView viewHeaderNamaUser = new TextView(this);
TextView viewHeaderNamaObat = new TextView(this);
TextView viewHeaderNamaApotik = new TextView(this);
TextView viewHeaderTanggal = new TextView(this);
viewHeaderNamaUser.setText("Member");
viewHeaderNamaObat.setText("Siswa");
viewHeaderNamaApotik.setText("Sekolah");
viewHeaderTanggal.setText("Tanggal");
viewHeaderNamaUser.setPadding(5, 1, 5, 1);
viewHeaderNamaObat.setPadding(5, 1, 5, 1);
viewHeaderNamaApotik.setPadding(5, 1, 5, 1);
viewHeaderTanggal.setPadding(5, 1, 5, 1);
barisTabel.addView(viewHeaderNamaUser);
barisTabel.addView(viewHeaderNamaSiswa);
barisTabel.addView(viewHeaderNamaSekolah);
barisTabel.addView(viewHeaderTanggal);
tabelTransaksi.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
try {
arrayTransaksi = new JSONArray(transaksi.tampilTransaksi());
for (int i = 0; i < arrayTransaksi.length(); i++) {
JSONObject jsonChildNode = arrayTransaksi.getJSONObject(i);
String namauser = jsonChildNode.optString("namauser");
String namaobat = jsonChildNode.optString("namasiswa");
String namaapotik = jsonChildNode.optString("namasekolah");
String tanggal = jsonChildNode.optString("tanggal");
String id = jsonChildNode.optString("id");
System.out.println("Member :" + namauser);
System.out.println("Obat :" + namasiswa);
System.out.println("Apotik :" + namasekolah);
System.out.println("Tanggal :" + tanggal);
System.out.println("ID :" + id);
barisTabel = new TableRow(this);
if (i % 2 == 0) {
barisTabel.setBackgroundColor(Color.LTGRAY);
}
TextView viewNamaUser = new TextView(this);
viewNamaUser.setText(namauser);
viewNamaUser.setPadding(5, 1, 5, 1);
barisTabel.addView(viewNamaUser);
TextView viewNamaObat = new TextView(this);
viewNamaObat.setText(namaobat);
viewNamaObat.setPadding(5, 1, 5, 1);
barisTabel.addView(viewNamaObat);
TextView viewNamaApotik = new TextView(this);
viewNamaApotik.setText(namasiswa);
viewNamaApotik.setPadding(5, 1, 5, 1);
barisTabel.addView(viewNamaSiswa);
TextView viewTanggal = new TextView(this);
viewTanggal.setText(tanggal);
viewTanggal.setPadding(5, 1, 5, 1);
barisTabel.addView(viewTanggal);
tabelTransaksi.addView(barisTabel, new TableLayout.LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.MATCH_PARENT));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
public void onClick(View view) {
if (view.getId() == R.id.buttonTambahTransaksi) {
// Toast.makeText(MainActivity.this, "Button Tambah Data",
// Toast.LENGTH_SHORT).show();
tambahTransaksi();
} else {
/*
* Melakukan pengecekan pada data array, agar sesuai dengan index
* masing-masing button
*/
for (int i = 0; i < buttonEdit.size(); i++) {
/* jika yang diklik adalah button edit */
if (view.getId() == buttonEdit.get(i).getId() && view.getTag().toString().trim().equals("Edit")) {
// Toast.makeText(MainActivity.this, "Edit : " +
// buttonEdit.get(i).getId(), Toast.LENGTH_SHORT).show();
int id = buttonEdit.get(i).getId();
getDataByID(id);
} /* jika yang diklik adalah button delete */
else if (view.getId() == buttonDelete.get(i).getId() && view.getTag().toString().trim().equals("Delete")) {
// Toast.makeText(MainActivity.this, "Delete : " +
// buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show();
int id = buttonDelete.get(i).getId();
deleteTransaksi(id);
}
}
}
}
public void deleteTransaksi(int id) {
transaksi.deleteTransaksi(id);
/* restart acrtivity */
finish();
startActivity(getIntent());
}
public void getDataByID(int id) {
String namauserEdit = null, namaobatEdit = null, namaapotikEdit = null, tanggalEdit = null;
JSONArray arrayPersonal;
try {
arrayPersonal = new JSONArray(transaksi.getTransaksiById(id));
for (int i = 0; i < arrayPersonal.length(); i++) {
JSONObject jsonChildNode = arrayPersonal.getJSONObject(i);
namauserEdit = jsonChildNode.optString("namauser");
namaobatEdit = jsonChildNode.optString("namasiswa");
namaapotikEdit = jsonChildNode.optString("namasekolah");
tanggalEdit = jsonChildNode.optString("tanggal");
}
} catch (JSONException e) {
e.printStackTrace();
}
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
// buat id tersembunyi di alertbuilder
final TextView viewId = new TextView(this);
viewId.setText(String.valueOf(id));
viewId.setTextColor(Color.TRANSPARENT);
layoutInput.addView(viewId);
final EditText editNamaUser = new EditText(this);
editNamaUser.setText(namauserEdit);
layoutInput.addView(editNamaUser);
final EditText editNamaObat = new EditText(this);
editNamaObat.setText(namaobatEdit);
layoutInput.addView(editNamaSiswa);
final EditText editNamaApotik = new EditText(this);
editNamaApotik.setText(namaapotikEdit);
layoutInput.addView(editNamaSekolah);
final EditText editTanggal = new EditText(this);
editTanggal.setText(tanggalEdit);
layoutInput.addView(editTanggal);
AlertDialog.Builder builderEditTransaksi = new AlertDialog.Builder(this);
builderEditTransaksi.setIcon(R.drawable.batagrams);
builderEditTransaksi.setTitle("Update Transaksi");
builderEditTransaksi.setView(layoutInput);
builderEditTransaksi.setPositiveButton("Update", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String namauser = editNamaUser.getText().toString();
String namaobat = editNamaObat.getText().toString();
String namaapotik = editNamaApotik.getText().toString();
String tanggal = editTanggal.getText().toString();
System.out.println("Nama : " + namauser + "Siswa : " + namasiswa + "Sekolah : " + namasekolah + " Tanggal : " + tanggal);
String laporan = transaksi.updateTransaksi(viewId.getText().toString(),
editNamaUser.getText().toString(),
editNamaObat.getText().toString(),
editNamaApotik.getText().toString(),
editTanggal.getText().toString());
Toast.makeText(MainTransaksi.this, laporan, Toast.LENGTH_SHORT).show();
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderEditTransaksi.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderEditTransaksi.show();
}
public void tambahTransaksi() {
/* layout akan ditampilkan pada AlertDialog */
LinearLayout layoutInput = new LinearLayout(this);
layoutInput.setOrientation(LinearLayout.VERTICAL);
final EditText editNamaUser= new EditText(this);
editNamaUser.setHint("Member");
layoutInput.addView(editNamaUser);
final EditText editNamaObat= new EditText(this);
editNamaObat.setHint("Siswa");
layoutInput.addView(editNamaSiswa);
final EditText editNamaApotik= new EditText(this);
editNamaApotik.setHint("Sekolah");
layoutInput.addView(editNamaSekolah);
final EditText editTanggal = new EditText(this);
editTanggal.setHint("Tanggal");
layoutInput.addView(editTanggal);
AlertDialog.Builder builderInsertTransaksi = new AlertDialog.Builder(this);
builderInsertTransaksi.setIcon(R.drawable.batagrams);
builderInsertTransaksi.setTitle("Insert Transaksi");
builderInsertTransaksi.setView(layoutInput);
builderInsertTransaksi.setPositiveButton("Insert", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String namauser = editNamaUser.getText().toString();
String namaobat = editNamaObat.getText().toString();
String namaapotik = editNamaApotik.getText().toString();
String tanggal = editTanggal.getText().toString();
System.out.println("Nama Member : " + namauser + "Nama Siswa : " + namasiswa + " Nama Siswa : " + namasekolah + " Tanggal : " + tanggal);
String laporan = transaksi.inserTransaksi(namauser, namaobat, namaapotik, tanggal);
Toast.makeText(MainTransaksi.this, laporan, Toast.LENGTH_SHORT).show();
/* restart acrtivity */
finish();
startActivity(getIntent());
}
});
builderInsertTransaksi.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builderInsertTransaksi.show();
}
}
- activity_main_transaksi.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:background="@drawable/back2"
android:orientation="vertical"
tools:context="MainTransaksi" >
<Button
android:id="@+id/buttonTambahTransaksi"
android:layout_width="186dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="Tambah Transaksi" />
<HorizontalScrollView
android:id="@+id/horizontalScrollView"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<ScrollView
android:id="@+id/verticalScrollView"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TableLayout
android:id="@+id/tableTransaksi"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dp" >
</TableLayout>
</ScrollView>
</HorizontalScrollView>
</LinearLayout>
Kemudian buat class biasa dengan nama Transaksi.java dan isi :
package jhohannes.purba;
public class Transaksi extends Koneksi {
String URL = "http://10.0.2.2/seapotik/stransaksi.php";
String url = "";
String response = "";
public String tampilTransaksi() {
try {
url = URL + "?operasi=view";
System.out.println("URL Tampil Transaksi: " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String inserTransaksi(String namauser, String namaobat, String namaapotik, String tanggal) {
try {
url = URL + "?operasi=insert&namauser=" + namauser + "&namaobat=" + namaobat + "&namaapotik=" + namaapotik + "&tanggal=" + tanggal;
System.out.println("URL Insert Transaksi : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String getTransaksiById(int id) {
try {
url = URL + "?operasi=get_transaksi_by_id&id=" + id;
System.out.println("URL Insert Transaksi : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String updateTransaksi(String id, String namauser, String namaobat, String namaapotik, String tanggal) {
try {
url = URL + "?operasi=update&id=" + id + "&namauser=" + namauser + "&namaobat=" + namaobat + "&namaapotik=" + namaapotik + "&tanggal=" + tanggal;
System.out.println("URL Insert Transaksi : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
public String deleteTransaksi(int id) {
try {
url = URL + "?operasi=delete&id=" + id;
System.out.println("URL Insert Transaksi : " + url);
response = call(url);
} catch (Exception e) {
}
return response;
}
}
Komentar
Posting Komentar