ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:32.43KB ,
资源ID:6649493      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6649493.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vCalendar的跨平台系统的设计论文.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vCalendar的跨平台系统的设计论文.docx

1、vCalendar的跨平台系统的设计论文vCalendar的跨平台系统的设计摘 要个人数据交换PDI(Personal Data Interchange)每时每刻都进行着,可以是两个人面对面、通过电话或网络的信息交流,同其他人一起的信息共享。通过纸质名片,或者电子名片来进行信息的交换。该课题研究首先围绕vCalendar结构,阐述了什么是vCalendar,产生过程以及应用范围。对其组织结构和主要字段:DTSTART、DALARM、DTEND等在结构中作用,以及各属性取值,编码间的转换作了详细分析;然后结合Motorola L7型号手机,测试出手机特性,功能操作流程、系统编码方式、读取开关、配

2、置信息、数据格式构成等。可以实现操作有:下载、新增、修改、删除。再根据每一功能特性,制定出实现方式。主要是重写基类接口函数,来达到对该手机型号的支持,再把插件加入到软件架构中,设计出能在PC和手机端通信的软件。通过该软件可以对手机中的事件、日程安排进行操作,同时也可以同WINDOWS系统进行数据同步。关键词:事件;日程安排;数据同步;插件The design of the vCalendars cross-platform systemAbstractPersonal Data Interchange (PDI) occurs every time, Two or more individua

3、ls communicate in either face-to-face or across wire and internet data. Such interchanges frequently include the exchange of informal information, such as business cards paper cars or Vcards. The topic is based on the construction of vCalendar, expounded what is vCanlendar, the process ofhaving it a

4、nd the applications. Especially it explains the histological structure and the function for key fields-DTSTART, DALARM and DTEND,the value of each attribution and thetransforms between the codes; Combined with Motorola L7 to get the property of the mobile-phone, operation flow of the functions, meth

5、ods of system coding, switches reading, configuration messages and the forming of data compositions, etc. Effected operations could be: downloading, adding, revising and deleting, and fulfilling the methods with the functional characters, Main point is re-writing basic port function to get the compa

6、tibility of the mobile. Then, add the x-activitis into the software, obtain the communications between PC and cell-phone; which can either control the events, schedule in for the mobile, or make the data synchronization with Windows system.Key words: vEvent; vTodo; Data synchronous; Plugin目 录论文总页数:2

7、6页1 引言 1.1课题背景 1.2 国内外研究的现状 1.3 本课题研究的意义 1.4 本课题的研究方法 2 vCalendar 2.1字符编码 2.1.1 vCalendar 对象 2.1.2 编码方式 2.1.3 持续时间 2.1.4 版本 2.2 vEvent和vTodo 属性 2.2.1 声音提醒 2.2.2 类别 2.2.3 分类 2.2.4 时间 2.2.5 更改记录 2.2.6 优先级 3 vCalendar实现 3.1系统架构分析 3.2 .plug分析 3.3 函数实现 3.3.1 配置信息 3.3.2 构造函数实现 3.3.3数据获取 3.3.4数据下载 3.3.5数据新

8、增 3.3.6数据删除 3.3.7数据同步 3.3.8析构函数实现 结 论 参考文献 致 谢 声 明 1 引言1.1课题背景随着信息化网络的便利,数据的及时交互、跨平台交互得到一定程度发展。尤其3G技术将无限通信与国际互联网等多媒体通信结合,能够处理图像、视频流等多种媒体形式外,个人信息、电子商务等多种信息服务提供,也是新一代网络对业务支持的独特优势。因此,手机终端软件的设计、以及能适应新技术发展的需要成为各大手机软件设计商热点。1.2 国内外研究的现状从相关文献资料来看,国外一些手机软件,尤其以NOKIA、MOTOROLA、SIEMENS和SAMSUNG四家全球最大的手机设计商,占据了全球大

9、部分市场,其产品的自主研发性程度很高,尤其对智能手机研发走在前列。国内的中兴、德信无线通信等手机设计商在国内市场份额较大,对于智能手机系统的研究受到国外厂商的压力较大。1.3 本课题研究的意义对于手机PC端软件的设计,有助于使手机和PC互连,在PC端完全操作手机,如邮件信息收发、手机功能设置、PC通过手机连入互相网、信息备份与恢复等。可以从手机端设置转换向PC方向。与手机生产商的合作,开发出定制软件,功能得到更加增强,本课题主要研究关于事件和日程安排在不同平台上的应用设计,综合各手机操作系统的特点,对跨平台数据中vCalendar应用研究。1.4 本课题的研究方法该研究方法主要从不同的手机操作

