Advertisement
cabalz1445

MainActivity.java

Dec 7th, 2019
411
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.08 KB | None | 0 0
  1. -------------------- SCRIPT UNTUK MainActivity.java ----------------------------------------------------------
  2.  
  3. package com.ggwp.perpusktg;
  4. import java.util.ArrayList;
  5. import org.json.JSONArray;
  6. import org.json.JSONException;
  7. import org.json.JSONObject;
  8. import android.os.Bundle;
  9. import android.annotation.SuppressLint;
  10. import android.app.Activity;
  11. import android.app.AlertDialog;
  12. import android.view.Menu;
  13. import android.view.View;
  14. import android.view.View.OnClickListener;
  15. import android.widget.*;
  16. import android.os.*;
  17. import android.graphics.*;
  18. import android.app.ActionBar.LayoutParams;
  19. import android.content.DialogInterface;
  20. @SuppressLint("InlinedApi") public class MainActivity extends Activity implements OnClickListener {
  21. BiodataActivity biodataActivity = new BiodataActivity();
  22. TableLayout tableLayout;
  23. Button buttonTambahBiodata;
  24. ArrayList<Button>buttonEdit = new ArrayList<Button>();
  25. ArrayList<Button>buttonDelete = new ArrayList<Button>();
  26. JSONArray arrayBiodata;
  27. @SuppressLint("NewApi") @Override
  28. protected void onCreate(Bundle savedInstanceState) {
  29. super.onCreate(savedInstanceState);
  30. setContentView(R.layout.activity_main);
  31. // Jika SDK Android diatas API Ver.9
  32. if (android.os.Build.VERSION.SDK_INT > 9) {
  33. StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()
  34. .permitAll().build();
  35. StrictMode.setThreadPolicy(policy);
  36. }
  37. // Mendapatkan data widget dari XML Activity melalui ID
  38. tableLayout = (TableLayout) findViewById(R.id.tableBiodata);
  39. buttonTambahBiodata = (Button) findViewById(R.id.buttonTambahBiodata);
  40. buttonTambahBiodata.setOnClickListener(this);
  41. //menambah baris untuk tabel
  42. TableRow barisTabel = new TableRow(this);
  43. barisTabel.setBackgroundColor(Color.CYAN);
  44. // Menambahkan tampilan teks untuk judul pada tabel
  45. TextView viewHeaderId = new TextView(this);
  46. TextView viewHeaderNama = new TextView(this);
  47. TextView viewHeaderAction = new TextView(this);
  48. viewHeaderId.setText("ID");
  49. viewHeaderNama.setText("Nama");
  50. viewHeaderAction.setText("Action");
  51. viewHeaderId.setPadding(5, 1, 5, 1);
  52. viewHeaderNama.setPadding(5, 1, 5, 1);
  53. viewHeaderAction.setPadding(5, 1, 5, 1);
  54. // Menampilkan tampilan TextView ke dalam tabel
  55. barisTabel.addView(viewHeaderId);
  56. barisTabel.addView(viewHeaderNama);
  57. barisTabel.addView(viewHeaderAction);
  58. // Menyusun ukuran dari tabel
  59. tableLayout.addView(barisTabel, new
  60. TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
  61. try {
  62. // Mengubah data dari BiodataActivity yang berupa String menjadi array
  63. arrayBiodata = new JSONArray(biodataActivity.tampilBiodata());
  64. for (int i = 0; i < arrayBiodata.length(); i++) {
  65. JSONObject jsonChildNode = arrayBiodata.getJSONObject(i);
  66. String nama_kategori = jsonChildNode.optString("nama_kategori");
  67. String id_kategori = jsonChildNode.optString("id_kategori");
  68. System.out.println("Nama : " + nama_kategori );
  69. System.out.println("ID : " + id_kategori);
  70. barisTabel = new TableRow(this);
  71. // Memberi warna pada baris tabel
  72. if (i % 2 == 0) {
  73. barisTabel.setBackgroundColor(Color.LTGRAY);
  74. }
  75. TextView viewId = new TextView(this);
  76. viewId.setText(id_kategori);
  77. viewId.setPadding(5, 1, 5, 1);
  78. barisTabel.addView(viewId);
  79. TextView viewNama = new TextView(this);
  80. viewNama.setText(nama_kategori);
  81. viewNama.setPadding(5, 1, 5, 1);
  82. barisTabel.addView(viewNama);
  83. // Menambahkan button Edit
  84. buttonEdit.add(i, new Button(this));
  85. buttonEdit.get(i).setId(Integer.parseInt(id_kategori));
  86. buttonEdit.get(i).setTag("Edit");
  87. buttonEdit.get(i).setText("Edit");
  88. buttonEdit.get(i).setOnClickListener(this);
  89. barisTabel.addView(buttonEdit.get(i));
  90. // Menambahkan tombol Delete
  91. buttonDelete.add(i, new Button(this));
  92. buttonDelete.get(i).setId(Integer.parseInt(id_kategori));
  93. buttonDelete.get(i).setTag("Delete");
  94. buttonDelete.get(i).setText("Delete");
  95. buttonDelete.get(i).setOnClickListener(this);
  96. barisTabel.addView(buttonDelete.get(i));
  97. tableLayout.addView(barisTabel, new TableLayout.LayoutParams
  98. (LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT));
  99. }
  100. }
  101. catch (JSONException e) {
  102. e.printStackTrace();
  103. } }
  104. public void onClick (View view) {
  105. if (view.getId() == R.id.buttonTambahBiodata) {
  106. tambahBiodata();
  107. }
  108. else {
  109. for (int i= 0; i < buttonEdit.size(); i++) {
  110. // Jika ingin mengedit data pada biodata
  111. if (view.getId() == buttonEdit.get(i).getId() &&
  112. view.getTag().toString().trim().equals("Edit")) {
  113. Toast.makeText(MainActivity.this, "Edit : " + buttonEdit.get(i).getId(),
  114. Toast.LENGTH_SHORT).show();
  115. int id = buttonEdit.get(i).getId();
  116. getDataByID(id);
  117. }
  118. // Menghapus data di Tabel
  119. else if (view.getId() == buttonDelete.get(i).getId() &&
  120. view.getTag().toString().trim().equals("Delete")){
  121. Toast.makeText(MainActivity.this, "Delete : " +
  122. buttonDelete.get(i).getId(), Toast.LENGTH_SHORT).show();
  123. int id = buttonDelete.get(i).getId();
  124. deleteBiodata(id);
  125. }
  126. }
  127. }
  128. }
  129. public void deleteBiodata (int id_kategori) {
  130. biodataActivity.deleteBiodata(id_kategori);
  131. finish();
  132. startActivity(getIntent());
  133. }
  134. // Mendapatkan Biodata melalui ID
  135. public void getDataByID (int id_kategori) {
  136. String namaEdit = null;
  137. JSONArray arrayPersonal;
  138. try {
  139. arrayPersonal = new JSONArray(biodataActivity.getBiodataById(id_kategori));
  140. for (int i = 0; i < arrayPersonal.length(); i++) {
  141. JSONObject jsonChildNode = arrayPersonal.getJSONObject(i);
  142. namaEdit = jsonChildNode.optString("nama_kategori");
  143. }
  144. }
  145. catch (JSONException e) {
  146. e.printStackTrace();
  147. }
  148. LinearLayout layoutInput = new LinearLayout(this);
  149. layoutInput.setOrientation(LinearLayout.VERTICAL);
  150. // Membuat id tersembunyi pada AlertDialog
  151. final TextView viewId = new TextView(this);
  152. viewId.setText(String.valueOf(id_kategori));
  153. viewId.setTextColor(Color.TRANSPARENT);
  154. layoutInput.addView(viewId);
  155. final EditText editNama = new EditText(this);
  156. editNama.setText(namaEdit);
  157. layoutInput.addView(editNama);
  158. // Membuat AlertDialog untuk mengubah data di Biodata
  159. AlertDialog.Builder builderEditBiodata = new AlertDialog.Builder(this);
  160. //builderEditBiodata.setIcon(R.drawable.webse);
  161. builderEditBiodata.setTitle("Update Biodata");
  162. builderEditBiodata.setView(layoutInput);
  163. builderEditBiodata.setPositiveButton("Update", new DialogInterface.OnClickListener()
  164. {
  165. @Override
  166. public void onClick(DialogInterface dialog, int which) {
  167. String nama_kategori = editNama.getText().toString();
  168. System.out.println("Nama : " + nama_kategori);
  169. String laporan = biodataActivity.updateBiodata(viewId.getText().toString(),
  170. editNama.getText().toString());
  171. Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show();
  172. finish();
  173. startActivity(getIntent());
  174. }
  175. });
  176. // Jika tidak ingin mengubah data pada Biodata
  177. builderEditBiodata.setNegativeButton("Cancel", new DialogInterface.OnClickListener()
  178. {
  179. @Override
  180. public void onClick(DialogInterface dialog, int which) {
  181. dialog.cancel();
  182. }
  183. });
  184. builderEditBiodata.show();
  185. }
  186. public void tambahBiodata() {
  187. LinearLayout layoutInput = new LinearLayout(this);
  188. layoutInput.setOrientation(LinearLayout.VERTICAL);
  189. final EditText editNama = new EditText(this);
  190. editNama.setHint("Nama");
  191. layoutInput.addView(editNama);
  192. // Membuat AlertDialog untuk menambahkan data pada Biodata
  193. AlertDialog.Builder builderInsertBiodata= new AlertDialog.Builder(this);
  194. //builderInsertBiodata.setIcon(R.drawable.webse);
  195. builderInsertBiodata.setTitle("Insert Biodata");
  196. builderInsertBiodata.setView(layoutInput);
  197. builderInsertBiodata.setPositiveButton("Insert", new
  198. DialogInterface.OnClickListener() {
  199. @Override
  200. public void onClick(DialogInterface dialog, int which) {
  201. String nama_kategori = editNama.getText().toString();
  202. System.out.println("Nama : " + nama_kategori);
  203. String laporan = biodataActivity.insertBiodata(nama_kategori);
  204. Toast.makeText(MainActivity.this, laporan, Toast.LENGTH_SHORT).show();
  205. finish();
  206. startActivity(getIntent());
  207. }
  208. });
  209. builderInsertBiodata.setNegativeButton("Cancel", new
  210. DialogInterface.OnClickListener() {
  211. @Override
  212. public void onClick(DialogInterface dialog, int which) {
  213. dialog.cancel();
  214. }
  215. });
  216. builderInsertBiodata.show();
  217. }
  218. @Override
  219. public boolean onCreateOptionsMenu(Menu menu) {
  220. //Inflate the menu; this adds items to the action bar if it is present.
  221. getMenuInflater().inflate(R.menu.main, menu);
  222. return true;
  223. }
  224. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement