`

iPhone Android Web开发(概要)

 
阅读更多

一、 前端使用技术

JavaScript jQuery Html Json、ajax

二、 jQtouch

jQtouch只是 jQuery的插件 ,它的作用是封装 iPhone Safari的特性效果实现 .

包含:

a)       页面的切换动画效果 (缺点:仅仅是页面切换不包含模块切换 )

b)       简单的 ajax应用

c)       iPhone特性(重力感应、手势操作等)

以上三点用来开发 iPhone特性的 WEB足够了。

 

下面全面解析 jQtouch的运行原理:

a)       页面解析:

 

 

         页面由三部分组成,标题栏、内容块、底部导航。这是正规的布局方式,当然随着项目需求这个布局可以打乱。但是从整体来看,每个显示的窗体即是一个页面,窗体等同于传统的页面。

b)       动画效果解析:

 

           页面之间的切换其实就是通过 CSS display来操作,但是 Safari提供了一种更为流畅而且效果更好的方法,也是 CSS。所有 javascript操作有个弊端,那就是切换页面无法返回的问题,这里采用了记录 hash的方式来处理返回操作,当每次切换的时候都记录在 hash容器内了,所切换的效果、页面的 KEY都需要记录在内,为了保证切换后保存切换的动作。

这里简单的来看一段代码:

           CSS 

                                     @-webkit-keyframes fadein {

                     from { opacity: 0 ; }

                     to { opacity : 1 ; }

}

 

@-webkit-keyframes fadeout {

                     from { opacity: 1 ; }

                     to { opacity : 0 ; }

}

.fade.in {

                    z-index : 10 ;

                    -webkit-animation-name : fadein ;

}

.fade.out {

                    z-index : 0 ;

}

 

以上 CSS片段表示了渐显的效果,页面切换效果为渐变的方式来处理。 From to表示从和去。在程序中又如何去处理?

接下来再看 jQuery的处理:

           jQuery 

                                               toPage.addClass('fade in current' );

fromPage.addClass('fade out' );

            当然上面代码可以正常切换页面,而且是渐显切换。但是这还不够,处理要 干净,当某些样式不需要的时候就必须把它清除。

              jQuery 

                  if (animation) {

                           toPage.removeClass('in reverse fade' );

                           fromPage.removeClass('current out reverse fade' );

                      }

                      else {

                           fromPage.removeClass('current' );

                      }

上面是翻页的情况,下面返回依次类推 , 做逆向操作。当然仅仅只是页面对象逆向而已。如果是逆向代码有一点不一样:

    jQuery 

                                               toPage.addClass('fade in current reverse ');

fromPage.addClass('fade out reverse ' );

 

c)       Ajax解析:

d)       重力感应解析:

iPhone中的 Safari本身就具有重力感应,我们可以通过两种途径来处理和判断是否发生了改变。

1)       通过 Safari onorientation 事件来监听

实现方式如下:  

jQuery:

                    $('body' ).unbind('turn' ).bind('turn' , function (e, info) {

                          if (info.orientation == 'profile' ) {

                               //alert(' 正常显示屏幕 ');               

                          } else {

                               //alert(' 变成顺时针屏幕 ');

                          }

 });

Js:

window.onorientation = function () {

                          var orientation = window.orientation;

                          switch (orientation) {

                               case 90:

                               case -90:

                                   //alert('  ');

                               break ;

                               default :

                                   //alert('  ');

                               break ;

                          }

}

2)       通过判断页面宽度来监听

实现方式如下:

$(window).unbind('resize' ).resize(function () {

                          if (!(window.innerWidth < window.innerHeight)) {

                               //alert(' 侧屏 ');                   

                          } else {

                               //alert(' 正屏 ');

                          }

});

上面两种方法都是处理重力感应的方法,其中第二种方法是判断浏览器变化而处理重力感应的。正常显示屏的尺寸是 420X320 , 侧屏的尺寸正好相反。所以可以利用这一点。

 

e)       手势操作解析:

手势操作分为:

1.       单指操作

单指可以理解为鼠标,即最普通常见的操作,单指操作在 iPhone中最常见的操作就是单指手刷翻页功能

 

2.       双指操作

双指操作用鼠标是模拟不出的,双指联合起来操作可以对图片放大缩小、文字的放大缩小操作,旋转图片。

 

单指操作用到的事件为 touchmove  touchend  touchmove 的用途是记录当前手指移动的区间( X  Y 坐标轴位置)和最后是否进行操作的决策。 Touchend 则是将记录清除。

 

双指操作作用到的事件为 gesturechange  gestureend  geaturechange 的用途是获取双指移动的区间大小(当然也可理解为指头之间的距离), gestureend 则是停止操作后,项目中用作来放大字体。预设字体大小加上区间大小来决定放大的字体大小。当然也应该有一个字体大小边界值。

 

三、 Android

Android手机也是基于 webkit的浏览器,同样兼容 jQtouch开发出来的 iPhone Web ,但是目前android手机关于 WEB方面的资料非常少,甚至找不到。所以目前还需要做大量的可行性分析。

比如重力感应,暂且只能用检测浏览器的变化,判断页面宽度来处理。手势操作则失效。而页面切换兼容,但是浏览器没有像 iPhone Safari那样做过性能处理。效果有点卡。

分享到:
评论

相关推荐

    iPhone,iPad,AndroidWeb开发经验1.pdf

    iPhone/iPad/Android Web开发经验1 本文主要讲述了iPhone/iPad/Android Web开发经验,涵盖了前端使用技术、jQtouch插件、iPhone特性等方面的知识点。 一、前端使用技术 在iPhone/iPad/Android Web开发中,前端...

    iphone android开发icon图标大全

    本资源集合包含了为iPhone和Android设备开发应用时可能需要的各种图标,旨在帮助开发者创建出视觉效果出色且具有高辨识度的应用。 1. iOS图标设计规范: - iOS图标尺寸:iOS应用图标有多种尺寸,包括启动图标、App...

    iPhone的web开发框架 UiUIKit

    《深入理解iPhone Web开发框架:UiUIKit》 在Web开发领域,尤其是在移动应用开发中,构建原生感观的用户界面是一项挑战。针对iOS设备,UiUIKit(Universal iPhone UI Kit)应运而生,它是一款强大的HTML/CSS3框架,...

    iphone web开发 iui插件

    在移动设备领域,尤其是苹果的iPhone,Web开发已经成为构建交互性强、用户体验良好的应用程序的重要途径。iUI是一款专门针对iPhone和类似设备的Web应用程序设计的开源框架,它允许开发者使用HTML、CSS和JavaScript来...

    iOS软件开发 iOS软件外包 iPhone开发 iPad开发 html5开发 android开发

    Android开发涉及对Android SDK的熟悉,以及对Android应用生命周期、用户界面设计(通过XML布局文件)、通知管理、数据存储、网络通信等概念的理解。 软件外包服务: 软件外包服务是一种业务实践,其中一家公司...

    iPhone和Android的开发前景对比(精辟)

    本文将深入探讨iPhone和Android的开发前景,以及市场的需求分析。 首先,从市场份额来看,Android由于其开放性和设备的多样性,占据了全球大部分智能手机市场。这为Android开发者提供了广阔的用户群体,但同时也...

    Android开发 仿iPhone风格对话框示例源码

    Android开发 仿iPhone风格对话框示例源码 这个对话框完全继承、仿照AlertDialog,只是实现了自定义效果。 另外,没有实现setIcon,因为iphone中的对话框多数都没有图标。 附件包含例子、jar包、jar包源码。

    iphone开发实战

    本书全面探讨了iPhone平台的两种编程方式——Web开发和SDK编程。全在Web开发方面,分别介绍了三个iPhone Web库,即WebKit、iUI和Canvas,并讨论了Web开发环境Dashcode,最后阐述Web应用程序的调试。在SDK开发方面,...

    卡iphone Android永久在线 离线挂Q1.5倍

    标题中的“卡iphone Android永久在线 离线挂Q1.5倍”表明这是一个针对iPhone和Android设备的应用或服务,其主要功能是让用户的QQ账号保持在线状态,即使设备处于离线模式也能实现1.5倍的挂机效率。这通常涉及到网络...

    Android-自定义声音波纹适合作录音应用的开发模仿iPhone录音效果

    在Android平台上,开发一款录音应用并模仿iPhone录音效果,往往涉及到对用户界面的精心设计以及音频处理技术的应用。本文将详细探讨如何实现自定义声音波纹这一关键元素,以达到类似iPhone录音应用的用户体验。 ...

    仿造iPhone dTableView 接口开发的Android TableGroupView

    在Android开发中,为了实现类似iOS中的UITableView效果,开发者经常会选择自定义视图来达到目的。本话题将深入探讨如何仿造iPhone中的dTableView接口,创建一个名为TableGroupView的Android组件,以此来实现分组表格...

    Android应用开发基础与实例

    ### Android应用开发基础与实例——知识点详解 #### 一、Android概述与发展历程 - **定义**: Android是一款基于Linux内核的开源操作系统,主要用于移动设备,如智能手机和平板电脑。它是Google公司及其领导的开放...

    android游戏开发毕业论文

    论文对Android平台进行了深入研究,包括其特性、应用构成(如活动、意图接收器、服务和内容提供者)以及与iPhone的比较。 在游戏策划阶段,作者详细讨论了游戏的设计理念、美工需求和功能需求。游戏策划是决定游戏...

    iPhone4/Android手机功能用户测试需求分解文档

    这份文档是iPhone4部分是我分解的,Android部分是我下属分解后我修改的,用于普通用户检验新/旧手机的功能点指导,主要侧重于功能点的测试,不涉及功能点的性能测试... 文档虽小,但是前前后后也花了两三个月才完成的,...

Global site tag (gtag.js) - Google Analytics