《短彩信相关设计》word版

《短彩信相关设计》word版

ID:82333528

大小:483.00 KB

页数:14页

时间:2023-12-11

上传者:U-47696
《短彩信相关设计》word版_第1页
《短彩信相关设计》word版_第2页
《短彩信相关设计》word版_第3页
《短彩信相关设计》word版_第4页
《短彩信相关设计》word版_第5页
《短彩信相关设计》word版_第6页
《短彩信相关设计》word版_第7页
《短彩信相关设计》word版_第8页
《短彩信相关设计》word版_第9页
《短彩信相关设计》word版_第10页
资源描述:

《《短彩信相关设计》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

短彩信相关设计文档文档管理信息表主题版本内容关键字参考文档创建时间创建人最新发布日期文档变更纪录更改人日期更改内容张飞、张健2012-1-5创建文件目录12/14

11开发规划1背景说明1中国移动规范需求1开发环境和工具1开发规范12总体设计2基本设计描述2系统总体逻辑结构图2模块列表33数据结构4数据库表列表4原短彩信数据库基础下增加的三个表结构44接口规范6对于安全信箱数据库操作接口65模块设计7SIM卡信箱设计7模块设计描述7模块界面描述9信箱模式设计11模块设计描述116附录14总结14l参考资料1412/14

21开发规划1.1背景说明信箱模式是中国移动针对android手机定制的一个模块,专门针对使用习惯信箱模式的用户开发的,与android自带的会话模式短彩信相辅相成,共同构造了短彩信的应用程序。1.2中国移动规范需求信息菜单下设置收件箱、发件箱、草稿、已发信息4个文件夹。收件箱保存客户接收到的信息;发件箱保存正在发送的信息;草稿保存客户已编辑的草稿信息;已发信息保存客户已经成功发送的信息。1.3开发环境和工具开发工具工具作用Java进行应用程序的编写语言Eclipse编写工具VM对于编写好的应用程序进行编译1.4开发规范文档名称位置Java语言编码规范Android语言规范2总体设计2.1基本设计描述信箱模式设计思路为在用户进入mms时,可以根据用户的使用习惯自由选择使用会话模式或者是信箱模式进行短彩信的管理,如果用户选择进入的是信箱模式,可以通过menu选项切换回会话模式,同样可以使用类似方法切换回信箱模式。信箱模式中主要包括如下几个模块:1.新建信息2.几种常用信息箱体3.SIM卡信箱管理4.安全信箱进入入口对于各种箱体信息的操作为大部分手机的模式,不再详细说明。对于安全信箱的设计是以信箱模式为基础,增加了一个登陆界面,只有登陆成功后才会进入信箱模式,由于处于相对##性,使得搜索等程序不能查看到安全信箱的内容,这里对于存储安全信箱的信息专门做了一个独立的数据库进行存储。Sim卡信箱的设计时,由于直接读取SIM卡信息较为耗时,为了使得用户体验最好,在开机的时候会在本地同步SIM卡中的信息,在操作SIM卡信息时同时操作本地数据,使得其完全同步,而在SIM卡信箱中显示的是本地数据,这样会使得用户的体验更加流畅。12/14

31.1.1系统总体逻辑结构图信箱模式为短彩信模块的一个子模块,这里主要绘制出了信箱模式的结构图,会话模式为谷歌android信息机制,这里不再进行累述。1.2模块列表下表主要对于信箱模式中的几个模块进行了罗列模块名称<英文>功能收件箱存用户接收到的信息发件箱保存正在发送的信息已发送保存用户已经成功发送的信息草稿箱保存用户已编辑的草稿信息SIM卡信箱存储从SIM卡中同步过来的短信安全信箱保存用户的私密信息,需要密码才能进入12/14

