Bonjour,
Tout d'abord je suis débutant en Java donc désolé si mes explications ou mon code n'est pas très clair.
J'aimerai récupérer le contenu d'un JSON de la forme ci-dessous pour le mettre dans une liste. Malheureusement toutes les tentatives que j'ai essayé ont échouées.
Dans le Logcat il me met une error de parse (com.android.volley.ParseError: org.json.JSONException: Value [{"id":3,etc...)
Par ailleurs il me manque encore le code pour afficher dans une liste après.
Merci à vous pour votre aide
Voici un extrait du contenu du JSON :
[{"id":3,"is_recursive":1,"date_creation":null,"entities_id":1,"name":"NOMPC","serial":"5CDXXXX","contact_num":null,"users_id_tech":2,"groups_id_tech":0, etc....
Mon activité :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| public class MenuActivity extends AppCompatActivity {
ImageButton btnpcmenu;
String a;
TextView textView2;
ListView computerlist;
ArrayAdapter computeradapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
btnpcmenu = findViewById(R.id.btnpcmenu);
textView2 = findViewById(R.id.textView2);
computerlist = findViewById(R.id.computerlist);
btnpcmenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// https://localhost/apirest.php/Computer/?expand_drodpowns=true&session_token=rlkniaf6gqfsnamr1jr0pfhtsk
// Recuperation du session token
a = getIntent().getStringExtra("valeursessiontoken");
Log.d("recuperation", a);
// Récupération de la liste d'ordinateurs
String url = "https://localhost/apirest.php/Computer/?expand_drodpowns=true&session_token=" + a;
Log.d("URL", url);
List<computerselements> jsonResponses = new ArrayList<>();
RequestQueue requestQueue = Volley.newRequestQueue(MenuActivity.this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
computerselements computer = new computerselements();
computer.setComputername(object.getString("name"));
jsonResponses.add(computer);
computeradapter = new ArrayAdapter(MenuActivity.this, android.R.layout.simple_list_item_1,android.R.id.text1,jsonResponses);
computerlist.setAdapter(computeradapter);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("error", error.toString());
}
});
requestQueue.add(jsonObjectRequest); |
Ma classe computerselements :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public class computerselements {
int id;
String computername;
String serialnumber;
String comments;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getComputername() {
return computername;
}
public void setComputername(String computername) {
this.computername = computername;
}
public String getSerialnumber() {
return serialnumber;
}
public void setSerialnumber(String serialnumber) {
this.serialnumber = serialnumber;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
} |
Partager