如何使用JSON

时间:2015-10-13 07:16:52

标签: android

我正在开发与媒体相关的应用程序,因为我需要逐个调用多个Web服务,并使用带有Reviewview的cardview列出这些元素。任何人都可以建议我发行。

提前致谢。 Arasu

2 个答案:

答案 0 :(得分:1)

如果我正确地得到它你必须调用几个WS并获取数据。那么你可以使用处理异步请求的Volley或OkHttp来做到这一点。

   OkHttpClient client = new OkHttpClient();
   Request request = new Request.Builder().url(url).build();
   client.newCall(request).enqueue(new Callback() {

        @Override
        public void onFailure(Request request, IOException e) {
            // notify error
        }

        @Override
        public void onResponse(Response response) throws IOException {
          // parse the data
        }
      }
   });

准备好数据后,您可以更新recyclerview后面的模型并显示新信息。 如果您在使用RecyclerView时遇到问题,可以创建如下布局:

   <RelativeLayout >
       <android.support.v7.widget.RecyclerView
             android:id="@+id/cardList"
             android:layout_width="match_parent"
             android:layout_height="match_parent" />
  </RelativeLayout>

并且每行都有一张卡片(行布局):

    <android.support.v7.widget.CardView
         xmlns:card_view="http://schemas.android.com/apk/res-auto"
         xmlns:android="http://schemas.android.com/apk/res/android"
         android:id="@+id/card_view"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         card_view:cardCornerRadius="4dp"
         android:layout_margin="5dp">
     .....
  </android.support.v7.widget.CardView>

您可以查看显示how to use RecyclerView and CardView的帖子。 希望它能帮到你!

答案 1 :(得分:0)

您可以将从这些Web服务收到的新项目添加到适配器,并在适配器上调用notifyDataSetChanged()以使新项目显示在Recyclerview中。像 -

这样的东西
if(mAdapter == null) {
   // First item received, adapter not initialized yet.
   mAdapter = new CustomAdapter(items);
   mRecyclerView.setAdapter(mAdapter);
} else {
   // Adapter already exists. Add received items to the adapter.
   mAdapter.add(items);
   mAdapter.notifyDataSetChanged();
}