Jquery Mobile实例--利用优酷JSON接口读取视频数据

本文将介绍,如何利用JqueryMobile调用优酷API JSON接口显示视频数据。

(1)注册用户接口。

首页,到 http://open.youku.com 注册一个账户,并通过验证。然后找到API接口 (http://open.youku.com/docs/tech_doc.html

可以看到优酷提供不少API,本文将演示“通过视频关键词”接口。

点击进去后,会发现client_id和keyword是必填的,因此,未来构造的URL应该类似

https://openapi.youku.com/v2/searches/video/by_keyword.json?client_id=eab6c5f589febec2&keyword=net

如果你的keyword是中文,必须使用encodeURI进行编码。

(2)引用Jquery Mobile

你可以到 http://www.jquerymobile.com/ 下载最新版的JM库,不过本文以JM4.0为例。在本文的源代码后面,你可以看到这些CSS和JS。

(3)构建页面

构建页面的第一步,是在pageinit里,读取数据

   $(document).on(‘pageinit‘, ‘#home‘, function () {
                var url = ‘https://openapi.youku.com/v2/searches/video/by_keyword.json?‘,
                    mode = ‘&keyword=‘ + encodeURI(‘net‘),
                    key = ‘&client_id=eab6c5f589febec2‘;

                $.ajax({
                    url: url + mode + key,
                    dataType: "json",
                    async: true,
                    success: function (result) {
                        ajax.parseJSONP(result);
                    },
                    error: function (request, error) {
                        alert(‘无法连接网络或者返回值错误!‘);
                    }
                });
            });

