Я пытаюсь заполнить значения счетчика из базы данных 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);
Любая помощь будет принята с благодарностью!