10、系统如:MTK、OBEX、Linux、Windows CE;PC操作系统入手。分析数据在不同平台存在格式,从而为信息新增、数据同步等提供数据段的分析、匹配、格式转换、编码、解码等操作。2 vCalendar2.1字符编码以下部分主要简单定了vCalendar的语法构成、语意的解释。2.1.1 vCalendar 对象vCalendar数据流可以包含一个或者多个vCalendar对象,作为每一个vCalenda 数据流对象,都会以BEGIN:VCALENDAR作为分隔字符串:BEGIN:VCALENDAR该标志必须是数据流对象的第一个起始字符串,且为第一行内容出现,标志着内容开始。vCalend

11、ar数据流对象也会以一个END VCALENDAR作为结束字符串:END VCALENDARvCalendar对象可以比着一个容器类,里面包含有事件和日程安排实体内容,也就是所定义的vEvent和vTodo实体结构,两个实体间区别不是太大,只是对某些字段的支持上有差异。vEvent 事件定义:一个vEvent 事件就是一个日历事件安排的实体,大多都会依赖日历时间,例如:可以设置节日提醒事件,自己生日提醒事件等,当接受到提醒通知表明该事件发生。每一个vEvent 实体也就是一个vCalendar 对象,由开始标志符:BEGIN:VEVENT该标识符号也必须出现在vEvent实体第一行,作为标识开

12、始符,vEvent事件不能同另外一个vEvent事件或者vTodo日程安排嵌套使用,但可以通过关键字符串RELATED-TO来连接两个实体,否则会被系统识别为错误。vTodo 日程安排定义可以定义日程安排提醒,该实体大多依赖月、天、时、分、秒。比如一个小时的日程安排,考试时间从10:00开始到11:00结束,在从开始到结束的这一个小时后,会接受到通知,表面该日程安排结束。与vEent事件开始标志一样,需要在日程安排首行出现开始标志符号:BEGIN:VTODO下面是实体内容,然后是日程安排结束标志符号:END:VTODOvTodo不能同另外一个vEvent事件或者vTodo日程安排嵌套使用,但可

13、以通过关键字符串RELATED-TO来连接两个实体,否则会被系统识别为错误。2.1.2 编码方式大多手机系统都是采用7-BIT编码方式,也可以通过终端来设置所支持的编码,来满足操作的需要,该操作需要通过 ENDODING属性来设置,综合常见系统中所使用的编码,可有:UTF-8, GSM, UCS2这些国际通用编码方式,在从不同平台数据交换,数据同步时候需要注意编码识别和转换,以便能够适应当前系统的编码方式。 2.1.3 持续时间在vCalendar对象中,有持续事件的定义,时间格式严格遵守ISO8601规范中所定义的时间格式。对象中如时间需要持续下去,需要使用标识符P示例:P3W 持续时间为3

14、周PT5M 持续时间为5分钟PT1H8M 持续时间为1小时8分钟P2Y10M15DT10H30M20S 持续时间为2年10个月15天10小时30分20秒2.1.4 版本该标识主要用来定义手机软件上vCalendar版本号,当用于不同平台数据交换时,需要先判断版本号是否相同,因为可能版本不同,支持的字段不一样,而使同步或者新增数据出错。该字段用VERSION来标识。示例:VERSION: 1.0该字段在vCalendar对象中必须出现,因此对其支持是强制性的。2.2 vEvent和vTodo 属性以下所定义的属性会出现在vEvent事件和vTodo日程安排中 2.2.1 声音提醒该字段由属性名A

15、ALARM来标识,后面跟声音提示文件,通过该属性,可以定义事件或者日程安排发生时,提醒用音频来发出警报声音,Run Time:被执行的日期和时间Snooze Time:在执行时间之后,提示将处于休眠状态时间间隔Repeat Count:语音提示重复的次数Audio Content:提示时要被播放的声音文件该字段在vCalendar对象属于可选字段 2.2.2 类别该字段由CATEGORIES标识,用来定义vCalendar实体类别,如日程安排为会议、聚餐、电话会议等,当要用到多个类别属性时用分号隔开表示即可。该属性值可以有如下取值:APPONTMNET、BUSINESS、EDUCATION、H

16、OLIDAY、MEETING、MISCELLANEOUS、PERSONAL, PHONE CALL、SICK DAY、SPECIAL OCCASION、TRAVEL、VACATION2.2.3 分类该字段由CLASS标识,为vCalendar实体定义了访问权限。手机系统中可以对事件、日程安排设置一定的访问权限,使其内容得到保护,只有合法用户可以查看、修改、增加、删除等操作,非合法用户不能操作,该属性在智能手机系统中体现较明显,如同Windows的权限分配。但在一些MTK手机系统对该字段不予支持,所以vCalendar实体对其支持也是可选的。示例:CLASS: PUBLIC上面示例说明,对于该条

