/Aplikacja Android/homebudg/app/src/main/java/com/janowiak/homebudg/ExpensesList.java

https://gitlab.com/Janowiak/HomeBudget · Java · 87 lines · 76 code · 11 blank · 0 comment · 1 complexity · 9aee2e2c7e57db2bb9447ba0c702a674 MD5 · raw file

  1. package com.janowiak.homebudg;
  2. import android.app.Activity;
  3. import android.content.Context;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.support.annotation.Nullable;
  7. import android.util.AttributeSet;
  8. import android.util.Log;
  9. import android.view.View;
  10. import android.widget.ArrayAdapter;
  11. import android.widget.Button;
  12. import android.widget.ListView;
  13. import com.android.volley.AuthFailureError;
  14. import com.android.volley.Request;
  15. import com.android.volley.RequestQueue;
  16. import com.android.volley.Response;
  17. import com.android.volley.VolleyError;
  18. import com.android.volley.toolbox.JsonObjectRequest;
  19. import com.android.volley.toolbox.Volley;
  20. import org.json.JSONArray;
  21. import org.json.JSONException;
  22. import org.json.JSONObject;
  23. import java.util.ArrayList;
  24. import java.util.HashMap;
  25. import java.util.Map;
  26. public class ExpensesList extends Activity{
  27. Button addExpense;
  28. String showUrl = "http://192.168.0.8:80/HomeBudget/show_expense.php";
  29. ListView expensesList;
  30. RequestQueue requestQueue;
  31. ArrayAdapter<String> adapter;
  32. ArrayList<String> result = new ArrayList<>();
  33. @Override
  34. protected void onCreate(Bundle savedInstanceState) {
  35. super.onCreate(savedInstanceState);
  36. setContentView(R.layout.expenses_list);
  37. expensesList = (ListView) findViewById(R.id.expensesList);
  38. adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, result);
  39. expensesList.setAdapter(adapter);
  40. addExpense = (Button) findViewById(R.id.add_expense);
  41. addExpense.setOnClickListener(new View.OnClickListener() {
  42. @Override
  43. public void onClick(View v) {
  44. startActivity(new Intent(getApplicationContext(), AddExpense.class));
  45. }
  46. });
  47. requestQueue = Volley.newRequestQueue(getApplicationContext());
  48. HashMap<String, String> hashMap = new HashMap<String, String>();
  49. hashMap.put("id", User.getInstance().getID());
  50. CustomRequest jsonObjectRequest = new CustomRequest(Request.Method.POST, showUrl, hashMap, new Response.Listener<JSONObject>() {
  51. @Override
  52. public void onResponse(JSONObject response) {
  53. try {
  54. JSONArray expenses = response.getJSONArray("expenses");
  55. for(int i=0; i < expenses.length(); i++){
  56. JSONObject expense = expenses.getJSONObject(i);
  57. String notes = expense.getString("notes");
  58. String amount = expense.getString("amount");
  59. String subCategory = expense.getString("sub_category_id");
  60. result.add(notes + " " + amount + "zł");
  61. adapter.notifyDataSetChanged();
  62. }
  63. } catch (JSONException e) {
  64. e.printStackTrace();
  65. }
  66. }
  67. }, new Response.ErrorListener() {
  68. @Override
  69. public void onErrorResponse(VolleyError error) {
  70. }
  71. });
  72. adapter.notifyDataSetChanged();
  73. requestQueue.add(jsonObjectRequest);
  74. adapter.notifyDataSetChanged();
  75. }
  76. }