Symbian 入门
这个函数访问文档可以不用初始化。这个是访问Avkon应用程序的比较好的途径。
CAknAppUi
所有的Avkon应用程序必须从这个类派生。
这个类支持下面几个特定应用函数:
KeySound support
Accessories for CBA and StatusPane
TextResolver-Avkon-specific error reporting from CAknAppUI::HandleError()
Avkon view architectrue integration
Control dumping - Debug feature
CAknViewAppUi
所有的视图结构必须由此派生。
《S60_Platform_Application_Framework_Handbook_V20_en.pdf》,其中有些翻译不甚恰当,不过基本上表达了原版的意思。
------------------------------------------------------------------------------------------------------------------
1、开发文档不是很齐全,虽然每个api都能找到说明,但基本上只是很简单的介绍。
实现某个功能根据sdk中的文档,基本上不可能完成。必须寻找相应的demo和其他的源代码来参考。
2、中文资料很少,基本都是英文,对于国内的开发人员来说,这又是一道坎。
3、必须注意内存的操作。比如PushL 和 Pop等等,一些Symbian中特有的机制需要熟练掌握。
4、多线程支持不是很好,多线程中启动的函数必须为静态的或者全局的,
就这点就给一些需要多线城支持的solution带来了很多不便或者根本不能实现。
5、掌握了整个Symbian的framework的基本原理之后,整个机制还是比较明了清晰的。重要的地方是AppUI和View和Container这三个类。
6、www.newlc.com是一个不错的技术网站。强力推荐。
7、一般www.forum.nokia.com上都会有相关的例子demo可以下载,只是比较浅显。
8、注意rss文件中资源的定义和程序中ui控件的结合,很容易出错无法发现。
9、mmp文件的修改之后,必须要重新生成项目文件,不然会导致link 2001之类的错误。
-----------------------------------------------------------------------------------------------------------------
在symbian中,用RThread来操作线程,一个RThread对象代表一个线程的句柄。常用RThead对象来创建或操作其他线程。 RThread的基类是
RHandleBase类,该类封装了句柄的行为。RThread,RProcess,RMutex和RSession-Base都继承自RHandleBase。
创建一个线程
/* Name of the new thread */
_LIT(KThreadName, MyFirstThread);
/* 下面的函数是线程将要执行的。 参数parm是要传递给线程的数据,它的类型为TAny*,相当标准C中的void* 指针 */
TInt CThreadExampleAppUi::ThreadEntryPoint(TAny* param){ TInt* para = static_cast(param); *para = 1; return 1;}
/* 创建一个属于当前进程的线程,并打开句柄. */
TInt res = iThread.Create(KThreadName, ThreadEntryPoint, KDefaultStackSize, NULL, iVariable);
/* 线程被创建以后进入等待状态,并不能立即执行. 如果要线程执行,需要调用它的Resume方法*/
iThread.Resume();
停止、删除一个运行的线程。可以调用 Suspend() 来停止一个线程. 但它仍然存在,可以调用 Resume()来继续.如果要彻底删除一个线程,
可调用Kill或Terminate。如果进程的主线程被删除,那么程序也会被终止。
---------------------------------------------------------------------------------------------------------------------
在symbian os上运行的四种软件
应用程序
服务
引擎
内核
symbian系统使用活动对象与客户-服务器对事件处理系统进行了优化
硬件资源:
一个cpu,32位arm
一个rom(只读存储器),里面有操作系统与内建的中间件和应用程序
ROM盘被映射到z:盘,所有的文件都可以通过Z:盘访问。
系统RAM.系统RAM用于两个方面,一是被当前活动的程序和系统核心使用,另一个是当成”C”盘的磁盘空间。这两个部分的大小是变化的,不可
以保留某个的大小。由于RAM通常只有8MB到16MB,所以内存可能用完,因此经常出现内存越界错误或是(写文件时)磁盘已满错误
IO设备,包括带数字笔输入的触摸屏,键盘,记忆卡(被当成D盘),rs232串口,红外口,蓝牙。
电源,包括电池与外接电源
symbian os与pc系统的区别如下:
资源限制:cpu太慢与太少内存
没有硬盘,不能使用写到硬盘的虚拟内存,不能保证有足够的空间保存程序或是数据文件
电源条件严格.
symbian软件环境如下:
server | server| Application| Application | Application Dll
| | +————–+————- boundary
| | | |
| | | Enghine | Engine
——–+———+————+————–+————– Privilege
Symbian 相关文章:
- 手机操作系统Symbian系介绍(05-23)
- Symbian 摄像头编程预研(10-08)
- symbian 术语表(10-10)
- 学习Symbian的基本概念(09-12)
- SYMBIAN 字符串操作(09-12)
- 什么是Symbian(09-12)