Я пытаюсь прочитать строку JSON с веб-страницы, но получаю сообщение об ошибке jsonexception типа org.json.JSONObject не может быть преобразовано в JSONArray.
final static String URL = "http://bellabeen.dx.am/api/getBukuPilihan.php";
package com.dev.kedaiit.sibooks;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
//import androidx.appcompat.app.AppCompatActivity;
//import androidx.appcompat.widget.Toolbar;
//import androidx.recyclerview.widget.LinearLayoutManager;
//import androidx.recyclerview.widget.RecyclerView;
//import androidx.recyclerview.widget.RecyclerView;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.JsonArrayRequest;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import com.dev.kedaiit.sibooks.Adapter.AdapterData;
import com.dev.kedaiit.sibooks.Model.ModelData;
import com.dev.kedaiit.sibooks.Util.AppController;
import com.dev.kedaiit.sibooks.Util.ServerAPI;
import com.google.android.material.floatingactionbutton.FloatingActionButton;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
RecyclerView mRecyclerview;
RecyclerView.Adapter mAdapter;
RecyclerView.LayoutManager mManager;
List<ModelData> mItems;
Button btnInsert, btnDelete;
ProgressDialog pd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mRecyclerview = (RecyclerView) findViewById(R.id.recyclerviewTemp);
btnInsert = (Button) findViewById(R.id.btn_simpan);
btnDelete = (Button) findViewById(R.id.btn_delete);
pd = new ProgressDialog(MainActivity.this);
mItems = new ArrayList<>();
loadJson();
mManager = new LinearLayoutManager(MainActivity.this,LinearLayoutManager.VERTICAL,false);
mRecyclerview.setLayoutManager(mManager);
mAdapter = new AdapterData(MainActivity.this,mItems);
mRecyclerview.setAdapter(mAdapter);
btnInsert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(MainActivity.this,InsertData.class);
startActivity(intent);
}
});
btnDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent hapus = new Intent(MainActivity.this,Delete.class);
startActivity(hapus);
}
});
}
private void loadJson() {
pd.setMessage("Mengambil Data");
pd.setCancelable(false);
pd.show();
JsonArrayRequest reqData = new JsonArrayRequest(Request.Method.POST, ServerAPI.URL_DATA, null,
new Response.Listener<JSONArray>() {
@Override
public void onResponse(JSONArray response) {
pd.cancel();
Log.d("volley", "response : " + response.toString());
for (int i = 0; i < response.length(); i++) {
try {
JSONObject data = response.getJSONObject(i);
ModelData md = new ModelData();
md.setKode_buku(data.getString("kode_buku"));
md.setGenre(data.getString("genre"));
md.setJudul(data.getString("judul"));
md.setPenulis(data.getString("penulis"));
mItems.add(md);
} catch (JSONException e) {
e.printStackTrace();
}
}
mAdapter.notifyDataSetChanged();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
pd.cancel();
Log.d("volley", "error : " + error.getMessage());
}
});
AppController.getInstance().addToRequestQueue(reqData);
}
}
https://github.com/bellabeen/clien-sibooks В этом проекте я получаю это в logcat, и при отладке он говорит: jsonexception типа org.json.JSONObject не может быть преобразовано в JSONArray