【IT168 专稿】jQuery Mobile项目是jQuery项目下的在移动开发方面的又一力作,在本文中,笔者将带你一步步更深入学习使用jQuery Mobile框架去实现一个能在android手机上运行的新闻浏览器,这个新闻浏览器会读取Yahoo网站上以RSS方式提供的新闻。

jQuery Mobile项目目前的最新版本是alpha 3版本,该项目的主要目的是为了能轻易地实现能在不同的移动操作系统上运行的应用程序,比如能在Android,iOS和黑莓手机上运行。而本文的重点是介绍如何在Android上运行程序。本系列文章将以如下的结构进行教学:

首先,我们会向大家介绍jQuery Mobile中的基本的UI框架元素。为了达到这个目的,我们先会学习如何做一个Web应用,这个Web应用使用了Ajax和php技术,向Yahoo的服务器发起请求,然后会把Yahoo的RSS返回的新闻列表,其实是XML格式的文件返回进行解析。其中我们会学习使用jquery-dotimeout-plugin这个插件去实现当不断有最新的新闻返回时,而呈现的过渡渐变效果。同时我们还会使用DST.js plugin这个插件,去保存用户选择的要阅读的新闻分类。这个Web应用程序包括了一个HTML文件,jQuery Mobile的库文件和jQuery插件,同时其中用到了php程序去发起请求并且将请求返回给html文件。最后我们提供了该应用程序在Android,iOS上的实际效果图,以说明jQuery Mobile产生的应用的效果在不同的系统上看起来都是一致的。

在教学系列的第2、3部分,将介绍如何将我们已经做好的web应用移植到Android上去。这里我们使用的是Android系统中的android.webkit.WebView对象容器去运行我们已经实现的HTML页面,这是一个十分方便的实现方法,同时,这里的修改只是把之前用PHP实现的ajax实现的请求改为真实的Yahoo新闻的RSS地址即可,我们也会介绍如何去设计Android的一些按钮以及其中的技巧。

项目的页面结构介绍

我们先来看下项目的页面结构,先有个初步的认识。首先,呈现在用户的第一个页面,是列出了各个分类的最新的一条新闻,如下图:

在上图中,使用了jQuery Mobile的split list控件,分成了左右两个区域。其中左边的是显示了用户选择的新闻分类,每个分类下面显示了最新的一条新闻,大概每隔2秒,就会以渐变过渡效果显示最新的另外一条新闻。而每个分类的右边有一个交叉的图标,当用户点这个图标时,就会把这个分类删除掉。此外,可以通过最上方的Add图标去增加一个分类。

当用户点了增加的按钮后,出现如下图:

在上图中,用户选择下拉列表中自己喜欢的新闻分类,然后点选“Get Category”按钮,这样就会将该新闻分类添加到用户喜爱的新闻分类中去。

而点每个分类的标题,则可以在另外一个页面中列出该分类下的所有最新新闻,如下图所示:

而每条新闻都有相关的新闻图片,当点每张新闻图片时,会跳转到新闻的详细连接页面,如下图:

要注意的是,在我们的web应用和Android程序中,当打开了新闻详细页面后,如果用户要返回,则必须点后退按钮或者是手机上的后退按钮,将会返回到分类目录的首页中。

下面这个图清晰地列出了整个流程:

注意在上图中,在页面的过渡之间,我们使用了一个小的等待的图标,这个在移动设备上是十分常见的技巧,因为移动设备资源有限不象平常的web应用一样,可能有的时候要让用户等待,这个时候用一个等待图标告诉用户现在的装载进度,是一个很好的用户体验。

介绍请求响应模型

在这个部分,我们先来实现第一部分即web应用程序,首先我们探讨下其程序架构。在web应用程序中,首先是一个html页面index.html,这个页面中将包含所有的页面布局,并且处理所有用户所触发的事件。而这个页面在稍后的移动应用程序部分,会被从服务器(这里我们使用apache 2.2)中下载到用户移动设备的浏览器中。而“Get Category”和“Choose Category”按钮,则会触发ajax请求Yahoo的新闻RSS连接http://rss.news.yahoo.com,

由于ajax安全域的限制,这里不能直接对Yahoo直接发起跨域的请求,所以为了模拟效果,我们在web服务器上使用了一个bridge.php的文件进行中转处理,这个文件直接使用http get去请求Yahoo的新闻,如下结构图:

而在本教程后半部分的介绍Android应用程序中,则不再需要bridge.php文件了,因为我们会把HTML页面运行在android.webkit.WebView控件中,不再受到跨域的限制了,这将在第三部分进行详细讨论。

jQuery Mobile页面结构

本节开始介绍如何使用jQuery Mobile去编写页面,注意使用jQuery Mobile编写的页面,在普通的象IE浏览器上也是可以运行的。在jQuery Mobile框架编写的页面中,通常有一个“父页面”,在这个页面中,可以包含多个子页面,其中它们之间通过锚点进行连接跳转。我们的index.html页面的

初步结构如下:

.

其中,在这个div层中,使用了data-theme=“b”的属性,这个是jQuery Mobile预先为我们设置好的a,b,c,d,e5种风格属性,

其中这里使用的b风格,使用的是偏蓝色的风格体系,其他的4种风格体系如下所示:

