LDMC+S60移动应用开发讲义--Symbian+C++编程基础
更新时间:2023-09-03 15:35:01 阅读量: 教育文库 文档下载
- 六道木长什么样推荐度:
- 相关推荐
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
移动应用开发-- Symbian C++编程基础
何锐分布与移动计算实验室,计算机学院分布与移动计算实验室, harry.he@http://www.77cn.com.cn
分布与移动计算实验室
本章内容编程规范 Symbian工程文件基本类型异常处理内存管理描述符动态数组活动对象
2
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
编程规范
3
分布与移动计算实验室
Symbian编码规范目的便于阅读理解和维护便于检查,减少出错概率有助于交流维护Symbian C++编程习惯
基本准则遵循传统C++规范有具有自己特色
习惯决定成败
4
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
命名规范通常类和函数的第一个字母大写所有单词连接在一起除了宏和资源标识之外,避免使用下划线 _
例如void TObject::PrepareForCommit(); class CGlobalText;
5
分布与移动计算实验室
命名规范自动变量(局部变量)第一个字母小写需要时才声明自动变量(不要象C语言那样,在方法开头就声明所有变量)永远不要在同一行初始化多个变量
全局变量不鼓励使用全局变量大写字母开头非常量的全局数据在DLL中是不支持的;最好使用线程本地存储(T.L.S.)
6
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
命名规范宏所有字母大写用下划线分隔单词 IMPORT_C,EXPORT_C,_TEST_INVARIANT
指针和引用类型*或&放在类型旁边,而不是变量名旁边 TText* data; void TDemo::Append(const TDesC& aData);
7
分布与移动计算实验室
命名规范类名类名通常只能以C,R,T,M开头结构用T开头静态类没有前缀字母驱动类用D开头例如 Class CBase; Class TTypefaceInfo; Class RFont; Class MLaydoc; Class User;//静态类
8
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
命名规范方法名通用规则有效 Setters通常是SetThing() Getters通常是Thing(),(如果该方法返回数据项的话)Void SetOffset(TInt aOffset) TInt Offset() const; TInt offset= GetOffset();
“Get”用于获取引用TCharFormat format; GetCharFormat(format);
9
分布与移动计算实验室
命名规范方法名(续)以L结尾的方法表示可能Leave以C结尾的方法表示其中将数据项放入了cleanup stack中以D结尾的方法表示其中的对象将被销毁
例如CStoreMap* map= CStoreMap::NewLC();
10
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
命名规范成员变量以i开头
例如class TObject{ TType iType; Tint iElemementOffset; TPtrC iComponentValue;}
11
分布与移动计算实验室
命名规范方法变量(形式参数)以a开头在元音前也不使用an例如void TObject::TObject(TType aType,TInt aElementOffset);
最好使用方法重载,而不是缺省参数,这样可读性好,并且更加高效
12
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
命名规范常数K开头单词开头大写例如const TInt KMaxNameLength= 0x20; const TUid KEditableTextUid={268435548};
13
分布与
移动计算实验室
命名规范枚举应当被包含在相应的类中不要全局命名空间必须用一个有意义并且无歧义的名字 T开头每个枚举成员E开头特定类中的常量可以实现成枚举型,这种情况下,可以使用K
14
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
命名规范类命名程序设计中常用的四种类: T-,C-,M-,R-
类必须具有清晰的角色,而不是简单的方法与数据的集合
每个类一个头文件头文件的布局#include files friend classes; public, protected, private methods; private, protected, public data;
15
分布与移动计算实验室
Questions?
16
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
Symbian工程
17
分布与移动计算实验室
主要文件bld.inf .mmp .cpp .h .rhr .rss .rls .svg .mpm .pkg Build描述文件项目文件源文件头文件资源头文件资源定义文件字符串文件矢量图标文件位图文件打包文件制作安装文件用声明build的相关信息定义了项目的组成情况
到具体工程目录18
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
Build工程
19
分布与移动计算实验室
bld.inf文件Build信息文件被bldmake命令使用,以生成abld.bat及makefiles文件 prj_platforms prj_mmpfiles prj_exports prj_testexports
20
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
使用bldmakebldmake为工程创建abldcd\myproject\group bldmake bldfiles
使用abld创建组件或者工程文件abld build或者 abld build wins udeb
21
分布与移动计算实验室
编译过程
22
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
UIDs每个应用程序都具有唯一的UIDs UID是一个具有唯一性的32位数字 Symbian用UIDs(而不是扩展名)来标识不同的文件类型在项目定义文件(.mmp)中指定UIDs
23
分布与移动计算实验室
UIDs
24
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
UID1-文件类型指示器指定了文件的类型 .EXE(UID1=KExecutableImageUid) 如果UID1为EXE,UID2和UID3则为零
.DLL (UID1=KDynamicLibraryUid) .dll/.app存储文件或者其它格式的文件这些常数在e32uid.h中定义
25
分布与移动计算实验室
UID2-子类指示器UID2指明了不同类型的DLL或者数据文件对于一个应用程序而言UID2可以三种之一 KUidApp KUidAppDllDoc KuidAppInfoFile UID2定义在APADEF.H和APGICHFL.H中
26
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
UID3-代码指示器应用程序DLL (.app)唯一性的标识应用程序
文档或数据文件将其关联到特定的执行文件和图标
对于EXE而言,不需要UID2或UID3对于一个应用程序而言,其dll文件、文档以及AIF文件的UID3都是一样的。
27
分布与移动计算实验室
UIDs的分配从Symbian开发者网络可以得到发送email到uid@http://www.77cn.com.cn指明需要的UIDs的个数指明应用程序或者项目名称
0x01000000到0x0FFFFFFF之间的UIDs用于实验通常最多能够申请10个UIDs,除非是获得了Symbian授权的公司
。
28
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
Symbian UID分配
Application Symbian Signed Un-Symbian Signed
Pre-Symbian OS v9 Protected Protected
Post Symbian OS v9 Protected Unprotected
29
分布与移动计算实验室
Symbian UID分配UID Protected Range Class(es) Range 0 0x00000000 0x00000001 1 2 3 to 6 7 Unprotect ed Range 8 to 9 A B to D E F 0x10000000 0x20000000 0x30000000 0x70000000 0x80000000 0xA0000000 0xB0000000 0xE0000000 0xF0000000 0x0FFFFFFF 0x1FFFFFFF 0x2FFFFFFF 0x6FFFFFFF 0x7FFFFFFF 0x9FFFFFFF 0xAFFFFFFF 0xDFFFFFFF 0xEFFFFFFF 0xFFFFFFFF Purpose KNullUid Not used - Includes legacy testing range Not used - Legacy UID allocations V9 protected UID/SID allocations Reserved for future use Vendor IDs Reserved for future use V9 unprotected UID allocations Reserved for future use New V9 testing range Legacy UID compatibility range
30
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
mmp文件每个项目都具有一个项目定义文件,即mmp文件, mmp文件包含了如下信息目标名称目标类型 UID VID/SID Capability源文件目录源文件列表用户包含文件目录系统包含文件目录库文件调试库文件……
31
分布与移动计算实验室
建立dll
32
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
dll的mmp文件实例Dll指明了UID1的值
UID2指明了静态接口DLL
33
分布与移动计算实验室
Build一个程序
34
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
GUI资源文件资源文件描述了如菜单、对话框、工具条等信息包含了资源的索引信息由文本资源文件.rss经过资源编译器(rcomp.exe)编译后产生(.rsc)资源编译器可以由abld.bat显式的调用,如果使用 IDE,则将IDE自动调用
资源文件的编译只有CodeWarrior支持得最好 Carbide C++有时并不能编译资源文件35
分布与移动计算实验室
资源编译器输出文件资源源文件.rss二进制资源文件(.rsc,.r01,.r02,……)每个资源由资源头文件.rsg中的一个索引标识索引便于更有效的查找资源一个资源文件中可以有1到4095个资源
36
LDMC+S60移动应用开发讲义--Symbian+C++编程基础
分布与移动计算实验室
Questions?
37
分布与移动计算实验室
主要类型
38
正在阅读:
LDMC+S60移动应用开发讲义--Symbian+C++编程基础09-03
在2022年全市作风整顿活动动员暨警示教育大会上的讲话范文03-23
《西方行政学说》课程 形考任务2测验01-01
“能力作风建设年”活动工作总结2篇03-26
同学我想对你说作文400字07-04
在全局开展“转作风、提效能、促发展”主题活动动员大会上的讲话05-09
高二家长会班主任发言稿优秀9篇03-27
在“执行力建设年”活动动员大会上的讲话06-29
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 应用开发
- 讲义
- Symbian
- 编程
- 移动
- 基础
- LDMC
- 60
- 百度校园招聘2013 Web前端笔试(附答案)
- 公司产品简介模板
- 打印:禁毒宣传资料
- 行政部各岗位绩效考核指标库
- 如何建立和实施有效的内部控制制度
- 用弗洛伊德分析法评析《爱德华大夫》
- 广东省梅州市三校(高级、蕉岭、虎山)2015-2016学年高二下学期第一次联考理科综合试题
- 中国科技大学概率论与数理统计讲义
- 硫酸的工业制备
- 人教小学数学四年级上册第4单元三位数乘两位数第3课时积的变化规律-导学案 推荐下载
- 软件需求分析报告模板(完整版)
- 英语自然拼音法
- 钳工车间青工技术比武理论试题
- 优质BB以及职业搭配迅雷魔域
- 煤矿劳动用工管理制度
- 关于《广西壮族自治区不纳入环境影响评价审批的建设项目目
- 仁爱英语八年级下册家庭作业u5 topic 1 Microsoft PowerPoint 演示文稿
- 模具协会加星申请材料-王南洋版
- 2016-2021年中国船舶智能化市场深度全景调研及“十三五”发展前景预测报告目录
- 路面工程评定表