如何编写Symbian程序

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://www.asia.forum.nokia.com/chinese/sch/main/series60.html.看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的安装来看,这帮搞手机的搞软件好像确实不太专业。

刚才说了,我的Symbian安装到了C盘,在C盘的Symbian目录下,有一个6.1的目录,6.1目录下有两个目录:Series60和Shared.还好,从名字上能看出大体的意思。请一定注意Series60目录下的Epoc32\BUILD目录,因为这个目录以后要反复的用到。

接下来的任务就是要编译一下HelloWorld,然后再运行一下看看了。首先得确认你的系统装VC6了(最好能装sp3以上,否则将来用到vc6时会报警),而且得把C:\Program Files\Microsoft Visual Studio\VC98\Bin放到你的PATH里,主要是用nmake.exe。所以如果你有nmake的话,不装vc6也可以看helloworld。找到helloword例子的目录,在我这里是C:\Symbian\6.1\Series60、Series60Ex\HelloWorld\group

Symbian里,一个Project通常是按inc,src,group等目录组织,group目录里通常放的是项目文件,所以编译时要先到这里。用命令提示符模式进入刚才说的那个目录下,然后执行bldmake bldfiles,这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在C:\Symbian\6.1\Series60\Epoc32\BUILD下生成C:\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN\6.1\SERIES60\SERIES60EX\HELLOWORLD\GROUP这个深的一个目录,并在最底层目录下生成一堆.make文件。(实在理解不了为什么要这么搞?因为他们是生产手机的?)

虽然它生成了这么多东西,但是我们不要管,继续输入abld build wins udeb,这个命令会编译我们的程序,最后在C:\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB。目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,打开other目录就可以运行helloworld了。

如果要在VC6里编译和运行HelloWorld,在运行完bldmake bldfiles后,运行abld makefile vc6,则会生成vc6的dsw文件,位置在C:\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN\6.1\SERIES60 \SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS

看Symbian把这点事搞得这么麻烦,也真是不容易。

如果要直接在vc6里创建新项目的话,要把C:\Symbian\6.1\Series60\Series60Tools目录下的文件拷贝到vc6的模板目录下才可以。

折腾到这里,可能得花2个多小时吧,剩下的两个多小时得看看文档了。

时间: 2024-09-24 02:32:15

如何编写Symbian程序的相关文章

c语言-编写一个程序,打印输入中的单词长度的直方图。垂直方图。

问题描述 编写一个程序,打印输入中的单词长度的直方图.垂直方图. 直方图是如何理解????求教这道题~~ 这道题目是书上的!有没有懂的大神.给讲解啊. 解决方案 问题是怎么解决的? 我想到的就是算好格式用printf()一行行的输入,最后拼成直方图.

使用Python编写Storm程序,无法将结果写入MySQL

问题描述 使用Python编写Storm程序,无法将结果写入MySQL 我使用Python作为编程语言写一个关联关系挖掘的程序部署在Storm集群,将jar包提交到集群后无法将结果写入数据库,贴上写入结果的bolt代码,希望大家帮忙看看,不胜感激: #coding=utf-8 import MySQLdb import logging from pyleus.storm import SimpleBolt log = logging.getLogger('log_results') def wr

用VB编写托盘程序

在WINDOWS里,右下角有许多应用程序的图标.而程序本身的窗口是隐藏的,若你需要调用应用程序的窗口,则双击该图标即可.这种程序称为托盘程序.这是WINDOWS98操作系统的一大特色.使用户能够更加快捷的显示和隐藏应用程序,可以使任务栏不致于太乱.托盘程序在Visual Basic里是怎么实现的呢? 编写托盘程序主要解决两个问题: (1)创建.修改.删除托盘: (2)如何对托 盘接收到的消息进行处理. 这就要用到几个Windows API函数. 首先,Shell_NotifyIcon是用于托盘的

用Delphi编写安装程序

当你完成一个应用软件的开发后,那么你还需要为该软件做一个规范化的安装程序,这是程序设计的最后一步,同时也是很重要的一步,因为运行安装程序往往是用户做的第一步操作. 很多报刊文章介绍了许多如何利用installshield等工具软件来制作安装程序的方法,这种办法可以很快建立起较常见的安装模式,但用这种办法也有一些不足,如做成的安装程序一般较大:风格较单一:不能灵活的控制启动方式和快捷方式.其实安装程序的的几个运行步骤较固定,我们完全可以自己来编写安装程序.下面就详细介绍如何用DELPHI编写具有自

用HTML编写应用程序

程序 HTML是Hypertext Markup Language(超文本标记语言)的缩写,它是构成Web页面(Page)的主要工具,是用来表示网上信息的符号标记语言. 在网上,如果要向全球范围内出版和发布信息,需要有一种能够被广泛理解的语言,即所有的计算机都能够理解的一种用于出版的"母语".WWW(World Wide Web)所使用的出版语言就是HTML语言.通过HTML,将所需要表达的信息按某种规则写成HTML文件,通过专用的浏览器来识别,并将这些HTML"翻译&quo

Visual C#中用WMI编写网络应用程序

visual|程序|网络 WMI是Windows Management Instrumentation的简称,即:视窗管理规范.在Windows 2000或以后的版本中均安装得有,NT4.0则需要安装WMI的核心组件.通过WMI可以获取远程计算机的各种数据信息,控制远程计算机的各种行为,而这就像操作本地机一样方便.简单. 一.WMI简介 WMI从根本上说应该为一种服务,并且对于本地不同的用户,WMI所有的权限也不一样.计算机超级用户可以为计算机中的每一个用户,设定不同的WMI权限.在默认状态下,

用VB编写抽奖程序

一.界面设计 新建一个标准的EXE工程.在Form1窗体中放置一个定时器(Timer1).两个文本框(Label1,Label2).两个命令按钮(Command1,Command2)和包含7个元素的控件数组(Label3(0)-Label3(6)). 二.属性设置 Label3控件数组中的所有元素皆采用相同设置. 三.代码编写 本程序的实现原理是:当用户单击"开始"按钮时,打开定时器,利用定时器控件同时产生两个随机数sj1.sj2,sj1的范围是1-32,sj2的范围是0-49.当sj

使用MFC编写打印程序

摘要 本文首先介绍了利用MFC提供的文档视图框架来实现一个打印程序,实现打印预览,在此基础上,同时通过对MFC源代码的深入探讨,提出了利用该方法在对话框上用MFC实现打印功能,结果表明,利用MFC实现打印不仅方便,而且功能很强大,能够根据不同的需求很方便的打印出所需要的格式.本文还实现了一个在对话框中利用MFC实现打印功能的一个框架结构,对于使用者只要使用该结构就可以按照自己的要求打印任何内容. 关键词:Visual C++ ,MFC,对话框, 打印 ,打印预览 引言 打印程序的编写在windo

为Windows Phone和iOS编写应用程序

有许多文档介绍将应用程序从 iOS 移植到 Windows Phone,但是在本文中,我要从为这两种平台从 头开始编写新应用程序的前提开始讲起.我不会对这两种平台户的孰优孰劣做出价值评判.相反,我对 编写应用程序报以务实的态度,并描述在编写应用程序时这两种平台的异同之处. 作为 Windows Phone 团队的成员,我对 Windows Phone 平台充满热忱,但是本文的重点不是说一种平台优 于另一种平台,而是说平台是不同的,因此需要一些不同的编程方法.尽管您可以使用 MonoTouch 系