Заполните значения счетчика из базы данных MySQL - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь заполнить значения счетчика из базы данных mysql для моего приложения для Android, но не могу заставить мой код работать, кто-нибудь может увидеть, где я иду не так? Кажется, что PHP работает нормально, но я не знаю, откуда проблема.

Я получаю исключение java.lang.NullPointerException при попытке перейти к этому действию

Это код класса:

public class OrderConfirm extends AppCompatActivity {

ArrayList<String> listWaiters;
private Spinner WaiterSpinner;
private ArrayAdapter<String> waiter_adapter;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_order_confirm);



        Intent intent = getIntent();
        final String table = intent.getStringExtra("table");
        final String additionalInfo = intent.getStringExtra("additional_info");

        WaiterSpinner = findViewById(R.id.spnWaiters);

        setUpWaiterSpinner();
waiter_adapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, listWaiters);
        WaiterSpinner.setAdapter(waiter_adapter);


}

 public void setUpWaiterSpinner() {
        String url = "hidden";
        StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
            @Override
            public void onResponse(String response) {
                try {
                    JSONObject obj = new JSONObject(response);
                    JSONArray array = obj.getJSONArray("waiters");

                    for (int i = 0; i < array.length(); i++) {
                        final JSONObject orderObj = array.getJSONObject(i);
                        String waiterName = orderObj.getString("name");
                        listWaiters.add(waiterName);
                        waiter_adapter.notifyDataSetChanged();
                    }

                } catch (JSONException e) {
                    e.printStackTrace();
                }



            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                Toast.makeText(OrderConfirm.this, "Oops!" +error.toString(), Toast.LENGTH_LONG).show();
            }
        }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {

                Map<String, String> params = new HashMap<>();
                params.put("menuid", "0");
                return params;
            }

        };

        MySingleton.getInstance(this).addToRequestQueue(stringRequest);

    }

И код php:

<?php

//include connection file
include("conn.php");

$query="SELECT * FROM rest_users WHERE user_type = 2";
$result= mysqli_query($conn, $query) or die('error: '+mysql.error());

$respone = array();

if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_assoc($result)){
        $response[] = $row;
    }

}
header('Content_Type: application/json;');
echo json_encode(array("waiters" => $response));

mysqli_close($conn);

Любая помощь будет принята с благодарностью!

...