17、vCalendar实体,它的访问权限不受控制,使用手机的任何人都可以对其修改等操作。其余取值可以有:PUBLIC、PRIVATE、CONFIDENTIAL2.2.4 时间 (1)开始日期、时间该字段由DTSTART来标识,指定了vCalendar对象开始的日期和时间,属性在vCalendar对象中也是必须给出定义的,日期和事件值可以是本地时间或者UTC时间来表示。格式在ISO08601中定义,在日期和时间中用T表示,如果是UTC时间表示法,最后用Z结束标志。示例:DTSTART:20070601T120000(2)提醒日期、时间该字段由DALARM来标识,指定了vCalendar对象提醒日期和

18、时间,该属性必须在vCalendar对象对象中出现,所以对其支持是强制性的,日期和事件值可以是本地时间或者UTC时间来表示。格式在ISO08601中定义,在日期和时间中用T加以分隔,如果是UTC时间表示法,最后用Z结束标志。示例:DALARM: 20070601T140000(3)结束日期、时间该字段由DTEND来标识,指定了vCalendar对象结束的日期和时间,该时间必须晚于提醒、开始。该属性必须在vCalendar对象对象中出现,所以对其支持是强制性的,日期和事件值可以是本地时间或者UTC时间来表示。格式在ISO08601中定义,在日期和时间中用T加以分隔,如果是UTC时间表示法,最后用

19、Z结束标志DTEND: 20070401T235959Z2.2.5 更改记录该字段由LAST-MODIFIED标识,该属性说明了vCalendar对象被最后修改的日期和时间,该字段也是体现了智能手机设置的方便性,便于对信息修改历史记录的查询。 示例:LAST-MODIFIED: 20070817T1330002.2.6 优先级该字段由PRIORTY来标识,属性定义了vCalendar 对象的优先级,当定义了多事件同时提醒时,可以通过优先级来设置哪一事件先于其他事件提醒,属性值用数字表示。示例:0:未定义级别1:最高优先级2:第二优先级随数字增加,优先级递减。PRIORITY:2时间优先级别为2

20、3 vCalendar实现3.1系统架构分析软件以插件方式构成,即通过新增方式可以扩展软件对新手机的支持界面由Delph开发,底层由CC+开发。手机系统虽然可以分为MTK、OBEX、Linux、Windows CE,但又可以归结为两大类,即以系统支持AT和OBEX命令为分类。NOKIA类手机完全应用自己独立开发的OBEX系统,属于私有协议,所以实现起来需要分析官方软件的收发数据,然后分析、实现开发出支持NOKIA型号手机。 其余MOTOROLA、SIEMENS、LG等系列手机厂商都是以AT指令方式与手机操作系统交互,有时也会带有私有协议、扩展协议等只有在测试官方软件、现有软件的支持情况分析出来

21、。所以软件会因AT、OBEX协议不同,而加载Other.base 或Nokia.base来对当前手机支持,然后加载支持不同款手机的 .plug 来对手机指令处理,达到数据的请求和应答。其中.plug 也就是一个Win32下的 .dll 文件,只是后缀名不同而已。每一个手机大类中的插件可以支持几款手机、或者经过细微的修改也可以支持,所以也就分了某一大类手机的未知型号的手机插件、通用手机插件等。 3.2 plug分析 plug 是开发出的支持手机的 dll 程序,供界面调用,来处理底层数据的通信,由于架构在一个软件可以支持多厂家、多系统、多款手机,所以对插件的归类作了规定。首先应该以插件所属手机大

22、类如:Motoralor,然后是具体的手机型号。由于是一款插件可以支持该类多款手机,所以把插件的手机列表写入到了程序的静态数组,或者本地磁盘.ini文件,作为软件配置信息存在。当第一次使用软件时候,界面调用plug插件扫描静态数组和配置文件,把手机大类信息、手机型号写入数据库。以便当手机与PC连接时查询到是否支持,或者加载什么样的插件来初始化软件。 插件主要向外界暴露标准的操作接口,如新增、下载、删除、修改等,具体实现在插件内部,也就是实现基类中的函数接口,或者重写继承过后的函数。当需要开发出一个插件来支持新型号的手机时候,主要是先通过终端测试,得出手机系统特性,分析出于该类其余手机的相识情况

