欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年如何编写Symbian程序 .pdf

    • 资源ID:40162651       资源大小:47.56KB        全文页数:4页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年如何编写Symbian程序 .pdf

    Symbian 是以 Nokai 为首的各手机厂商合伙开发的一个操作系统,主要用于高端的智能手机。其开发语言为C+,可以使用Microsoft Visual C+6.0作为集成化的开发环境,看来虽然 Symbian 的目标是跟微软的SmartPhone较劲,在采取的手段和方法上却也是不拘一格,微软更是暗暗叫苦,谁让当时vc6 设计的这么开放,结果被敌人拿去做武器了。本文主要针对的是Symbian 开发入门,所以应该是非常简单的事,因为毕竟Symbian 的开发语言是 C+,并不会因为是用于手机的操作系统就复杂了多少,就象很多人一直挂在嘴边的 J2ME 也毕竟是Java 语言,并不会因为用在手机上就高深了多少一样。5 小时是我从对 Symbian 一无所知到完成本文花在Symbian 上的所有时间。因为是用于手机的操作系统,所以我们研究Symbian 的话,先选定一款手机再说。Nokia的 60 系列平台是一个很不错的选择,Nokia 根据手机的屏幕大小和价格高低把手机分成了多个系列,60 系列目前有两款手机:7650 和 3650。60 系列采用Symbian os 6.1,然后又根据手机屏幕的特点对UI 做了一些修改,这个被修改了的Symbian就被称为 Nokia 的 60系列平台。所以入门的第一步就是要下载S60 的 SDK,可以从 Nokia 的开发论坛上下载:http:/ Nokia 网站上最新的是 1.0,不过下面又有个0.9 中文版,所以自然要下载这个0.9 版了。100 多兆吧,不想下的话,可以跟 Nokia 要光盘,估计他们应该很高兴给。这个 0.9 中文版的模拟器是中文版的,而且有支持GBK 和 UNICODE转换的类,不知道1.0 的英文版有没有。下载完了就是安装,选一个目录装就是了,不过最好装在C 盘上。可能是考虑到Windows平台和 Unix 平台都能用的缘故,这套SDK 在处理盘符和目录时比较弱智,我当时SDK 装到 C 盘,自己的程序放到D 盘用 vc6 生成新项目就有问题,经观察是盘符的问题。所以保险起见的话,最好装在C 盘,有兴趣的可以替Nokia 测试一下。另外,还需要Java 的运行库和 Perl,SDK 里也都带了,不过他自带的Perl 在我的 XP 下装有问题,我下载了一个最新的 ActivePerl才最终算是安装完毕。从SDK 的安装来看,这帮搞手机的搞软件好像确实不太专业。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 4 页 -刚才说了,我的Symbian 安装到了C 盘,在 C 盘的 Symbian 目录下,有一个6.1 的目录,6.1 目录下有两个目录:Series60 和 Shared。还好,从名字上能看出大体的意思。请一定注意 Series60 目录下的Epoc32BUILD目录,因为这个目录以后要反复的用到。接下来的任务就是要编译一下HelloWorld,然后再运行一下看看了。首先得确认你的系统装 VC6 了(最好能装sp3 以上,否则将来用到vc6 时会报警),而且得把C:Program FilesMicrosoft Visual StudioVC98Bin放到你的PATH 里,主要是用nmake.exe。所以如果你有 nmake 的话,不装vc6 也可以看helloworld。找到 helloword例子的目录,在我这里是 C:Symbian6.1Series60、Series60ExHelloWorldgroup Symbian 里,一个 Project 通常是按inc,src,group等目录组织,group 目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行bldmake bldfiles,这个命令会在group 目录下生成一个abld.bat 的批处理文件,并且会在C:Symbian6.1Series60Epoc32BUILD下生成C:Symbian6.1Series60Epoc32BUILDSYMBIAN6.1SERIES60SERIES60EXHELLOWORLDGROUP这个深的一个目录,并在最底层目录下生成一堆.make 文件。(实在理解不了为什么要这么搞?因为他们是生产手机的?)虽然它生成了这么多东西,但是我们不要管,继续输入abld build wins udeb,这个命令会编译我们的程序,最后在C:Symbian6.1Series60Epoc32ReleasewinsUDEB。目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug 版,打开 other 目录就可以运行helloworld了。如果要在 VC6 里编译和运行HelloWorld,在运行完 bldmake bldfiles后,运行 abld makefile vc6,则会生成vc6 的 dsw 文件,位置在C:Symbian6.1Series60Epoc32BUILDSYMBIAN6.1SERIES60 SERIES60EXHELLOWORLDGROUPHELLOWORLDWINS 看 Symbian 把这点事搞得这么麻烦,也真是不容易。如果要直接在vc6 里创建新项目的话,要把C:Symbian6.1Series60Series60Tools目录下的文件拷贝到vc6 的模板目录下才可以。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 4 页 -折腾到这里,可能得花2 个多小时吧,剩下的两个多小时得看看文档了。先看看 HelloWorld的帮助文档,理解一下 Symbian程序的体系结构。Symbian 程序也是按照 VC 的文档视图结构来组织程序的,有Application类 CAknApplication,有 Document类 CAknDocument,有 Frame 类 CAknAppUi,有视图类CCoeControl等,跟 vc 的结构好像是差不多的,但感觉上它的Document类好像是做样子的,我还没看到这一块。关于这些类之间的调用关系,在HelloWorld的文档里有个顺序图非常好,一看便知。在看 Symbian 的代码时,感觉最不适应的可能就是经常看到PushL 和 Pop 函数,还有就是很多的函数都有L 或 LC 的后缀。其实这是Symbian的例外处理机制。比如说我们定义了一个指针,给它分配了空间,可是在使用它的时候程序突然间出现了致命错误中止了,那这个指针占用的地址空间我们肯定是收不回来了,在 PC 上编程这一点可能问题不大,内存那么多,而且用不了多长时间就重启动了,但是Symbian 的设计者可能认为这在手机上是不行的,所以对这一点做了很多的设计。Symbian 有一个 Clean up stack,在使用指针时,用PushL 把指针压入栈中,使用完后在用Pop 弹出栈,如果在中间调用可能导致崩溃的函数时果真出现了问题,那么Clean up stack可以通过调用该指针的析构函数回收占用的空间。这些可能导致崩溃的函数在Symbian 里被称为可能Leave 的函数,所以就在这些函数的尾部加了一个L。而加 LC 后缀的函数表明该函数已经在内部把指针用PushL 压入 clean up stack 了,调用时无需再用PushL,直接调用完用Pop 既可。Clean up stack还提供了一个PopAndDestroy函数,就是弹出栈后再销毁指针。顺便提一句,正式因为有了Clean up stack机制,所以Symbian在有些地方看起来跟VC 的程序不太一样,比如说很多类的构造函数都不用,用NewL 或 NewLC 构造,分配地址时的操作符new()也变成了new(ELeave)。上述内容可以看一下Symbian 编程基础中的内存管理一节。Symbian 自己定义了一堆的数据类型,如果不想找麻烦的话,还是乖乖的用这些类型的好。简单说一下,整型有TInt 和 TUint,其中又分为8 位的,16 位的和 32 位的,如TInt8,TInt16,TInt32;文本类型是TText,又细分为 TText8 和 TText16,但内部都是Unicode的,所以实际上内部引用应该都是TText16;bool 型是 TBool,对应的值有ETrue 和 EFalse;浮点型是 TReal,但又分为TReal32和 TReal64;还有一个引用类型TRefByvalue,是以模板类的形式提供的。名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 4 页 -因为 Symbian 是冲着更面向对象设计的,所以在我们常见的字符串这块变化比较大,在Symbian 里叫 descriptor。最底层的是两个抽象类TDesC 和 TDes,实际上 TDes 也是继承的 TDesC,TDesC 中的 C 字母是常量constant 的意思。即带C 字母结束的都是定义的常量,是不可以修改的,而不带C 的都有一个最大长度的限制,是可以修改的,下面也是同样的道理。指针描述符是TPtrC 和 TPtr,类似于C+中的 char*;缓冲区描述符(Buffer descriptor)是 TBufC 和 TBuf,类似于 char ;堆描述符是HBufC,类似于(char*)malloc(length+1)的用法。具体用时,上述的类型又分为8 位的和 16 位的。举个例子:TBuf buf;CEikonEnv:Static()-ReadResource(buf,R_EXAMPLE_VIEW_TITLE);先定义了一个最大长度是64 的缓冲区,然后读入名为R_EXAMPLE_VIEW_TITLE的资源。再例如:TText8*str=(TText8*)示范窗口标题;TPtrC8 source(str);iInfoText=HBufC:NewL(source.Length();TPtr16 ptr=iInfoText-Des();定义一个 8 位的字符串str,然后构造一个指针常量source,根据 source 长度再定义一个16 位的指针,下一步我这里没写,但明显着应该是把gbk 的转换为 unicode 了。Symbian 的资源文件一般是以rss 为扩展名的,没有专门的资源文件编辑器,用户必须用记事本打开rss 文件手工编写rss 文件。这个都有一定的规则和方法,参考例子不难编写自己的资源文件。需要注意的一点是,如果资源文件里包含中文,那么必须把文件另存为utf-8格式的才可。入门相对来说是比较简单的,但精通就需要大量的实践了名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 4 页 -

    注意事项

    本文(2022年如何编写Symbian程序 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开