为截击请求和响应创建常用方法

时间:2016-04-11 13:44:44

标签: android object casting

我在申请中使用Volley进行请求和回复。问题是我应该调用以下行来获取请求通过齐射并且这些行之间的差异只是巫师jsonArray应该转换为的对象类型(如NewsItem)第二个问题是在获取后的xml布局中显示对象的值响应。有没有办法在一个方法中总结这些行,并在不同的对象类型之前调用此方法?

 private void GetOnlineNewsContent() {
    CacheRequest cacheRequest = new CacheRequest(ContentActivity.this,Request.Method.POST,
            service_address,
            new Response.Listener<NetworkResponse>() {
                @TargetApi(Build.VERSION_CODES.KITKAT)
                @Override
                public void onResponse(NetworkResponse response) {
                    try {

                        final String jsonString = new String(response.data,
                                HttpHeaderParser.parseCharset(response.headers));
                        JSONArray jsonArray = new JSONArray(jsonString);


                        newsItem = NewsItem.fromJson(jsonArray.getJSONObject(0), term_id);
                        ShowContent(newsItem);


                    } catch (JSONException e) {
                        e.printStackTrace();
                    } catch (UnsupportedEncodingException e) {
                        e.printStackTrace();
                    }
                }
            }, new Response.ErrorListener() {
        @Override
        public void onErrorResponse(VolleyError error) {
            VolleyLog.d(TAG, "Error: " + error.getMessage());
            pDialog.hide();
        }
    });

1 个答案:

答案 0 :(得分:1)

是。您应该在Java中查看并学习Generics

您需要使这个新方法接收泛型类型,然后对该类的特定类型执行操作。

为此,您的newItem和其他3个类应该来自公共基类。

关于泛型的基础教程可以在这里找到, https://docs.oracle.com/javase/tutorial/java/generics/