如何使用齐射将Json响应绑定到类

时间:2016-01-07 05:13:19

标签: android json android-volley

在我的应用程序中,我想使用Json responseVolley library绑定到目标类,但我无法做到。

我的代码:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    registerComponentDownload(GalleryParser.class, Const.api.URL_GALLERY);
}//on create

private void makeJsonObjectRequest(final Class<? extends BaseModel> className, String urlJsonArry) {

    JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET,urlJsonArry,null, new Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            //start gallery activity
        }
    } , new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {

        }
    });
    AppController.getInstance().addToRequestQueue(jsonObjectRequest);
}
private void registerComponentDownload(Class<? extends BaseModel> aClass, String url) {
    makeJsonObjectRequest(aClass,Const.buildUrl(url));
}

}

有可能在课堂上得到回应吗?或者我正在尝试错误的方向。

请建议我。

谢谢。

3 个答案:

答案 0 :(得分:0)

我认为您可以使用带有gson库的齐射来引用这个来制作Gson请求 https://developer.android.com/training/volley/request-custom.html

答案 1 :(得分:0)

在您的lib文件夹中添加Gson Library。 这是甲酸盐类

public class TestData {

    public int success;
    public String message;
    public TestDatail data; 
    public class TestDatail
    {
        public int is_friend;
        public int is_following;
    }
}

Gson gs=new Gson();
return gs.fromJson(your Volley Library Response,TestData.class);

答案 2 :(得分:0)

方法1:使用Bundle对象 - &gt; 在我的情况下,我将一个数组从活动A传递给活动B,如下所示:

 public void onResponse(JSONObject response)
        {
        ArrayList<Images> imagesArrayList = new ArrayList<Images>();
            try{
             if(response.has("images"))
             {
             JSONArray imagesList = response.getJSONArray("images");

              Intent i = newIntent(ActivityA.this,ActivityB.class);
                     i.putExtra("jsonArray",imagesList.toString());
                     startActivity(i);
                    }
               }catch(JSONException e){}
          }

在活动B的onCreate方法中检查传递的包是这样的:

    Intent i = getIntent();
    if (i.hasExtra("jsonArray")) 
    {
        String jsonArray = i.getStringExtra("jsonArray");
    try {
        JSONArray array = new JSONArray(jsonArray);
        // do whatever you need with this array

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

方法2:使用pojo / getters&amp;设定器

  1. 创建一个pojo
  2. 使用排球收到回复后,提取所需数据。
  3. 使用pojo的setter设置它。
  4. 开始画廊活动。
  5. 使用pojo的getter获取数据。