《沃Phone应用开发简介20110317》由会员分享,可在线阅读,更多相关《沃Phone应用开发简介20110317(51页珍藏版)》请在金锄头文库上搜索。
1、沃Phone应用开发简介中国联通 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函数负责TC
2、OM组件的去注册。在实现注册接口之后,还需要实现一个组件库的创建接口TDllGetClassObject,用于创建该 TCOM组件对象: 1.该接口也在TG3AppDllEntry.cpp中实现,默认是调用TCOM_Srv_GetClassObject,作用就 是创建组件库中的组件对象。19创建TCOM对象包含两种方法通过TCLSID和接口ID创建TCOM对象1n 每个TCOM组件类都有一个唯一的TCLSID; n 每个TCOM接口定义都有一个唯一的TIID。通过方法枚举器创建TCOM对象2n TCLSID是属于TCOM组件类的内部标识,不应该 暴露出来; n 方法枚举器可以仅从TIID创建出
3、TCOM对象; n 实际开发中常用第2种方法创建TCOM对象。20目录n 沃Phone软件平台介绍 n 沃Phone应用开发基础 n 沃Phone应用开发指南GUI系统图形图像OpenGL ES数据持久化存储个人信息管理多媒体主屏幕插件系统启动事件文件关联网络浏览器通信技术设备访问21GUI系统n沃Phone GUI系统是一个多任务、基于事件驱动的系统,用户可以在沃 Phone手机上运行多个应用程序,它们拥有独立的进程空间和独立的消息队 列;nTOPS Builder为图形化的GUI资源编辑工具;nGUI包括两大部分:窗体类和控件类。22GUI系统沃Phone GUI应用程序的主窗体都继承TW
4、indow;TWindow具有消息处理能力,需实现消息处理函数EventHandler; 采用沃Phone工程向导在VC2008中新建一个空白窗体为例:窗体类TWindow:23GUI系统控件一般置于主窗体之上,显示各类信息,并常用于与用户进行交互;沃Phone的所有控件都继承于TCtrl类; 这些控件都包含一些基本属性,例如资源ID、类型、名称、是否可用、是否可见、左 边界、上边界、宽度、高度、标题等;用户与控件交互时所产生的事件由窗体类EventHandler函数进行处理,在开发时根据 需要编写对应处理方法。控件类TCtrl:TLabel 文字标签TButton 按钮TEdit 文本框TR
5、adioButton 单选按钮TCheckBox 复选框TCoolBarList 列表TCtrl 控件类24图形图像常用工具类n沃Phone图形图像主要讲述的是业界流行的 GUI(图形用户接口)和 GDI (图形设备接口)之间的关系和使用方法;nGDI 是提供了程序开发者能够编写与设备无关的图形接口,GUI则是在 GDI 的基础上封装一套流行的界面接口;n常用工具类包括:TWindow、TDC、TCtrlDC 、TBitmap;nTwindow除了是沃Phone窗体的基类之外,还 具有图形图像能力;n可以使用它直接在屏幕上画图形图像,比如直 接在屏幕上画点、画线及画图片等;n也可以把它当作一个
6、内存画布来处理,在内存 画布中对图像进行叠加,或者其它运算,当产 生理想的图形后,再把它显示到屏幕上。TWindownTDC是一个与设备无关的图形设备环境画图工 具类,具有灵活又丰富的绘图接口;nTCtrlDC是一个继承于TDC类的专为控件作画图 使用的工具类;nTDC 必须配合TWindow 使用,前面我们讲过 TWindow 是可以直接对屏幕进行操作,也可以 对内存区域进行操作,而执行具体操作功能的 就是TDC了。nTDC 类提供的接口包括画点、画线、矩形填充 、矩形边框、多边形填充、多边形边框、椭圆 形填充、椭圆形边框、位图绘制、文本绘制等 ,当然还有画笔大小设置、前景着色设置、背 景着
7、色设置、绘画Apha模式设置等。TDCnTBitmap是一个GDI位图类,提供了位图操作的 相关接口;n除了一些位图信息接口外,它还包括一些特殊 的位图处理接口,如:位图着色填充,位图颜 色翻转,位图的合并,位图数据拷贝,位图的 剪贴,位图旋转,位图拉伸,位图透视变换, 位图制作翻页效果图。TBitmap25图形图像屏幕上绘图应用程序开发者可以直接在 TWindow 中直接构造 TDC 对象对屏幕直接绘图。以下 我们在屏幕上画点、画线、画多边形、画图片等。Boolean TDrawForm:_OnWinPaint(EventType * pEvent) Boolean bHandled = F
8、ALSE; TDC dc(this); / 填充背景 TRectangle rc(0, 0, 320, 456); dc.DrawRectangleEx( / 填充背景颜色。 dc.SetForeColor(GREEN);/ 设置前景颜色为绿色 dc.DrawPixel(20, 60);/ 在(,)位置上画一个点。 dc.DrawLine(20, 70, 300, 70);/ 默认画笔,画一条前景颜色的线。 / 调整画笔大小,画一条线 Coord nPenX, nPenY; dc.GetPenSize( / 取画笔大小,保存 dc.SetPenSize(5, 5);/ 设置新的画笔大小 dc.
9、DrawLineEx(20, 75, 300, 75, YELLOW);/ 画一条黄色的线 dc.SetPenSize(nPenX, nPenY);/ 恢复原来画笔大小 / 画多边形 PointType tPt6=20, 100, 160, 85, 300, 90, 180, 120, 120, 140, 20, 100; FrameBitsType tfbt; tfbt.word = 0; tfbt.bits.cornerDiam = 5; tfbt.bits.width = 3; tfbt.bits.threeD = 1; dc.DrawPolygonFrameEx(tfbt.word,
10、6, tPt, RED); / 从资源加载一张图片,绘画在指定位置 dc.DrawBitmap (TResource:LoadConstBitmap( APP_DE_ID_BITMAP_Bitmap_button_push ), 140, 200); bHandled = TRUE; / 必须返回TRUE,否则系统会默认画上资源窗体。 return bHandled; 26图形图像内存画布绘图在很多自定义图形界面应用程序中需要用到内存画布。 比如需要绘制多张图片叠加的画面,如果直接在屏幕上逐个绘制,会造成比较大的 开销。为了避免这种开销,可以采用在内存一个区域建立一块画布,先在内存画布 上做好
11、多张图片贴图 ,在显示到屏幕上。27图形图像图片半透明n图片的半透明实际上就是指图片的像素点可以以一定比例和目标的象素点进 行混合,这个混合就是常说的Alpha混合,沃Phone里面支持每个象素点都 有自己的混合比例,或者所有象素点都使用统一的混合比例进行混合,甚至 可以同时支持这两种模式的混合一起起作用。n常用的两种图片半透明显示,一种是自带半透明效果的图片,另一种是不带 半透明的位图。自带半透明效图的图片一般指png格式的图片,图本本身自带 ALPHA通道,该通道表示了每个象素点的混合比例,图片的显示直接会产生 半透明效果。不带透明的位图,需要做一个ALPHA通道处理,再显示到屏幕 。28
12、图形图像图片动画效果n从动画的技术上我们可以简单归纳几种,移动式动画、渐变式动画、拉伸缩放动画、翻 转动画、变幻动画等。n移动式动画也是最简单,直接将一个图片在不同的时间上显示在不同的座标。 n渐变式动画一般用于表示光照明暗变化效果,在不同的时间里通过ALPHA通道处理显示 。 n接伸缩放动画,描述事物形状的变化,在不同时间里通过位图的不拉伸或缩放参数处理 后显示。 n翻转动画,在不同时间里通过图片的翻转处理显示。 n变幻动画一般是由几张不相同的图片,但它们之间有潜在的关系,在不同时间里显示不 同的图片来达到变化效果。 n沃Phone SDK 中提供一个带有动图功能的TImage类,它可以轻松
13、帮您完成动画功能。 文件拷贝动画效果 29数据持久化存储n文件存储n沃Phone支持三种文件 操作接口;n包括沃Phone系统文件 操作接口、标准C文件操作接口、 标准C+文件操作接口。n数据库存储nDBLite 为沃Phone SDK内置的数据库系统,引 用头文件为DBLite.h。nDBLite从SQLite移 植而来,并添加了进程消 息通知的功能。 打开文件Handle EOS_Open (const TUChar * name, UInt32 flag, UInt32 mode); 从文件读取count个字节到buf中 Int32 EOS_Read(Handle fhandle, vo
14、id * buf, Int32 count); 向文件写入数据 Int32 EOS_Write(Handle fhandle, const void *buf, Int32 count); 移动文件偏移指针位置 Int32 EOS_Seek(Handle fhandle, Int32 offset, Int32 origin); 返回文件当前的读写位置 Int32 EOS_Tell(Handle fhandle); 关闭文件 Boolean EOS_Close(Handle fhandle); 沃Phone系统文件操作接口:30个人信息管理联系人功能说说明描述枚举联系人是指将沃Phone通讯录
15、中的联系人全部罗列出来,需要 用到联系人TCOM接口实例的以下两个方法: GetRecordsArrayList() 调用该方法将返回地址本中 联系人数组; GetRecordsCounter() 调用该方法将返回地址本中联 系人数量。选择联系人选择联系人接口将显示所有联系人供使用者选择,选 择后将返回所选择的联系人的信息,主要用于获取众多 联系人中一部分联系人的详细信息,所涉及的类是: class TCOM_Addresses_DataType_SelectContacts查询联系人查询方式分为以下两种,主要用于已知联系人的某一 项信息,通过查询获取到其他更多信息。方法的详细 说明请参考:
16、class TCOM_Addresses_DataType_ComContact获取联系人 信息在获得联系人对象之后,通过对象所提供的方法可以 进一步获取到联系人信息,主要包括: 获取联系人姓名、电话号码以及邮件等。联系人接口是采用TCOM组件技术实现,主要提供一套获取联系人各项信息的方法 接口,如通过号码查询获取联系人的姓名、邮件地址等信息,也可以通过获取整一 个地址本联系人数组取得联系人的信息。头头文件声明头头文件说说明TCOM_Addresses_ComContact.h联系人详细信息接口TCOM_Addresses_Common.h联系人属性定义TCOM_Addresses_ContactChanged.h联系人变更接口TCOM_Addresses_ContactDetail.h联系人信息接口TCOM_Addresses_CreateView.h联系人新增操作接口TCOM_Addresses_GetAddressData.h联系