41数据结构1.1数据库表列表表名作用safety_mms_info存储彩信附件相关的信息Safety_mms_sms_info存储短彩信基本数据信息icc_sms用来同步SIM卡中存储的信息1.2原短彩信数据库基础下增加的三个表结构安全信箱数据库设计-彩信数据表设计字段类型描述_idINTEGER主键约束msg_idINTEGER对应于移动前原数据库中的信息idattachment_uriTEXT附件urisizeLONG彩信大小message_typeINTEGER彩信类型<彩信|彩信通知>安全信箱数据库设计-基本数据表设计字段类型描述_idINTEGER主键约束msg_idINTEGER对应于移动前原数据库中的信息idnameTEXT联系人##addressTEXT联系人msg_typeINTEGER短信<1027>|彩信<1024>typeINTEGER信息对应箱体<发件箱、收件箱、已发送>bodyTEXT短信内容timeLONG发送|接收时间subjectTEXT信息主题header_uriTEXT联系人头像图片的uristatusINTEGER信息状态<发送失败、消息报告等>readINTEGER该信息是否已读12/14

5SIM卡信箱数据库设计字段类型描述_idINTEGER主键约束index_on_iccINTEGER该短信在SIM卡中存贮的位置addressTEXT对方transport_typeTEXT信息类型dateINTEGER短息日期statusINTEGER短息状态lockedINTEGER该短信是否被锁定erro_codeINTEGER默认为0,目前没有用到bodyTEXT信息内容service_center_addressTEXT服务中心deletedINTEGER该信息是否被删除1接口规范由于开发时间有限,在开发过程中没有专门针对信箱模式进行接口设计,大部分功能接口使用的是原会话模式短彩信机制的接口,对于安全信箱是属于独立于短彩信的机制因此有安全信箱的数据操作接口设计。1.1对于安全信箱数据库操作接口在TELEPHONYPROVIDER中增加了SAFETYCONTENTPROVIDER用于对安全信箱数据库的操作;在MMS应用中,设计了一个SAFETYOPERATION类用于对安全信箱数据库接口的调用,在下面列举几个常用的方法1.publicvoidmoveSmsToSafety{}根据短信id将短信移动到安全信箱中2.publicbooleanmoveMessageToNormal{}根据安全信箱中的信息id将信息移动到原短信数据库中3.publicCursorquerySafetyMessageById{}根据信息id查询出单条安全信箱中的信息4.publicUriinsertSmsToSafetyBox{}将一条信息插入到安全信箱中5.publicintdeleteSafetySms{}根据id删除一条安全信箱中的信息6.publicCursorqueryAllInformations{}根据信箱类型以及信息类型查询出该信箱中的所有信息12/14

61.publicintquerySafetyMessageCount<>{}查询安全信箱的信息数量2.publicintquerySafetyMessageCount查询安全信箱中某一箱体的信息计数1模块设计1.1SIM卡信箱设计1.1.1模块设计描述由于从SIM卡中读取短信数据速度很慢,为了优化用户体验,SIM卡信箱中的短信数据完全来自于本地数据库中的表:icc_sms,该数据库中的数据完全同步自SIM卡中所存储的短信数据,确保本地数据与SIM卡中的短信数据在进行增、删、改等操作后仍能完全保持一致:〔1〕每次开机收到开机广播后,会扫描SIM卡,将SIM卡中存储的短信同步到本地数据库的icc_sms表中,同步完成之前无法进入SIM卡信箱。if>{//接收开机广播boot_pleted=false;//boot_pleted为false时不能进入SIM卡信箱ArrayListmessages=smsManager.getAllMessagesFromIcc<>;//获取SIM卡中存储的所有短信for;i++>{values.put<"index_on_icc",message.getIndexOnIcc<>>;values.put<"address",message.getOriginatingAddress<>>;values.put<"date",message.getTimestampMillis<>>;values.put<"status",message.getStatusOnIcc<>>;values.put<"body",message.getDisplayMessageBody<>>;values.put<"service_center_address",message.getServiceCenterAddress<>>;values.put<"deleted",0>;cr.insert;12/14

7}//将从SIM卡中获取的短信数据存储到本地数据库boot_pleted=true;//SIM卡短信同步到本地完成,此时可以进入SIM卡信箱}〔2〕在设置选项中增加"将短信默认存储到SIM卡中"的选项,如果选中的话,接收到的新短信将默认存储到SIM卡中,并同步到本地icc_sms中。pref_key_save_into_sim=true;//"将短信默认存储到SIM卡中"被选中后设置一个标记if{ContentValuesvalues=newContentValues<>;values.put<"index_on_icc",iccIndex>;values.put<"address",mMessage[i].getOriginatingAddress<>>;values.put<"date",mMessage[i].getTimestampMillis<>>;values.put<"status",3>;values.put<"body",mMessage[i].getDisplayMessageBody<>>;values.put<"service_center_address",scAddress>;values.put<"deleted",0>;cr.insert,values>;//将新收到的短信存储到本地数据库的icc_sms表中sManager.copyMessageToIcc,pdu,3>;//将新收到的短信数据存储到SIM卡中}〔3〕在SIM卡信箱中未读的新短信背景颜色高亮,点击阅读该短信后返回列表高亮消失,并在SIM卡与本地数据库icc_sms表中一致将该短信状态由未读改为已读。messageStatus=cursor.getInt>;//获取当前短信的状态if{//在SIM卡信箱点击阅读一条短信后,判断该短信状态是否为未读ContentValuesvalues=newContentValues<>;values.put<"status",1>;PreviewSimActivity.this.getContentResolver<>.update,values,"index_on_icc=?",newString[]{index}>;//在本地数据库icc_sms表中将对应的"status"字段改为3,即为已读,1,mSmsMessage.getPdu<>>;12/14

