Volley JSON डेटा को कस्टम ऑब्जेक्ट में मैप करना
यह उदाहरण दिखाता है कि Volley से प्राप्त JSON प्रतिक्रिया को पार्स करके कस्टम UserInfo ऑब्जेक्ट में कैसे स्टोर करें।
चरण 1-2: प्रोजेक्ट और लेआउट
मानक सेटअप।
चरण 3: MainActivity.java
package com.example.myapplication;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.RequiresApi;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.widget.TextView;
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.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
TextView textView;
RequestQueue queue;
String URL = "https://www.mocky.io/v2/597c41390f0000d002f4dbd1";
@RequiresApi(api = Build.VERSION_CODES.N)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.text);
queue = Volley.newRequestQueue(this);
StringRequest request = new StringRequest(Request.Method.GET, URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
textView.setText(response.toString());
try {
JSONObject object = new JSONObject(response);
JSONArray array = object.getJSONArray("users");
for (int i = 0; i < array.length(); i++) {
JSONObject object1 = array.getJSONObject(0); // नोट: यहाँ 0 हार्डकोडेड है
String name = object1.getString("name");
UserInfo userInfo = new UserInfo(name);
textView.setText(userInfo.name);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("error", error.toString());
}
});
queue.add(request);
}
private class UserInfo {
String name;
public UserInfo(String name) {
this.name = name;
}
}
}
चरण 4-5: मैनिफेस्ट और ग्रेडल
इंटरनेट अनुमति और वॉली निर्भरता जोड़ें।
परिणाम
