手机程序开发.pptVIP

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
手机程序开发.ppt

手机程序开发 永州职业技术学院计算机系 艾灵仙 第二章 程序架构介绍 2.1SYMBIAN应用程序设计原则 2.1.1 程序界面与逻辑界面分离 2.1.2 观察者设计模式 观察者模式(Observer)完美的将观察者和被观察的对象分离开 。 举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。 2.1.3良好的应用程序行为 保证数据的完整性 程序要善始善终 及时清理资源 活动对象处理事件不能多 2.2简洁的设计方案 2.2.1程序模块结构 界面与逻辑分离的具体表现 2.2.2界面模块 由三个界面组成,每个界面有一个容器控件. 2.2.3 逻辑模块 由游戏引擎与计分模块组成. 2.2.4碰撞原理 根据球的大小\位置\加速度\弹绳位置等进计算碰撞后的方向. 2.2.5重要行为 主要有暂停\开始\结束\碰撞等. 2.3 编码要规范 清楚美观 可读性强易理解 容易交流\维护 第四章 描述符、数组和文件 4.1描述符 1、描述符是Symbian C++字符串的描述类,不同于string,它既可以表示字符串,也可以表示二进制数据; 2、同时支持8位和16位,但是用来存储字符串时并不需要指定哪种类型 ,而是由编译时的设置决定. 3.这主要是手机的资源有限 ? ? ? 第四章 描述符、数组和文件 4.1.1继承结构和描述符构成 描述类是主要是由TDesC类继承而来,其中也包括TDes TDesC初始化后不能修改,其下的TBufC TPtrC也是一样 4.1.2 字面量描述符 文字描述符它主要用来保存字符串常量,如下: _LIT(KHelloWorld,Hello World!); 当使用_LIT()宏的时候,产生的其实是一个TLitC对象(8位或16位),数据实际上被存储在装载到RAM的二进制应用程序内,虽然它们实际上并不存储在ROM(或与ROM类似的闪存)中,所以可以把它们看成是只读的。 可以使用()操作符将描述符转换成常量的TDesC对象,比如:TInt length=KHelloWorld().Length() 第四章 描述符、数组和文件 4.1.3 缓冲区描述符 缓冲区描述符TBufC和TBuf将它们的数据存储为本身的一部分,既然该描述符使用在编译时就确定的固定数量的内存,因此可以在栈上对其进行声明(作为局部或者成员变量),这里看个小例子。 LIT(KHelloWorld,Hello World); const TInt maxBuf=32; ... TBufCmaxBuf buf;//空缓冲器,长度为0,从这里也可以看得出,缓冲描述符一定要声明一个长度。 TInt currentLen=buf.Length();//==0 buf=KHelloWorld;//在构造函数之后设置内容 currenLen=buf.Length();//==11 TText ch=buf[2]//==l 第四章 描述符、数组和文件 4.1.4指针描述符 指针描述符TPtrC和TPtr用于引用存储在别处的、不属于该描述符所拥有的数据。使用TPtr或者TPtrC来访问字符串比维护指向零值终止(zero-terminated)字符串指针更加安全。下面是一个小例子: _LIT(KHelloWorld,Hello World); TBufCmaxBuf buf; buf=KHelloWorld;//设置内容 TPtr ptr=buf.Des();//取得指向该缓冲器的指针 ptr[7]=a;//将‘0’变成a ptr[8]=l;//将‘r’变成l ptr[9]=e;//将l变成‘e’ ptr[10]=s;//将‘d’变成‘s’//现在缓冲器的内容为“Hello Wales” 第四章 描述符、数组和文件 4.1.5堆缓冲区描述符 堆描述符HBufC封装了存储在堆上的、属于该描述符所拥有的数据。由于这些数据是动态分配的,因此通过重新分配堆缓冲器,可以在运行时对描述符的最大长度进行设置很改变。 BufC是基于TDesC,并且提供了方法来改变所存储数据的长度(HBufC::ReAlloc()和HBufC::ReAllocL()),以及赋值操作来设置数据的内容(受限于最大长度,不能超过最大长度)。可以通过使用HBufC::Des()获取可修改指针描述符来修改描述符的内容,下面是一个小例子: _LIT(KHelloWorld,Hello World!); HBufC *heapBuf=HBufC::NewL(KelloWorld().Length());//声明一个长度为KHelloWorld长的堆描述符 *heapBuf=KHelloWorld; delete heapBuf; 第四章 描述符、

文档评论(0)

2232文档 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档