23、,然后用已知插件测试功能支持情况,如果能用已开发出的插件支持手机,则需要维护静态数据库或者ini配置文件,加入新型号手机进去。插件主要处理由界面传来的操作命令,向手机发送请求命令和接受手机的应答。对数据进行封装,从手机的AT命令格式和界面Absfile格式进行匹配转换,都是先接受响应的数据包载缓存中,对串口缓存数据逐条解析,寻找开始、结束字符串。例如对短信息、电话本、事件、日程等的封装。然后发送到串口,手机予以响应。3.3 函数实现插件向外暴露的都是标准的操作接口,都从基类plugBse、absPimCpp继承而来,或者从其他插件功能继承再加以重写。有些型号手机需要重新实现所有的基类接口,从别

24、的派生类继承实现起来比较困难,这样也是开发量最大的情况。以下对于数据封装后会以 absfile形式存在,也就是虚拟文件,根据实现的函数不同从而具有各自不同的接口,但都以两种方式存在,一种是在本地磁盘建立一个文件,所有对该方式建立的absfile操作,都在操作标准的磁盘文件;另外一种是在内存中申请一动态堆栈区,来保存信息从而实现absfile,然后可以用操作文件方式对该内存区进行数据处理,这也是配置的内存文件。以下是在开发中实现的接口:3.3.1 配置信息通过实现getProf函数,给出配置信息到absFile可以在PC与软件连接中,传递给界面一些参数,让界面来根据文件配置加载相应的功能,不仅对

25、于该模块需要实现getProf函数,所有模块都需要根据该模块的特性来重写接口:int MotoVcs:getProf(AbsFile *prof) int ret, titleLen; char rsp256; if (this-vcsProfObj) prof-printf(prof, %s, this-vcsProfObj); AbsFile_dbgOut(prof); return 0; if (ret = enter() at, +MDBR=?, +MDBR, +CME, rsp, sizeof(rsp), NULL) rspBuf, rsp, sizeof(rsp), ret, 0)

26、; if (ret = AtLex_do(this-rspBuf, this-token) != AT_ATOM) return -CNSE_PROT; / 500 if (ret = AtLex_do(this-rspBuf, this-token) != AT_NUM) return -CNSE_PROT; if (ret = AtLex_do(this-rspBuf, this-token) != ,) return -CNSE_PROT; / 44 if (ret = AtLex_do(this-rspBuf, this-token) != AT_NUM) return -CNSE_P

27、ROT; if (ret = AtLex_do(this-rspBuf, this-token) != ,) return -CNSE_PROT; / 64 if (ret = AtLex_do(this-rspBuf, this-token) != AT_NUM) return -CNSE_PROT; titleLen = atoi(StrBuf_buf(this-token); prof-printf(prof, Basern); prof-printf(prof, OpSupp=getInfo,listById,writeById,readById,removeByIdrn); prof

28、-printf(prof, FieldListEventrn); prof-printf(prof, (T)(%d)(UNICODE)=rn, titleLen * 2); prof-printf(prof, (DA)(60)(UNICODE)=rn); prof-printf(prof, (DS)(60)(UNICODE)=rn); prof-printf(prof, (DE)(60)(UNICODE)=rn); prof-printf(prof,(R)(60)(UNICODE)=selList(0,1,2,3,4,6)rn; return 0;在absfile中会得到信息:BaseOpSu

29、pp=listById,readById,writeById,removeById,getInfoFieldListEvent(T)(%d)(UNICODE)=(DA)(60)(UNICODE)=(DS)(60)(UNICODE)=(DE)(60)(UNICODE)=(R)(60)(UNICODE)=selList(0,1,2,3,4,6)从该配置信息可以看出支持操作有:下载、读取、新增、删除。同时也传递给界面所支持的字段有:T、DA、DS、DE、R和对每一个字段编码方式、字符长度作了约束。其中selList中选项表示可能的取值。3.3.2 构造函数实现构造函数中分为该功能模块构造、和操作时的

30、构造,但都是为了能满足对内存堆栈申请、操作时对事件或者日程安排的开关:(1)功能模块构造:实现对虚拟文件的堆栈分配、存储信息的堆栈分配,还有相关信息的初始化。MotoVcs:MotoVcs(ItfMng *itfMng, AtTe *_at, char *_vcsProfObj) : PlugBase(itfMng) this-at = _at; this-rspBuf = AbsFileMem_new(NULL, 0, 0, 0); this-token = StrBuf_new(128); this-maxReadPerTime = 1; this-cs0 = 0; this-vcsProfObj = _vcsProfObj;(2)功能操作构造:当要对vEvent或者vTodo操作时候,根据系统的设计,需要设置信息开关 +MDBL=1,否则不能读取和其余操作,设置编码方式,但都需要先从手机中读取,然后根据支持操作来设置编码,界面都是统一按照UTF-8编码数据、该款手机优先支持UCS2编码,这些是由手机系统所决定。int MotoVcs:init() int ret; char buf128, *cs; CnsCh

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1