8//将SIM卡存储的该条短信标记为已读}〔4〕若删除某条SIM信箱中的短信,SIM卡存储中将会删除该条短信数据,而本地icc_sms表中不删除数据,而是将"deleted"字段标志位改为"1",而SIM卡信箱中只显示"deleted"字段标志位为"0"的短信。messageIndexString=cursor.getInt>+"";//获取当前短信的indexContentValuesvalues=newContentValues<>;values.put<"deleted",1>;mContentResolver.update,values,"index_on_icc=?",newString[]{messageIndexString}>;//在本地数据库icc_sms表中,将该短信对应的"deleted"字段赋值为1表示该短信已被删除。sm.deleteMessageFromIcc>;//删除SIM卡中该短信的数据〔5〕存储在手机的短信可以移动到SIM卡中。cursor=mContentResolver.query;if>0>{cursor.moveToNext<>;scAddr=cursor.getString<0>;date=cursor.getLong<1>;type=cursor.getInt<2>;}//获取需要移动的短信数据values.put<"index_on_icc",iccIndex>;values.put<"address",number>;values.put<"date",date>;ifvalues.put<"status",1>;ifvalues.put<"status",5>;ifvalues.put<"status",7>;values.put<"body",item.mBody>;values.put<"service_center_address",scAddr>;values.put<"deleted",0>;mContentResolver.insert,values>;//将需要移动的短信数据存储到本地数据库icc_sms表中if{//inboxCalledPartyBCDWithLength,pdu,1>;12/14