而其他各个页面都包含在这个父页面的容器内。具体来说,一个内容页必须包括页头header,页面具体内容区域content,和页脚footer,用如下方式定义:

下面我们看下具体的目录分类页的结构和代码,如下图:

Categories

Add

jquery mobile android浏览器,使用JQuery Mobile实现手机新闻浏览器相关推荐

  1. jquery mobile android浏览器,使用jQuery Mobile实现手机新闻浏览器(第三章)

    在本教程的前两篇文章中,笔者分别向大家介绍了使用jQuery Mobile框架如何去设计手机新闻浏览器,其中实现了一个WEB版本的新闻浏览器,在本教程的***一篇中,将讲解如何将已实现的web版本的新 ...

  2. jquery mobile android浏览器,我们怎样使用jQuery Mobile实现手机新闻浏览器

    大家是否还对这部分知识存在疑问呀,让我来为大家详细解答一下. Mobile项目是jQuery项目下的在方面的又一力作.swift 教程在本文中,笔者将带你一步步更深入学习使用jQuery Mobile ...

  3. html实现在线新闻浏览器,使用JQuery Mobile实现手机新闻浏览器

    [IT168 专稿]jQuery Mobile项目是jQuery项目下的在移动开发方面的又一力作,在本文中,笔者将带你一步步更深入学习使用jQuery Mobile框架去实现一个能在android手机 ...

  4. 手机php用什么打开手机浏览器下载,php实现读取手机客户端浏览器的类

    /** * 类名: mobile * 描述: 手机信息类 * 其他: 偶然 编写 */ class mobile{ /** * 函数名称: getPhoneNumber * 函数功能: 取手机号 * ...

  5. 手机QQ浏览器的HTML管理器,手机qq浏览器中文件管理器有哪些功能

    手机qq浏览器中文件管理器有哪些功能 QQ浏览器是我们现在经常使用的浏览器一,其中的文件管理器功能非常的多.今天小编跟大家分享的是手机QQ浏览器文件管理器有哪些作用. 具体如下: 1. 首先我们打开手 ...

  6. safari浏览器横屏怎么设置_iPhone手机Safari浏览器不能不知道的四个小技巧

    原标题:iPhone手机Safari浏览器不能不知道的四个小技巧 如何自动开启阅读模式 Safari 浏览器的"阅读视图"模式可以让页面更加纯粹,巧用该功能还能够实现屏蔽网页广告的 ...

  7. 使用JQuery Mobile实现手机新闻浏览器

    来源:http://www.it168.com/ 1. http://tech.it168.com/a2011/0321/1168/000001168231.shtml 2. http://tech. ...

  8. jquery mobile android浏览器,使用jQuery Mobile实现新闻浏览器(3)

    [IT168 技术]在本教程的前两篇文章中,笔者分别向大家介绍了使用jQuery Mobile框架如何去设计手机新闻浏览器,其中实现了一个WEB版本的新闻浏览器,在本教程的最后一篇中,将讲解如何将已实 ...

  9. android手机功能创新,Android手机QQ浏览器1.1发布多项创新功能

    在2010北京国际通信展上,Android手机平台被各大手机厂商公认为下阶段研发的热点.与此同时,针对Android平台开发的各种应用也越来越注重用户体验,腾讯刚刚发布的Android平台手机QQ浏览 ...

最新文章

  1. Django项目test中的mock概述
  2. 平面上给定n条线段,找出一个点,使这个点到这n条线段的距离和最小。
  3. vue赋值与ajax什么区别,Vue中ajax返回的结果赋值
  4. h2 java tcpip_windows下创建h2集群,及java集成详细步骤
  5. 小数在内存中的存储表示
  6. img标签动态绑定本地图片地址不生效
  7. RTSP服务器之————rtsp-server(轻量级RTSP / RTP流媒体服务器)
  8. itools 不支持缩略图下载_PS插件缩略图3.8.0.96安装教程
  9. Linux Socket C语言网络编程:SCTP Socket
  10. 企业应用超级App来啦!
  11. H5的段落标签、图片标签、列表标签与链接标签
  12. Vuex之state和getters
  13. 【C++】指针遍历二维数组若干种方法小结
  14. 【Altium Designer2018设计简单的PCB文件实例】
  15. 诊断Oracle数据库Hanging问题
  16. Win300英雄服务器不显示,win10系统玩不了300英雄的还原步骤
  17. C语言 | 编写一个简单的定时关机程序
  18. RocketMQTemplate发送带tags的消息
  19. YOLO模型train.py文件报错:size mismatch for last_layer0.6.weight: copying a param with shape torch.
  20. 风控决策引擎——决策流构建实战

热门文章

  1. 读起来,微微心疼的句子
  2. CDR X6三折促销活动,可入
  3. 人工智能成功识别“色情暴力”信息????
  4. favicon.ico设置及修改问题
  5. 大星星学物联网概览篇-移动通信网络WWAN
  6. Gumbel 分布介绍(耿贝尔分布)
  7. 今天再大的事,到了明天就是小事;
  8. 神话体系----为众神安排的工作^_^
  9. 2022山东济宁市曲阜市招聘派遣制社区工作者备考试题及答案
  10. android 4.2.2优化启动速度,HTC G12 Desire S CM10.1 安卓4.2.2 优化 华丽稳定运行