在Listview中显示视频来自Json文件

时间:2014-03-06 21:22:41

标签: java android json image parsing

我正在使用JSON。 我想在自定义列表视图中显示Json文件中的视频链接及其图像及其描述,当点击此视频链接时,它应播放视频。 [视频存储在服务器中,其链接在JSON文件中提供]。

我能够从JSON文件中获取图像和描述,但却陷入了获取视频链接。 你能帮帮我吗? 我在Google上搜索了很多,但未能获得有关从JSON文件获取的视频的信息。但是有许多关于从YouTube获取视频的例子。

我们是否应该编写任何额外的代码来从jSON获取视频当我们编写图像加载器来获取图像时! 如果是这样,任何人都可以分享我能做什么以及如何展示和播放。

提前多多感谢。

我的SingleItem视图:

 public class SingleItemView extends Activity{
     // Declare Variables

   ImageLoader imageLoader = new ImageLoader(this);

   @Override
   public void onCreate(Bundle savedInstanceState) {
      // Capture position and set results to the ImageView
       // Passes  images URL into ImageLoader.class
       imageLoader.DisplayImage(imageLocation, imgflag);

}

}

我的基本适配器:

     // Capture ListView item click
     itemView.setOnClickListener(new OnClickListener() {

     @Override
    public void onClick(View arg0) {
     // Get the position
    resultp = data.get(position);
  Intent intent = new Intent(context, SingleItemView.class);


 // Start SingleItemView Class
 context.startActivity(intent);

    }
 });
  return itemView;

1 个答案:

答案 0 :(得分:0)

您正在以JSON格式解析数据,因此显然您已将所有数据存储在HashMap Arraylist中,并使用您的视频网址的特定键。

现在,该怎么做,如果您需要打开ListView的项目点击视频,那么您可以在字符串中检索您的视频网址

String  myUrl = urHashMaparraylist.get(position).get("videolocation");

现在将此 myUrl 传递给下一个Activity,并将此字符串设置为

Uri video = Uri.parse(myUrl);
videoView.setVideoURI(video);

修改

   listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {

            String  myUrl = urHashMaparraylist.get(position).get("videolocation");
            Intent n = new Intent(YourActivityName.this , NewActivityName.class);
            n.putExtra("videolocation",myUrl);
            startActivity(n);

        }

    });

现在在您的下一个Activity中将其检索为

  Intent n = getIntent();
  String url = n.getStringExtra("videolocation");

现在,您可以将此字符串设置为VideoView作为

  Uri video = Uri.parse(myUrl);
  videoView.setVideoURI(video);