沃Phone应用开发简介.ppt_第1页
沃Phone应用开发简介.ppt_第2页
沃Phone应用开发简介.ppt_第3页
沃Phone应用开发简介.ppt_第4页
沃Phone应用开发简介.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

,沃Phone应用开发简介,中国联通 & 深圳全智达公司 2011年03月,目录,沃Phone软件平台介绍 沃Phone OS智能手机操作系统简介 沃Phone SDK应用软件开发工具包简介 沃Phone 应用开发环境简介 沃Phone应用开发基础 沃Phone应用开发指南,沃Phone OS简介,沃Phone OS是中国联通和深圳全智达公司联合开发的自主创新的智能手机操作系统; 基于开源Linux OS Kernel V2.6 设计,包含丰富的GUI功能、成熟的应用软件集、各种安全套件等; 并提供完整的面向移动互联网的智能手机操作系统解决方案。,沃Phone SDK是一套完整的智能手机软件开发工具包,包括沃Phone API、模拟器、工程向导、开发指南、打包软件等一系列辅助工具。,沃Phone OS总体架构,沃Phone应用开发框架采用通用的应用-视图模式,基于事件驱动的消息循环机制进行工作。,沃Phone OS功能模块组件提供强大的系统功能,可屏蔽底层系统的复杂多样性,同时为上层应用软件提供多种功能接口和服务支持,具有跨平台的特性。,沃Phone OS TGUI提供高速图形用户接口,包括图形图像、窗口空间、语言文字、消息处理等;沃Phone OS支持第三方功能组件。,沃Phone SDK简介,基于主流的成熟、易用的IDE环境,团队协作开发,开发者数量众多 基于C/C+语言开发Native应用,程序运行效率高,同时系统集成多种C/C+扩展库 在PC机上即可基于模拟器运行和调试应用程序,提高开发效率 图形化的UI编辑器,所见即所得 支持30多种沃Phone标准控件,增强界面表现,凸显沃Phone风格,降低开发难度 TCOM组件技术,支持应用间协同工作;提供多种TCOM系统组件,方便用户调用,减少编码量 支持GPS、多点触控,重力加速度,距离传感器,光线传感器等主流传感器设备 支持OpenGL ES 1.1/2.0,同时支持主流的Cocos2D游戏引擎,可快速开发、移植2D和3D游戏 桌面插件接口,便于开发多种桌面插件 HVGA、WVGA多分辨率支持 采用Unicode字符编码,便于国际化多语种支持 内置互联网应用模板,支持压缩的网络传输协议,便于快速开发互联网应用 内置多种示例程序,供开发者参考 提供开发者社区,QQ群,现场支持等多种交流途径,协助开发者解决问题,沃Phone SDK是一套完整的应用程序开发工具包,其主要特点如下:,沃Phone应用开发环境简介,沃Phone SDK 支持包,PC操作系统,沃Phone OS模拟器,沃Phone OS 开发助手,沃Phone 应用程序,集 成 开 发 环 境,图形化 资源编辑器 TOPS Builder,沃Phone应用程序 打包发布工具,沃Phone SDK支持包 沃Phone OS模拟器 工具集:沃Phone OS开发助手、图形化资源编辑器(TOPS Builder)、沃Phone应用程序打包发布工具(TG3_Publish_Maker) 集成开发环境,沃Phone应用开发流程,沃Phone APP向导生成项目工程,编辑APP 用户界面资源,C/C+代码 编写和编译,集成开发环境和沃Phone OS模拟环境调试,PC 环境 交叉编译,沃Phone手机调试,发布工具打包,软件发布,目录,沃Phone软件平台介绍 沃Phone应用开发基础 第一个沃Phone应用程序 应用程序模型 消息系统 TCOM组件技术 沃Phone应用开发指南,第一个沃Phone应用程序(1),安装IDE 以Visual Studio 2008为例,操作系统为Windows XP及以上版本。 安装沃Phone Wizard插件 沃Phone Wizard插件可集成在Visual Studio 2008开发环境中,使用该插件可以通过Visual Studio 2008工程向导快捷生成沃Phone应用程序项目。 安装沃Phone SDK 在获取沃Phone SDK之后将其安装到默认目录即可。,首先需要搭建开发环境,步骤如下:,第一个沃Phone应用程序(2),在Visual C+ 2008中新建沃Phone项目 查看项目的源代码文件组成 调试第一个沃Phone应用程序,搭建后开发环境之后,开始创建沃Phone应用程序:,第一个沃Phone应用程序(3),通过沃Phone助手启动沃Phone OS模拟器,运行该程序后即可在模拟器中查看运行结果。,应用程序模型(1),基于C/C+语言开发; 以动态库的形式存在,在windows系统上dll文件,在手机上实际运行时为so文件; 在PC上由沃Phone OS模拟器运行,在手机上需要安装并由沃Phone OS加载运行。,应用程序形式,资源文件 沃Phone IDE可视化编辑器TOPS Builder负责编辑资源文件; 字符串定义文件 方便用用户定义一些ASCII码对应的UNICODE字符串; 交叉编译参数配置文件 一套简洁的、具有自动化功能的交叉编译参数配置方法 交叉编译参数文件 由交叉编译参数配置文件通过TMK3工具产生的文件,黙认情况下会自动生成。 源文件和头文件。 其中TG3AppDllEntry.h、TG3AppDllEntry.cpp和NewDeleteOp.cpp文件是沃Phone应用程序必备的,不能擅自更改。,应用程序项目组成,Visual C+2008环境下的程序实例,应用程序模型(2),入口函数名为TG3AppMain ,由沃Phone系统加载调用; 函数声明如下: Int32 TG3AppMain(const TUChar * pAppID, UInt32 nCmd, void * pCmdParam);,应用程序入口,沃Phone的主应用程序类是TApplication; 它的派生对象负责沃Phone应用程序的初始化、运行和终止,也是消息循环的主体。基于沃Phone GUI 应用程序框架必须有且仅有一个从TApplication派生的对象。 一般我们都会在派生类中必须实现EventHandler的事件处理函数。,主应用程序类,消息系统(1),基于事件驱动的消息循环机制; 通过消息队列提供有保障的消息传递和有序执行业务的机制; 消息可在不同进程之间传递,支持跨进程通信机制;,基本原理,消息系统基于消息队列进行操作。 两种创建方法: 一种是使用基于沃Phone GUI系统的TApplication的应用程序,沃Phone GUI 系统都会为应用进程创建一个消息队列; 另一种是通过基于SS_App_CreateThread 、SS_App_CreateThreadEx和SS_App_CreateThreadEx2创建的线程;,消息队列,消息系统(2),消息队列以进程或线程的GTID来标识,系统用此作为消息队列的唯一标志。所有消息的发送和获取都根据GTID来做; 一般调用沃Phone系统的App_PostMessage 、App_PostMessageEx 、Sys_PostMessage2 、Sys_PostMessage、Sys_PostMessage2_Ex 、Sys_PostMessage_Ex 都可以向消息队列添加消息。,消息添加,查看消息即只看消息而不把它从消息队列中取下来; 例如制作一个消息钩子,专门钩取一些特殊的消息来做些特殊功能; 调用函数:Sys_PeekMessage 、Sys_PeekMessage2和Sys_PeekMessageEx 。,消息查看,消息获取是从消息队列中将第一个消息取下来,同时在消息队列中删除此消息; 调用函数:Sys_GetMessage、Sys_GetMessage2 和Sys_GetMessageBody ; 一般GUI应用程序开发者不需要使用以上函数,因为 TApplication已经帮您做了这些工作 。,消息获取,TCOM简介,TCOM是沃Phone采用的核心组件技术,借鉴了COM组件技术; TCOM屏蔽了组件之间调用时的直接耦合,只要接口不变,被调用组件内部的任何修改不会影响调用者(无需重新编译和链接); TCOM组件的实现以动态库(在Windows上是.dll文件,在Linux上是.so文件)的形式发布,接口则以头文件的形式发布; 沃Phone SDK的很大一部分组件采用TCOM技术实现。,TCOM接口:以头文件形式发布的纯虚类,类中定义了一组公有纯虚方法。接口是组件实现者和组件使用者之间的一个约定,一旦确定下来就不能轻易改变。 TCOM组件:实现了一组或多组接口的具体类。 TCOM组件库:包含了一个或多个TCOM组件的动态库。 TCOM运行时:是TCOM组件正常工作所需的一个支持环境,它属于沃Phone平台的一部分,提供了组件注册、查询和创建的相关方法。 客户端:指TCOM组件的使用者。,TCOM组件创建过程,客户代码,TCOM运行时,注册表,TCOM组件库,TCOM组件,接口ID,查询,组件库相关信息,创建组件,创建组件对象,返回组件对象,返回组件对象,返回组件对象,调用TCOM组件的接口方法,实现TCOM组件,实现TCOM组件时需要利用到以下几个文件: 1.TG3AppDllEntry.h和TG3AppDllEntry.cpp,包括路径、预编译环境等,是所有沃Phone应用程序共用的; 2.TCOMDemo_Routine.cpp,包含TCOM组件需要实现的几个常用函数。,所有TCOM组件全部派生自TIUnknown类,该类定义了三个纯虚函数: virtual HRESULT QueryInterface(/* in */ TREFIID riid, /* iid_isout */ void *ppvObject) = 0; virtual ULONG AddRef(void) = 0; virtual ULONG Release(void) = 0;,在TCOM组件中: 1.实现派生自TIUnknown的三个纯虚函数; 2.添加自身功能方法的实现;,在实现TCOM组件之后,需要将其注册到系统注册表中,这样TCOM运行时才能查找到该组件: 1.TG3AppDllEntry.cpp文件中TDllRegisterServer接口负责TCOM组件的注册,TCOM_Srv_RegisterServer是该接口的具体实现; 2. TCOM_Srv_UnregisterServer函数负责TCOM组件的去注册。,在实现注册接口之后,还需要实现一个组件库的创建接口TDllGetClassObject,用于创建该TCOM组件对象: 1.该接口也在TG3AppDllEntry.cpp中实现,默认是调用TCOM_Srv_GetClassObject,作用就是创建组件库中的组件对象。,创建TCOM对象,包含两种方法,通过TCLSID和接口ID创建TCOM对象,每个TCOM组件类都有一个唯一的TCLSID; 每个TCOM接口定义都有一个唯一的TIID。,通过方法枚举器创建TCOM对象,TCLSID是属于TCOM组件类的内部标识,不应该暴露出来; 方法枚举器可以仅从TIID创建出TCOM对象; 实际开发中常用第2种方法创建TCOM对象。,目录,沃Phone软件平台介绍 沃Phone应用开发基础 沃Phone应用开发指南 GUI系统 图形图像 OpenGL ES 数据持久化存储 个人信息管理 多媒体 主屏幕插件 系统启动事件 文件关联 网络 浏览器 通信技术 设备访问,GUI系统,沃Phone GUI系统是一个多任务、基于事件驱动的系统,用户可以在沃Phone手机上运行多个应用程序,它们拥有独立的进程空间和独立的消息队列; TOPS Builder为图形化的GUI资源编辑工具; GUI包括两大部分:窗体类和控件类。,GUI系统,沃Phone GUI应用程序的主窗体都继承TWindow; TWindow具有消息处理能力,需实现消息处理函数EventHandler; 采用沃Phone工程向导在VC2008中新建一个空白窗体为例:,窗体类TWindow:,GUI系统,控件一般置于主窗体之上,显示各类信息,并常用于与用户进行交互; 沃Phone的所有控件都继承于TCtrl类; 这些控件都包含一些基本属性,例如资源ID、类型、名称、是否可用、是否可见、左边界、上边界、宽度、高度、标题等; 用户与控件交互时所产生的事件由窗体类EventHandler函数进行处理,在开发时根据需要编写对应处理方法。,控件类TCtrl:,TLabel 文字标签,TButton 按钮,TEdit 文本框,TRadioButton 单选按钮,TCheckBox 复选框,TCoolBarList 列表,图形图像常用工具类,沃Phone图形图像主要讲述的是业界流行的 GUI(图形用户接口)和 GDI (图形设备接口)之间的关系和使用方法; GDI 是提供了程序开发者能够编写与设备无关的图形接口,GUI则是在 GDI 的基础上封装一套流行的界面接口; 常用工具类包括:TWindow、TDC、TCtrlDC 、TBitmap;,图形图像屏幕上绘图,应用程序开发者可以直接在 TWindow 中直接构造 TDC 对象对屏幕直接绘图。以下我们在屏幕上画点、画线、画多边形、画图片等。,图形图像内存画布绘图,在很多自定义图形界面应用程序中需要用到内存画布。 比如需要绘制多张图片叠加的画面,如果直接在屏幕上逐个绘制,会造成比较大的开销。为了避免这种开销,可以采用在内存一个区域建立一块画布,先在内存画布上做好多张图片贴图 ,在显示到屏幕上。,图形图像图片半透明,图片的半透明实际上就是指图片的像素点可以以一定比例和目标的象素点进行混合,这个混合就是常说的Alpha混合,沃Phone里面支持每个象素点都有自己的混合比例,或者所有象素点都使用统一的混合比例进行混合,甚至可以同时支持这两种模式的混合一起起作用。 常用的两种图片半透明显示,一种是自带半透明效果的图片,另一种是不带半透明的位图。自带半透明效图的图片一般指png格式的图片,图本本身自带ALPHA通道,该通道表示了每个象素点的混合比例,图片的显示直接会产生半透明效果。不带透明的位图,需要做一个ALPHA通道处理,再显示到屏幕。,图形图像图片动画效果,从动画的技术上我们可以简单归纳几种,移动式动画、渐变式动画、拉伸缩放动画、翻转动画、变幻动画等。 移动式动画也是最简单,直接将一个图片在不同的时间上显示在不同的座标。 渐变式动画一般用于表示光照明暗变化效果,在不同的时间里通过ALPHA通道处理显示。 接伸缩放动画,描述事物形状的变化,在不同时间里通过位图的不拉伸或缩放参数处理后显示。 翻转动画,在不同时间里通过图片的翻转处理显示。 变幻动画一般是由几张不相同的图片,但它们之间有潜在的关系,在不同时间里显示不同的图片来达到变化效果。 沃Phone SDK 中提供一个带有动图功能的TImage类,它可以轻松帮您完成动画功能。,文件拷贝动画效果,数据持久化存储,文件存储 沃Phone支持三种文件操作接口; 包括沃Phone系统文件操作接口、标准C文件操作接口、标准C+文件操作接口。,数据库存储 DBLite 为沃Phone SDK内置的数据库系统,引用头文件为DBLite.h。 DBLite从SQLite移植而来,并添加了进程消息通知的功能。,沃Phone系统文件操作接口:,个人信息管理联系人,联系人接口是采用TCOM组件技术实现,主要提供一套获取联系人各项信息的方法接口,如通过号码查询获取联系人的姓名、邮件地址等信息,也可以通过获取整一个地址本联系人数组取得联系人的信息。,个人信息管理通话记录,通话记录是电话使用者在进行接听,拨打或者拒接电话等和通话有关的操作时系统记录下来的数据,通话记录接口提供的功能使得开发者能够方便地查询通话记录从而可以获取更详细的内容。,个人信息管理日程安排,日程安排是一个用于辅助移动电话使用者进行任务安排的工具,开发者通过使用本接口可以查询到指定月份的日程安排信息。,多媒体媒体播放,头文件声明 媒体播放涉及到两个TCOM接口:TCOM_DataType_SysFile和TCOM_MediaPlayer_Method_Play 功能说明 创建接口 通过方法枚举器创建所需的媒体播放接口对象。 设置参数 创建媒体播放组件对象成功后,需要根据情况,设置一些必要的参数,比如音量大小、声音通道、声音优先级等 。 开始播放 媒体播放接口可以播放文件形式或者内存形式的音视频数据,不管是哪种形式的数据,调用者都应尽量确保其完整性和有效性。 获取媒体信息 可以通过GetMediaInfo等方法来获取感兴趣的媒体信息。,媒体播放接口提供了对常见音视频格式媒体文件的信息提取、播放以及播放过程中的参数设置和控制功能。,多媒体媒体播放,处理消息 在播放过程中,媒体播放组件会通过发送消息的方式,将一些状态的变化通知给使用者。这些消息都定义在TCOM_MediaPlayer_Method.h中,比较重要的几个包括: 结束播放 在播放过程中,可以随时调用TCOM_MediaPlayer_Method_Play的Stop()方法来结束播放。,多媒体录音接口,录音接口实现了采集声音数据,并将其压缩后保存成文件的功能。录音接口有两种调用方式: 1. 一种是使用系统预置的录音界面来录制音频文件; 2. 另一种则只提供音频数据采集、压缩和保存功能,界面由调用者自行实现。,多媒体图片选择接口,图片选择接口的作用是查看某个目录下的图片文件,并从中进行选择。可用于诸如设置背景、设置联系人来电图片等场合。,主屏幕插件,在沃Phone平台中,插件区由多屏构成,用户只需要在主屏幕上左右滑动手指就可以在各屏中相互切换。插件作为主屏幕系统的一部分,可以显示在主屏幕中的任何一屏,并由主屏幕系统进行创建和管理。,主屏幕插件可分为两种:,主屏幕插件,主屏幕插件主要使用了三个TCOM接口: TCOM_Desktop_DataType_PlugIn_Base TCOM_Desktop_DataType_PlugIn TDtpCommander,TCOM_Desktop_DataType_PlugIn_Base为TCOM_Desktop_DataType_PlugIn的基类,主要提供属性设置及获取的声明和定义。 TCOM_Desktop_DataType_PlugIn为用户需要实现的接口。 TDtpCommander为主屏幕适配器类,由主屏幕系统实现,提供插件与主屏幕的交互。,开发新插件,实现插件接口TCOM_Desktop_DataType_PlugIn;,介绍开发新插件的一些关键步骤:,在构造函数中设置插件的相关属性;,响应OnGetIID()回填插件的GUID;,重载OnCreateAfter函数,设置父窗口的相关属性、创建需要的控件和创建定时器等;,重载响应EventHandler,处理应用退出、重画、定时器、笔消息等系统消息;,重载响应CommandHandle消息,用于处理插件本身、其它应用自定义消息或主屏幕系统消息,重载响应OnPaint,插件利用此函数绘画自身。,重载响应OnHide和OnShow:主屏幕系统在页面切换中会调用插件的这两个函数。如果插件所在的页面从不可见变为可见,将调用OnShow;如果从不可见变为可见,将调用OnHide。,系统启动事件,启动事件功能主要是让应用在系统启动时,响应指定的特定事件或执行一些初始化工作。系统的启动方式包括正常启动、闹钟启动、充电启动。,需包含的头文件 使用文件关联功能,需要用到文件关联方法枚举器TCOM_FileAssociateEnum,它在TCOM_Method.h中声明。 创建实例 枚举方法 在创建好枚举器实例后,就可以用它来查找跟指定后缀名关联的方法了:,文件关联,调用方法 如果GetMethodCount()返回值大于0,那么就可以通过GetMethodInfo来获取各个方法的信息,或者通过InvokeMethod来调用某个方法。 销毁接口,文件关联是指将应用提供的一组操作跟某个特定的文件后缀关联起来,比如对于后缀为MP3的文件,播放器提供了“播放”操作,而短信或者彩信应用则提供了“发送”操作。,拨号上网,拨号上网接口主要是以账户的形式将所有的上网方式(包括GPRS、Wi-Fi和3G)整合在一起,以提供统一的接口调用。用户可以通过该接口来选择账户、获取账户详细信息、拨号上网、断网以及查询网络是否已经连接等功能。,在拨号之前,首先需要选择通过什么账户拨号,即获取账户ID。目前拨号上网主要有两种方式:一是根据账户ID进行拨号;二是用户自己创建一个账户,然后根据账户拨号,拨号成功会返回一个临时账户ID。这里介绍第一种方式:,按定义获取 上网管理的账户ID是由分组类别、AP类型、模块索引、和AP自定义账户ID构成。 通过接口调用获取 用户可以通过调用获取账户或选择账户的接口来获取账户的ID。,获取账户ID,拨号上网,异步拨号,同步拨号,异步拨号是用户先调用异步拨号接口,然后连接管理通过消息的形式告诉用户拨号是否成功,它的特点就是调用接口后能很快的返回,之后根据接收到的消息判断拨号是否成功,能防止用户因调用接口而卡住的现象。,同步拨号是用户调用同步拨号接口后,直到拨号执行完成后才返回的一种拨号方式,它的特点就是返回结果能真正反映拨号是否成功,而无需等待拨号消息了,但它同时有可能会导致用户卡住的现象。,浏览器,浏览器接口主要是提供一套完整的浏览网页接口方法,实现加载URL 浏览网页功能,开发者可根据自己的实际需要设定浏览器是否允许拖拽、切换视图比例等。,浏览器,实现浏览器功能的主要步骤如下:,实现自定义消息处理器;,设定网页显示的起始位置;,实例化一个消息处理器对象;,实例化一个浏览器控件对象并指定其消息全局的消息处理器;,加载一个URL并于上面指定的显示区域中显示;,通信技术电话,电话是手机所提供的最基本的一项服务,虽然目前各种移动增值业务层出不穷,但是在一些新业务开发过程中,有时候还需要将电话功能集成进去。 沃Phone平台提供四种不同方式的拨号接口,包括普通拨号、编辑拨号、IP拨号和视频拨号,开发者可根据实际业务所需调用不同的电话拨号接口。,通信技术短信,短信是移动电话上比较常用的一个业务功能,本接口主要提供与短信服务相关的一些功能以方便开发者使用。开发者通过调用本接口可以实现短信的发送、保存和打开语音信箱等功能。,通信技术邮件,目前只提供发送邮件功能,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论