接下来,在返回值里,处理数据,显示到listview列表里。

  var ajax = {
                parseJSONP: function (result) {
                    movieInfo.result = result.videos;
                    $.each(result.videos, function (i, row) {
                        console.log(JSON.stringify(row));
                        $(‘#movie-list‘).append(‘<li><a href="" data-id="‘ + row.id + ‘"><img src="‘ + row.thumbnail + ‘"/><h3>‘ + row.title + ‘</h3><p>click:‘ + row.view_count + ‘</p></a></li>‘);
                    });
                    $(‘#movie-list‘).listview(‘refresh‘);
                }
            }    

这里使用了ID为moview-list的元素作为容器,你可以在HTML里找到它

<ul data-role="listview"  id="movie-list" data-theme="a">  </ul>

另外,代码中 movieInfo.result = result.videos;中的videos是优酷接口返回的视频列表。

代码中的row.thumbnail 是Video提供的属性,这里是缩列图。

(4)处理单击事件

当视频一条条显示出来后,在vclick事件里,更新页面。请注意,如果使用href会发现失败,因为JM默认对会href的请求,转好为AJAX请求。

 $(document).on(‘vclick‘, ‘#movie-list li a‘, function () {
                movieInfo.id = $(this).attr(‘data-id‘);
                $.mobile.changePage("#headline", { transition: "slide", changeHash: false });
            });

(5)显示视频

  $(document).on(‘pagebeforeshow‘, ‘#headline‘, function () {
                $(‘#movie-data‘).empty();
                $.each(movieInfo.result, function (i, row) {
                    if (row.id == movieInfo.id) {
                        $(‘#movie-data‘).append(‘<li><a href=‘+row.link+‘><img src="‘ + row.thumbnail + ‘"></a></li>‘);
                        $(‘#movie-data‘).append(‘<li>名称: <a href=‘ + row.link + ‘>‘ + row.title + ‘</a></li>‘);
                        $(‘#movie-data‘).append(‘<li>发布日期:‘ + row.published + ‘</li>‘);
                        $(‘#movie-data‘).append(‘<li>时长:‘ + row.duration + ‘</li>‘);
                        $(‘#movie-data‘).append(‘<li>查看次数:‘ + row.view_count + ‘</li>‘);
                        $(‘#movie-data‘).listview(‘refresh‘);
                    }
                });
            });

最后,处理视频显示即可。在上面代码里,需要注意一定要调用listview的refresh方法刷新listview。

(6)运行结果

现在运行系统,界面如下,单击视频,可以查看具体的视频列表。

(7)后续步骤

本文简单的介绍了如何利用Jquery Mobile从后台调用数据并进行显示。如果作为一个真正的应用还有很多事情要做,例如使用localstorage缓存,数据分页等。
然后,就可以利用第三方工具如phonegap把HTML转化为适合Android/iOS的app了。

(8)源代码

单击此处下载本文源代码

http://files.cnblogs.com/mqingqing123/JMDemo.rar

Jquery Mobile实例--利用优酷JSON接口读取视频数据,布布扣,bubuko.com

时间: 2024-08-05 18:07:57

Jquery Mobile实例--利用优酷JSON接口读取视频数据的相关文章

爱奇艺、优酷、腾讯视频竞品分析报告2016(一)

1 背景 1.1 行业背景 1.1.1 移动端网民规模过半,使用时长份额超PC端 2016年1月22日,中国互联网络信息中心 (CNNIC)发布第37次<中国互联网络发展状况统计报告>,报告显示,网民的上网设备正在向手机端集中,手机成为拉动网民规模增长的主要因素.截至2015年12月,我国手机网民规模达6.20亿,有90.1%的网民通过手机上网. 图 1  2013Q1~2015Q3在线视频移动端和PC端有效使用时长份额对比 根据艾瑞网民行为监测系统iUserTracker及mUserTrac

爱奇艺、优酷、腾讯视频竞品分析报告2016(二)

接上一篇<爱奇艺.优酷.腾讯视频竞品分析报告2016(一)> http://milkyqueen520.blog.51cto.com/11233158/1760192 2.4 产品设计与交互 2.4.1  视觉风格 APP设计风格从视觉效果上至少给用户传达了两个信息:一是APP的整体基调.二是APP的目标人群. 在设计风格表现上,颜色占据了80%以上的视觉体验.因此要做好设计风格,主要做好界面的颜色搭配和分布.另外颜色是有情感的,不同的色彩能给于用户不同的印象和感受,而且不同的人群对颜色偏好也

用 Java 抓取优酷、土豆等视频

1. [代码][JavaScript]代码  import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.nodes.Element;import org.jsoup.select.Elements; /*** 视频工具类* @author sunlightcs* 2011-4-6* http://hi.juziku.com/sunlightcs/*/public class VideoUtil {       

NPOI操作excel——利用反射机制,NPOI读取excel数据准确映射到数据库字段

> 其实需求很明确,就是一大堆不一样的excel,每张excel对应数据库的一张表,我们需要提供用户上传excel,我们解析数据入库的功能实现. 那么,这就涉及到一个问题:我们可以读出excel的表头,但是怎么知道每个表头具体对应数据库里面的字段呢? 博主经过一段时间的思考与构思,想到一法:现在的情况是我们有excel表A,对应数据库表B,但是A与B具体属性字段的映射关系我们不知.那我们是不是可以有一个A到B的映射文件C呢? 我想,说到这,大家就很明了了... 第一步:为每张excel创建一个与

关于用jQuery知识来实现优酷首页轮播图!

▓▓▓▓▓▓ 大致介绍 看到了一个轮播图的思路,就想的自己动手实践一下,总体来说用jQuery实现起来简单多了 如果对代码中使用的方法有疑问,可以参考我的jQuery学习之路(持续更新),里面有讲解:或者你和我一样学习jQuery不久,那你可以看看我的jQuery小案例(持续更新),互相学习! 预览:优酷首页轮播图 ▓▓▓▓▓▓ 思路 思路其实非常简单,就是当点击图片下面的圆点或者图片两边的箭头时,让想要看到的图片走到它的位置,然后当前的图片和想要看到的图片按照一个方向运动就可以了 例如:我们点

iscroll滑动下拉 结合 jquery mobile 实例应用

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maxim

JQuery Mobile实例

<!DOCTYPE html> <html> <head> <title>jQuery Mobile: Pages within Pages</title> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a1/jquery.mobile-1.0a1.min.css" /> <script src="ht

Android 调用优酷SDK上传视频

最近在研究用优酷的SDK来进行视频上传的功能,由于优酷的SDK只是提供了一个上传的sample code,没有涉及到授权的过程,对于新手来说,可能非常棘手,现在分享一下我的思路: 程序实现前我们先要到优酷开放平台下载SDK(下载地址:http://open.youku.com/down) 根据优酷SDK的说明,上传过程主要分为以下7个步骤: 1. 新建android项目,引入YoukuUploadSDK-android jar包 2. 在MainActivity.java文件添加代码如sampl

使用苹果原生视频播放器MPMoviePlayerController播放来自优酷等网页的视频

没有自己的流媒体服务器,又想在app中用原生视频播放器MPMoviePlayerController将视频插入到界面,在界面可以直接播放,或者全屏播放,可以通过以下方法实现 先创建原生播放器 _moviePlayer = [[MPMoviePlayerController alloc] init]; _moviePlayer.controlStyle = MPMovieControlStyleEmbedded; _moviePlayer.shouldAutoplay = NO; _moviePl