9}if{//sentsManager.copyMessageToIcc;}if{//sentfailsManager.copyMessageToIcc;}//将需要移动的短信数据存储到SIM卡中〔6〕SIM卡信箱支持短信复制到手机内存、单挑删除、多条删除、回复、转发、呼叫对方、查看SIM卡短信存储状态等操作。1.1.1模块界面描述1.在短彩信设置界面中有个选项默认短信存储到SIM卡,如果选中后会在接收到新的短信时将信息存储到SIM卡中;2.进入SIM卡信箱列表界面后,针对某一信息长按会有如图2的各项操作图1图23.在短彩信列表界面中会有删除全部信息以及查看SIM卡信息存储状态,如图34.在会话模式中可以将某一条选中的短信移动到SIM卡信箱中12/14

10图3图41.1信箱模式设计1.1.1模块设计描述信箱模式的设计是区别与谷歌原短彩信机制中的会话模式,会话模式是针对与联系人而建立的阅读信息的模式,而信箱模式是根据中移动要求,根据信息的状态专门设计的一种信息查看模式,其中包括了新建信息、收件箱、发件箱、已发送、草稿箱、Sim卡信箱以及安全信箱等,在每种箱体右侧会有该箱体内有多少条信息,而如SIM卡信息未未读22条,总共有47条,收件箱也会如此显示,只有所有未读信息都已读或者删除才会如其他箱体显示为数目,如图〔1〕。〔1〕<2>12/14

11新建信息与会话模式中的新建信息点击后为同一页面,因此不做详细描述;对于收件箱,一般收到的短彩信都是会保存在收件箱中的,如果新收到的信息还未读,则就会高亮显示以区分已读短信。彩信的话会在右侧有附件图标显示以区分短信和彩信。而对于信息的操作有3种方式,一种为长按事件〔2〕,一种为menu事件〔4〕,再就是单击事件。收件箱、发件箱、已发送、草稿箱为同一类型,跳转到同一页面进行列表显示,而根据箱体的不同,长按事件会有不同的操作,例如收件箱中会有回复,而其余几个箱体中就没有等;menu事件为新建事件与删除事件,而此处的删除事件为多删事件,将进入另一个专门删除信息的工作界面进行数据的删除,如图〔3〕〔3〕〔4〕12/14

12〔5〕发件箱中的信息是用户在信息编辑界面编辑完信息并发送后信息会先保存在发件箱中,如果发送成功就会转移到已发送信箱中去,而发送失败的信息会一直保存在发件箱中。草稿箱为用户保存的草稿信息,由于信箱模式并没有专门设计一套数据存储结构,所以针对于一个只可以保存一条草稿信息。当然在每个界面中都提供多项删除信息功能<3>。SIM卡信息的功能比较特殊,因此专门作为一个章节进行描述。安全信箱是为了使用户将一些私密信息保存起来而专门设计的,用户必须登录后才能进入安全信箱查看内容。12/14

13安全信箱为基于信箱模式而设计的,因此界面操作几乎相同。设计思路为用户收到信息后,都是保存在普通信息的,用户可以将需要##的信息移动到安全信箱中,在安全信箱中提供了发件箱、收件箱、已发送,对应于移动前的信箱。当然,用户可以将安全信箱中的信息再次移动到普通信箱中去。注:在安全信箱中设计的新信息只是为了方便用户编辑信息发送信息,并不是在安全信箱中编辑的信息发送后就会存储在安全信箱相应信箱中。安全信箱的数据存储与普通信箱的数据存储不为同一数据库,因此,常见的专门对应于android短彩信的查看工具或者短彩信搜索功能是看不到安全信箱中的信息的。1附录1.1总结l对于信箱模式下的设计中,在进入某一箱体后,由于是将短信或者彩信加载完成后才会显示出来,所以在手机存储的短信和彩信数量过大的时候,会有一些延时,我们做了数据加载进度条进行等待;对于列表的刷新,由于数据的处理加载比较耗时,考虑到用户使用的流畅问题,因此在进入某一箱体后没有做即时刷新数据处理,只是在箱体列表后面对于某一箱体数量的计数做了即时刷新处理;对于安全信箱中,由于彩信中关于附件的相关处理比较复杂,所以在设计数据库中虽然有关于彩信的数据表以及相关字段进行存储,但是一直没有找到解决彩信附件的相关处理方法,因此对于安全信箱中暂不支持移动彩信到安全信箱。l参考资料1)Android技术内幕〔系统卷〕/杨丰盛著.—:机械工业,2011.5。2)深入了解Android:卷I/邓凡平著.—:机械工业,2011.9。3)Android2.3应用开发实战/林城著.—:机械工业,2011.6。4)Android应用开发揭秘/杨丰盛著.—:机械工业,2010.1。5)google官网。6)Android程序设计基础/郝玉龙著.—:清华大学;交通大学,2011.10。7)Android原理及开发要点详解/韩超,梁泉著.—:电子工业,2010.1。8)LinuxC程序设计大全/吴岳等著.—:清华大学,2009.2。9)GoogleAndroidSDK开发范例大全/余志龙等著;王世江改编.—:人民邮电,2009.12。10)UNIX环境高级编程:第2版/〔美〕史蒂文斯,〔美〕拉戈著;尤晋元,张亚英,戚正伟译.—:人民邮电,2006.5。11)12)中国移动短信业务终端规范v13)中国移动彩信业务终端技术规范v12/14

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