中国最大、最专业的3G移动互联网人才培养基地Symbian手机嵌入式开发技术中国最大、最专业的3G移动互联网人才培养基地Symbian应用开发Symbian开放式操作系统概述Symbian开发环境配置Symbian程序结构及工程组织Symbian程序的调试及安装SymbianGUI应用程序开发Symbian基本数据类型Symbian描述符名片夹原理及实现网络通讯原理及实现信息处理原理及实现中国最大、最专业的3G移动互联网人才培养基地Symbian开放式操作系统概述Symbian公司¾创建于1998年,是联合控股公司中国最大、最专业的3G移动互联网人才培养基地Symbian开放式操作系统概述SymbianFoundation¾2008年6月24日诺基亚完全收购塞班公司¾建立SymbianFoundation组织¾2009年4月2号正式开始运行¾2010年,Symbian平台将成为开放源代码软件¾预计年底出品的首款Symbian平台Symbian^2¾现在提名的Foundation董事会成员中国最大、最专业的3G移动互联网人才培养基地Symbian开放式操作系统概述SymbianOS¾前身是EPOC(ElectronicPieceofCheese)¾是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用。可以支持GPRS、蓝芽、SyncML、以及3G技术。中国最大、最专业的3G移动互联网人才培养基地Symbian开放式操作系统概述¾采用数字键盘的手机(S40)¾采用数字键盘和触摸式屏幕的手机(S60)¾采用完整键盘和超大彩色屏幕的手机(S80)¾采用触摸式屏幕的手机(S90)¾采用键盘和触摸式屏幕的手机(UIQ)中国最大、最专业的3G移动互联网人才培养基地Symbian开放式操作系统概述S60平台架构中国最大、最专业的3G移动互联网人才培养基地Symbian开发环境配置Java运行时环境ActivePerlS602nd/3rd/5thEditionSDKIDE¾VC++6.0¾VisualStudio.NET2003¾VisualStudio.NET2005¾Carbide.c++¾MetrowerksCodeWarrior中国最大、最专业的3G移动互联网人才培养基地Symbian开发环境配置搭建基于Carbide.C++的开发环境¾第1步,安装JRE,JDK1.4.2.06或以后¾第2步,安装Perl,必须是5.6.1版本¾第3步,安装Carbide.c++¾第4步,安装S60SDK注意:1.S60SDK必须安装在和将来要建立应用项目盘符一致的硬盘上。(建议全部安装在C盘)2.安装的路径中不能有空格字符。中国最大、最专业的3G移动互联网人才培养基地Symbian开发环境配置搭建基于.NET2005的开发环境¾第1步,安装JRE,JDK1.4.2.06或以后¾第2步,安装Perl,必须是5.6.1版本¾第3步,安装S60SDK¾第4步,安装.NET2005英文版¾第5步,安装.NET2005补丁¾第6步,安装Carbide.vs插件3.0.1版¾第7步,安装VisualAssistant开发助手中国最大、最专业的3G移动互联网人才培养基地中国最大、最专业的3G移动互联网人才培养基地Symbian程序结构及工程组织SDK目录结构Epoc32子目录中国最大、最专业的3G移动互联网人才培养基地Symbian程序结构及工程组织项目工程文件结构中国最大、最专业的3G移动互联网人才培养基地Symbian程序的调试和测试使用VS2005¾启动模拟器调试模式¾常用调试快捷键¾F7、F5、Shift+F5、Ctrl+F5、¾F9、F10、F11中国最大、最专业的3G移动互联网人才培养基地Symbian程序的打包.pkg文件介绍中国最大、最专业的3G移动互联网人才培养基地Symbian程序的安装程序的安装¾将签名过的sis包或sisx包,安装在目标设备上¾通过NokiaPC套件安装¾通过蓝牙红外安装¾通过网络安装中国最大、最专业的3G移动互联网人才培养基地Symbian图形架构简介Uikon-Eikon-Avkon-Qikon¾在SymbianOSv5中,图形化框架被称为Eikon。¾在SymbianOSv5.1中,Unicode被支持。图形化框架的名称由原来的Eikon改为Uikon。¾基于SymbianOSv6.1的S60用名为Avkon的附加层修改底层Uikon框架的行为和外观。¾基于SymbianOSv7.0的UIQ则用Qikon完成类似的工作。中国最大、最专业的3G移动互联网人才培养基地Symbian图形架构简介SymbianS60的UI架构主要分成三种:¾1.传统的Symbian系统架构中国最大、最专业的3G移动互联网人才培养基地Symbian图形架构简介¾2.基于对话框的架构¾3.视图架构中国最大、最专业的3G移动互联网人才培养基地Symbian基本数据类型T类¾T是Typedef的缩写(首字母)¾简单类、基本类C类¾从CBase类派生、支持二阶段构造过程¾在堆空间动态分配R是Resource的缩写(首字母)¾R类通常是指向一个外部资源句柄M是mixin的缩写(首字母)¾mixin混合类、是一个抽象接口类¾一般只包含纯虚函数、是抽象类中国最大、最专业的3G移动互联网人才培养基地Symbian基本数据类型TInt¾typedefsignedintTInt;TBool¾typedefintTBool;TChar¾typedefcharTChar;TUint¾typedefunsignedintTUint;TReal¾typedeffloatTReal32;TReal64¾typedefdoubleTReal64;TText8¾typedefunsignedcharTText8;中国最大、最专业的3G移动互联网人才培养基地Symbian描述符(字符串处理)中国最大、最专业的3G移动互联网人才培养基地Symbian描述符(字符串处理)分类¾缓冲描述符¾TBuf、TBufC¾堆描述符¾RBuf、HBufC¾指针描述符¾TPtr、TPtrC¾抽象描述符¾描述符的基类TDes、TDesCvoidNameLoader(constTDesC&aName,TDes&aOutputName);_LIT(KTextCode,TestCode);TBufC16sBufC(KTextCode);TBuf16sBuf2(sBufC);_LIT(KHello,“Helloldci!”);HBufC*heapBuf=HBufC::NewL(KHello().Length());*heapBuf=KHello;deleteheapBuf1;LIT(KText,“TestCode);TBufC16sBuf(KText);TPtrptr1(sBuf.Des());中国最大、最专业的3G移动互联网人才培养基地名片夹原理及实现通讯录介绍通讯录引擎操作通讯录引擎中国最大、最专业的3G移动互联网人才培养基地通讯录介绍通讯录¾Contacts、电话簿、名片夹¾通讯录存储在通讯录数据库中通讯录数据库¾存储于手机的RAM中¾SymbianOS3rd默认通讯录数据库路径:c:\private\100012a5\DBS_100065FF_Contacts.cdb中国最大、最专业的3G移动互联网人才培养基地通讯录引擎通讯录模型(ContactsModel)¾SymibanOS手机通讯录开发依靠此模型实现通讯录模型的组成¾通讯录数据库(DataBase)¾通讯录条目(Items)¾采用VCard格式¾具体数量限制,各个手机不同¾通信录域(Field)¾姓名域、电话号码域等¾可以是文本、二进制或日期和时间数据库条目条目条目。。。域域。。。中国最大、最专业的3G移动互联网人才培养基地通讯录引擎SymbianOS通讯录操作API类¾CContactDatabase(数据库类)¾新建、打开、关闭数据库¾数据库更新、排序和查找¾建立快速拨号等操作¾CContactItem(通讯录条目类)¾具体通讯录条目的创建、修改¾由唯一的一个TContactItemId标识¾CContactItemField(域类)¾每一个域就是一个真实单一的数据¾姓名、工作手机号码、家庭手机号码……¾由存储类型(TStorageType)和域类型(TFieldType)同时决定中国最大、最专业的3G移动互联网人才培养基地通讯录引擎SymbianS60平台的通讯录引擎¾封装通讯录操作API¾提供方便的接口¾CPbKContactEngine(通讯录引擎类)¾封装CContactDatabase¾封装MContactDbObserver(通讯数据库观察类)¾CPbkContactItem(通讯录条目类)¾封装CContactItem¾TPbkContactItemField(域类)¾封装CContactItemField¾域ID定义在pbkfields.hrh文件中中国最大、最专业的3G移动互联网人才培养基地网络通讯原理及实现Symbian网络机制介绍套接字通信HTTP通信中国最大、最专业的3G移动互联网人才培养基地Symbian网络机制介绍TCP/IP协议¾网络互联的标准协议¾应用层¾与用户之间是通过应用软件进行交互¾TELNET、FTP、SMTP、HTTP等协议¾传输层¾提供端到端的连接¾TCP协议、UDP协议¾网络层¾负责数据的包装、寻址和路由¾IP协议,ICMP协议¾网络接口层¾提供与实际物理硬件之间的接口¾ARP协议,RARP协议中国最大、最专业的3G移动互联网人才培养基地套接字通信套接字(Socket)¾标准TCP/IP网络编程接口¾是网络通信的端点(IP+端口号)¾两个套接字形成一个通信管道¾服务器:被动等待连接¾客户端:主动请求与服务器建立连接套接字类型¾断开式(connectionless)¾简单的将数据包从发送方传到接收方¾不可靠、每次传输都需指定发送方和接收方的地址¾连接式(connected)¾建立会话,首次连接时指定地址¾可靠的数据传输中国最大、最专业的3G移动互联网人才培养基地套接字通信Series60套接字关键组件¾套接字服务器¾提供对套接字协议访问¾套接字API¾访问套接字服务器¾服务器插件系统¾开发人员不直接使用,由套接字本身使用套接字通信流程¾客户端:¾创建套接字-连接服务器-数据交互-关闭套接字¾服务器端:¾创建套接字-绑定指定端口-数据交互-关闭套接字(监听客户端请求)中国最大、最专业的3G移动互联网人才培养基地套接字通信数据交互中国最大、最专业的3G移动互联网人才培养基地套接字通信Symbian下主要Socket类¾RSocketServ¾负责建立/关闭应用程序与套接字服务器的会话¾Connect()¾Close()¾RSocket¾与SocketServer通信的实体类¾打开套接字Open()¾关闭套接字Close()¾数据收发¾Read()、Write()¾RHostResolver¾主机名、域名解析¾GetHostName()、SetHostName()中国最大、最专业的3G移动互联网人才培养基地HTTP通信HTTP(HyperTextTransferProtocol)¾超文本传输协议,用于通过因特网传输信息¾TCP/IP协议的应用层¾基于客户端/服务器模型¾HTTP服务器包含多种数据¾HTML、XML页面,多媒体文件,图形图像等¾客户端通过连接服务器来读取数据、发送请求¾通常使用TCP的80端口¾使用URI定位服务器数据¾http://www.ldci.mobi/snsProject/register?mobile=13800138001&pass=123456中国最大、最专业的3G移动互联网人才培养基地HTTP通信使用HTTP进行交互的步骤¾客户端和服务器端建立连接¾使用TCP套接字建立连接¾客户端提交请