Advertisement
Guest User

Untitled

a guest
Feb 17th, 2017
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.40 KB | None | 0 0
  1. package com.example.root.sedekahrombongan;
  2.  
  3. import android.app.DatePickerDialog;
  4. import android.app.ProgressDialog;
  5. import android.content.Intent;
  6. import android.os.AsyncTask;
  7. import android.os.Bundle;
  8. import android.support.v7.app.AppCompatActivity;
  9. import android.text.InputType;
  10. import android.util.Log;
  11. import android.view.View;
  12. import android.widget.AdapterView;
  13. import android.widget.ArrayAdapter;
  14. import android.widget.Button;
  15. import android.widget.DatePicker;
  16. import android.widget.EditText;
  17. import android.widget.RadioButton;
  18. import android.widget.RadioGroup;
  19. import android.widget.Spinner;
  20.  
  21. import org.json.JSONArray;
  22. import org.json.JSONException;
  23. import org.json.JSONObject;
  24. import android.widget.AdapterView.OnItemSelectedListener;
  25. import android.widget.Toast;
  26.  
  27. import com.android.volley.Request;
  28. import com.android.volley.Response;
  29. import com.android.volley.VolleyError;
  30. import com.android.volley.toolbox.StringRequest;
  31.  
  32. import java.text.SimpleDateFormat;
  33. import java.util.ArrayList;
  34. import java.util.Calendar;
  35. import java.util.HashMap;
  36. import java.util.List;
  37. import java.util.Locale;
  38. import java.util.Map;
  39.  
  40. /**
  41. * Created by root on 2/2/17.
  42. */
  43.  
  44. public class RegActivity extends AppCompatActivity implements OnItemSelectedListener, View.OnClickListener {
  45.  
  46. private Spinner spwil,spProv,spAgama;
  47. private EditText namakurir,noktp,pass,tgl_lhr,
  48. tmp_lhr,alamat,email,no_hp,alasan;
  49. private RadioGroup rg_drh,rg_klmn;
  50. private Button dftr;
  51. ProgressDialog pdDialog;
  52. private ArrayList<Provinsi> provinsiList;
  53. private ArrayList<Wilayah> wilayahList;
  54. private DatePickerDialog datePD;
  55. private SimpleDateFormat dateFormatter;
  56.  
  57. private static final String TAG ="RegActivity";
  58. private static final String URL_FOR_REGISTRATION="http://192.168.71.222/crud_service_kurir/register.php";
  59. public String URL_WILAYAH = "http://192.168.71.222/prov/get_wilayah.php";
  60. public String URL_PROVINSI = "http://192.168.71.222/prov/get_provinsi.php";
  61. @Override
  62. protected void onCreate(Bundle savedInstanceState) {
  63. super.onCreate(savedInstanceState);
  64. setContentView(R.layout.activity_register);
  65.  
  66. pdDialog = new ProgressDialog(this);
  67. pdDialog.setCancelable(false);
  68.  
  69. spAgama = (Spinner) findViewById(R.id.spagama);
  70. spProv = (Spinner) findViewById(R.id.prov);
  71. spwil = (Spinner) findViewById(R.id.wil);
  72. namakurir = (EditText) findViewById(R.id.nama_reg);
  73. noktp = (EditText) findViewById(R.id.KTP);
  74. pass = (EditText) findViewById(R.id.pass_reg);
  75.  
  76. dateFormatter = new SimpleDateFormat("MM-dd-yyyy", Locale.US);
  77.  
  78. tgl_lhr = (EditText) findViewById(R.id.tgl_lahir);
  79. tgl_lhr.setInputType(InputType.TYPE_NULL);
  80. tgl_lhr.requestFocus();
  81.  
  82. tmp_lhr = (EditText) findViewById(R.id.t4_lahir);
  83. alamat = (EditText) findViewById(R.id.alamat);
  84. email = (EditText) findViewById(R.id.email_reg);
  85. no_hp = (EditText) findViewById(R.id.hp);
  86. alasan = (EditText) findViewById(R.id.alasan);
  87. rg_drh = (RadioGroup) findViewById(R.id.rg_drh);
  88. rg_klmn = (RadioGroup) findViewById(R.id.rg_klmn) ;
  89. dftr = (Button) findViewById(R.id.btn_reg);
  90.  
  91. provinsiList = new ArrayList<>();
  92. wilayahList = new ArrayList<>();
  93.  
  94. setDateTimeField();
  95. populateSpinnerAgama();
  96.  
  97. new getProvinsi().execute();
  98. new getWilayah().execute();
  99. dftr.setOnClickListener(new View.OnClickListener() {
  100. @Override
  101. public void onClick(View v) {
  102. daftarform();
  103. }
  104. });
  105.  
  106.  
  107. }
  108.  
  109. private void daftarform() {
  110. int selectedId = rg_drh.getCheckedRadioButtonId();
  111. String darah;
  112. if (selectedId == R.id.rb_A) {
  113. darah = "A";
  114. }
  115. else if (selectedId == R.id.rb_B) {
  116. darah = "B";
  117. }
  118. else if (selectedId == R.id.rb_AB) {
  119. darah = "AB";
  120. }else {
  121. darah = "O";
  122. }
  123.  
  124. int selectedID = rg_klmn.getCheckedRadioButtonId();
  125. String gender;
  126. if (selectedID == R.id.rb_female) {
  127. gender = "perempuan";
  128. } else {
  129. gender = "laki_laki";
  130. }
  131.  
  132. registerUser(namakurir.getText().toString(),noktp.getText().toString(),pass.getText().toString(),
  133. spwil.getSelectedItem().toString(),tgl_lhr.getText().toString(),spProv.getSelectedItem().toString(),
  134. tmp_lhr.getText().toString(),darah,alamat.getText().toString(),spAgama.getSelectedItem().toString(),
  135. gender, email.getText().toString(),no_hp.getText().toString(),alasan.getText().toString());
  136.  
  137. }
  138.  
  139. private void registerUser(final String nama, final String noktp, final String password, final String spwil,
  140. final String tlg_lahir, final String spProv, final String tmp_lahir, final String darah,
  141. final String alamat, final String spAgama, final String gender, final String email,
  142. final String no_hp, final String alasan) {
  143. String cancel_req_tag="register";
  144.  
  145. pdDialog.setMessage("Saving...");
  146. showDialog();
  147. StringRequest strReq = new StringRequest(Request.Method.POST,
  148. URL_FOR_REGISTRATION, new Response.Listener<String>() {
  149.  
  150. @Override
  151. public void onResponse(String response) {
  152. Log.d(TAG,"Register Response : " + response.toString());
  153. hideDialog();
  154. try {
  155. JSONObject jObj = new JSONObject(response);
  156.  
  157.  
  158. boolean error = jObj.getBoolean("error");
  159.  
  160. if (!error) {
  161. String user = jObj.getJSONObject("user").getString("nama");
  162.  
  163. Toast.makeText(getApplicationContext(), "Hi" + user + "sukses", Toast.LENGTH_SHORT).show();
  164.  
  165. Intent intent = new Intent(RegActivity.this, LoginActivity.class);
  166. startActivity(intent);
  167. finish();
  168. } else {
  169. String errorMsg = jObj.getString("error_msg");
  170. Toast.makeText(getApplicationContext(), errorMsg, Toast.LENGTH_LONG).show();
  171. }
  172. } catch (JSONException e) {
  173. e.printStackTrace();
  174. }
  175. }
  176. }, new Response.ErrorListener() {
  177. @Override
  178. public void onErrorResponse(VolleyError error) {
  179. Log.e(TAG,"Register Error : " + error.getMessage());
  180. Toast.makeText(getApplicationContext(),error.getMessage(),Toast.LENGTH_LONG).show();
  181. hideDialog();
  182. }
  183. }) {
  184. @Override
  185. protected Map<String,String> getParams(){
  186.  
  187. Map<String,String> params = new HashMap<String, String>();
  188. params.put("nama", nama);
  189. params.put("noktp", noktp);
  190. params.put("password", password);
  191. params.put("idwil", spwil);
  192. params.put("tgl_lahir", tlg_lahir);
  193. params.put("idprov", spProv);
  194. params.put("tempat_lahir", tmp_lahir);
  195. params.put("gol_darah", darah);
  196. params.put("alamat", alamat);
  197. params.put("agama", spAgama);
  198. params.put("jenis_kelamin", gender);
  199. params.put("email", email);
  200. params.put("no_hp", no_hp);
  201. params.put("alasan_masuk_sr", alasan);
  202. return params;
  203. }
  204. };
  205. AppSingleton.getInstance(getApplicationContext()).addToRequestQueue(strReq,
  206. cancel_req_tag);
  207. }
  208.  
  209. private void hideDialog() {
  210. if (pdDialog.isShowing())
  211. pdDialog.dismiss();
  212. }
  213.  
  214. private void showDialog() {
  215. if (!pdDialog.isShowing())
  216. pdDialog.show();
  217. }
  218.  
  219. private void setDateTimeField() {
  220. tgl_lhr.setOnClickListener(this);
  221. Calendar newCalender = Calendar.getInstance();
  222. datePD = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
  223. @Override
  224. public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
  225. Calendar newDate = Calendar.getInstance();
  226. newDate.set(month,dayOfMonth,year);
  227. tgl_lhr.setText(dateFormatter.format(newDate.getTime()));
  228. }
  229. }, newCalender.get(Calendar.MONTH),newCalender.get(Calendar.DAY_OF_MONTH), newCalender.get(Calendar.YEAR));
  230. }
  231.  
  232. private void populateSpinnerAgama() {
  233. ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item);
  234.  
  235. adapter.add("Islam");
  236. adapter.add("kristen");
  237. adapter.add("katolik");
  238. adapter.add("Hindu");
  239. adapter.add("Budha");
  240.  
  241. spAgama.setAdapter(adapter);
  242. spAgama.setSelection(0);
  243. }
  244.  
  245. @Override
  246. public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  247. Spinner spProv = (Spinner) parent;
  248. Spinner spwil = (Spinner) parent;
  249. if (spProv.getId() == R.id.prov) {
  250. Toast.makeText(getApplicationContext(), parent.getItemAtPosition(position).toString() + "Pilih",
  251. Toast.LENGTH_LONG).show();
  252. }
  253. if (spwil.getId() == R.id.wil) {
  254. Toast.makeText(getApplicationContext(), parent.getItemAtPosition(position).toString() + "Pilih",
  255. Toast.LENGTH_LONG).show();
  256. }
  257. }
  258.  
  259. @Override
  260. public void onNothingSelected(AdapterView<?> parent) {
  261.  
  262. }
  263.  
  264. @Override
  265. public void onClick(View v) {
  266. if (v == tgl_lhr) {
  267. datePD.show();
  268. }
  269. }
  270.  
  271. private class getProvinsi extends AsyncTask<Void, Void, Void> {
  272.  
  273. @Override
  274. protected void onPreExecute(){
  275. super.onPreExecute();
  276. }
  277.  
  278. @Override
  279. protected Void doInBackground(Void... arg0) {
  280. ServiceHandler jsonParser = new ServiceHandler();
  281. String json = jsonParser.makeServiceCall(URL_PROVINSI, ServiceHandler.GET);
  282.  
  283. Log.e("Response: ", " " + json);
  284.  
  285. if (json != null) {
  286. try {
  287. JSONObject jsonObj = new JSONObject(json);
  288. if (jsonObj != null) {
  289. JSONArray provinsi = jsonObj
  290. .getJSONArray("provinsi");
  291.  
  292. for (int i = 0; i < provinsi.length(); i++) {
  293. JSONObject provObj = (JSONObject) provinsi.get(i);
  294. Provinsi prov = new Provinsi(provObj.getInt("idprov"),
  295. provObj.getString("provinsi"));
  296. provinsiList.add(prov);
  297. }
  298. }
  299.  
  300. } catch (JSONException e) {
  301. e.printStackTrace();
  302. }
  303.  
  304. } else {
  305. Log.e("JSON Data", "Didn't receive any data from server!");
  306. }
  307.  
  308. return null;
  309. }
  310.  
  311. @Override
  312. protected void onPostExecute(Void result) {
  313. super.onPostExecute(result);
  314. populateSpinnerProv();
  315. }
  316.  
  317. }
  318.  
  319. private class getWilayah extends AsyncTask<Void, Void, Void> {
  320.  
  321. @Override
  322. protected void onPreExecute(){
  323. super.onPreExecute();
  324. }
  325.  
  326. @Override
  327. protected Void doInBackground(Void... params) {
  328. ServiceHandler jsonParser = new ServiceHandler();
  329. String json = jsonParser.makeServiceCall(URL_WILAYAH, ServiceHandler.GET);
  330.  
  331. Log.e("Response: ", " " + json);
  332.  
  333. if (json != null) {
  334. try {
  335. JSONObject jsonObj = new JSONObject(json);
  336. if (jsonObj != null) {
  337. JSONArray wilayah = jsonObj
  338. .getJSONArray("wilayah");
  339.  
  340. for (int i = 0; i < wilayah.length(); i++) {
  341. JSONObject wilObj = (JSONObject) wilayah.get(i);
  342. Wilayah wil = new Wilayah(wilObj.getInt("idwil"),
  343. wilObj.getString("wilayah"));
  344. wilayahList.add(wil);
  345. }
  346. }
  347.  
  348. } catch (JSONException e) {
  349. e.printStackTrace();
  350. }
  351.  
  352. } else {
  353. Log.e("JSON Data", "Didn't receive any data from server!");
  354. }
  355.  
  356. return null;
  357. }
  358.  
  359. @Override
  360. protected void onPostExecute(Void result) {
  361. super.onPostExecute(result);
  362. populateSpinnerWil();
  363. }
  364.  
  365. }
  366.  
  367. private void populateSpinnerWil() {
  368. List<String> lables = new ArrayList<String>();
  369.  
  370.  
  371. for (int i = 0; i < wilayahList.size(); i++) {
  372. lables.add(wilayahList.get(i).getWilayah());
  373. }
  374.  
  375. // Creating adapter for spinner
  376. ArrayAdapter<String> spWilAdapter = new ArrayAdapter<String>(this,
  377. android.R.layout.simple_spinner_item, lables);
  378.  
  379. // Drop down layout style - list view with radio button
  380. spWilAdapter
  381. .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  382.  
  383. // attaching data adapter to spinner
  384. spwil.setAdapter(spWilAdapter);
  385. spwil.setSelection(0);
  386. }
  387.  
  388. private void populateSpinnerProv() {
  389. List<String> lables = new ArrayList<String>();
  390.  
  391.  
  392. for (int i = 0; i < provinsiList.size(); i++) {
  393. lables.add(provinsiList.get(i).getProvinsi());
  394. }
  395.  
  396. // Creating adapter for spinner
  397. ArrayAdapter<String> spProvAdapter = new ArrayAdapter<String>(this,
  398. android.R.layout.simple_spinner_item, lables);
  399.  
  400. // Drop down layout style - list view with radio button
  401. spProvAdapter
  402. .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
  403.  
  404. // attaching data adapter to spinner
  405. spProv.setAdapter(spProvAdapter);
  406. spProv.setSelection(0);
  407. }
  408.  
  409. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement