免费预览已结束,剩余60页可下载查看
毕业论文(设计)-基于Android平台的物品分享系统的设计与实现26572.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
分类号 udc 密 级 单位代码1 0 1 5 1 基于a n d r o i d 平台的物品分享系统 的设计与实现 饶平峰 指导教师 陈明胜职称副教授 学位授予单位大连海事大学 申请学位级别工学硕士学科( 专业)计算机科学与技术 论文完成日期2 0 1 2 年6 月答辩日期2 0 1 2 年6 月2 6 日 答辩委员会主席 d e s i g na n di m p l e m e n t a t i o no fg o o d ss h a r i n gs y s t e m b a s e do na n d r o i do p e r a t i n gs y s t e m at h e s i ss u b m i t t e dt o d a l i a nm a r i t i m eu n i v e r s i t y i np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t sf o r t h ed e g r e eo f m a s t e ro fe n g i n e e r i n g b y r a o p i n g f e n g ( c o m p u t e r s c i e n c ea n dt e c h n o l o g y ) t h e s i ss u p e r v i s o r :a s s o c i a t ep r o f e s s o rc h e n g m i n g s h e n g j u n e 2 0 1 2 iii洲2j仆iji 删9802洲y 中文摘要 摘要 近年来,随着手机移动平台的不断发展,我们通过智能手机获取信息也变得 更加便捷,开发基于各种智能手机平台的手机客户端也已成为各大电子商务公司 的主要研究方向。而随着人们生活水平的不断提高,都会拥有许多闲置的物品, 构建节约环保型社会已逐渐被社会所关注,本系统旨在解决用户之间的闲置物品 发布、分享和及时通信等问题。 a n d r o i d 手机操作平台是g o o g l e 为移动终端开发的一款真正开源的移动手机平 台,该平台的系统架构主要由应用程序层、应用程序框架层、系统运行层和l i n u x 核心层组成。本课题对a n d r o i d 应用于闲置物品分享系统进行了研究。 本文研究主要分为技术简介、需求分析、算法研究和系统实现4 部分。首先, 简要介绍了系统开发过程中所采用的a n d r o i d 应用程序组件和s o c k e t 网络通信等 技术。其次,采用面向对象分析方法对系统进行了需求分析,并通过构建用例模 型分析和描述了系统的基本功能和数据库。随后,介绍了该类系统常用的一些匹 配算法和推荐算法,并提出了在本系统中的应用方案。最后,研究了基于a n d r o i d 移动平台的闲置物品分享系统的详细设计和实现,包括介绍主要功能模块的实现, 给出了基于仿真手机下系统功能运行结果。 本文最后对系统的研究工作进行了总结,同时提出了进一步的展望。 关键词:a n d r o i d ;物品分享系统;匹配算法;推荐算法 英文摘要 a b s t r a c t i nr e c e n ty e a r s ,w i t ht h ec o n t i n u o u sd e v e l o p m e n to ft h em o b i l ep l a t f o r m s ,w ec a l l g e ti n f o r m a t i o nm o r ec o n v e n i e n tt h r o u g has m a r tp h o n e ,a n dt h ed e v e l o p m e n to fm o b i l e c l i e n tp l a t f o r mb a s e do nav a r i e t yo fs m a r tp h o n e sh a sah o tt o p i co ft h em a j o r e - c o m m e r c ec o m p a n y w ew i l lh a v eal o to fu n u s e dg o o d s 、加t ht h ec o n t i n u o u s i m p r o v e m e n to fp e o p l e sl i v i n gs t a n d a r d s ,a n dt h ep r o b l e mo fb u i l d i n ge n e r g y - e f f i c i e n t a n de n v i r o n m e n t f r i e n d l ys o c i e t yi sg r a n d u a l l yc o n c e r n e da b o u t t h es y s t e ma i m sa t s o l v i n gt h eu n u s e dg o o d sp u b l i s h ,s h a r ea n di n s t a n tm e s s a g i n ga n do t h e ri s s u e si no r d e r t os a t i s f yt h ed e m a n d so fu s e r s a n d r o i dw i t hr e a l o p e n s o u r c es o f t w a r ei s f n s td e v e l o p e db yg o o g l et os e r v e m o b i l ed e v i c e s ,t h es y s t e ma r c h i t e c t u r eo ft h ep l a t f o r mc o n s i s t so ft h ea p p l i c a t i o nl a y e r , a p p l i c a t i o nf r a m e w o r kl a y e r ,s y s t e ml a y e ro ft h er u n t i m ea n dt h el i n u xk e r n e ll a y e r i n t h i st h e s i s ,w es t u d yo na n d r o i da n di t sa p p l i c a t i o ni nu n u s e dg o o d ss h a r i n gs y s t e m t h et h e s i si sc o n s t i t u t e do ff o u rp a r t s ,at e c h n i c a lb r i e f , r e q u i r e m e n t sa n a l y s i s , a l g o r i t h mr e s e a r c ha n ds y s t e mi m p l e m e n t t h ef i r s tp a r ti sab r i e fi n t r o d u c t i o nt ot h e a n d r o i da p p l i c a t i o nc o m p o n e n t sa n ds o c k e tn e t w o r kc o m m u n i c a t i o nt e c h n o l o g yu s e d i nt h es y s t e m d e v e l o p m e n tp r o c e s s n e x gt h es y s t e mr e q u i r e m e n tb a s e do no b j e c t o r i e n t e dm e n t h o di sd i s c u s s e di nd e t a i l a n du s e rc a s em o d e l sa n dt h eb a s i cf u n c t i o n s a n dd a t a b a s e s u b s e q u e n t l y ,t h et h e s i si n t r o d u c t ss o m ea l g o r i t h ml i k e m a t c h i n g a l g o r i t h ma n dr e c o m m e n d a t i o na l g o r i t h m ,w h i c ha r ec o m m o n l yu s e di nt h i sc l a s so f s y s t e m s ,t h e np u t sf o r w a r da p p l i c a t i o n si nt h i ss y s t e m f i n a l l y ,t h et h e s i sh a sd i s c u s s e d t h ep r o d u c ed e s i g na n di m p l e m e n t a t i o no ft h eu n u s e dg o o d ss h a r i n gs y s t e m ,w h i c h b a s e do na n d r o i dm o b i l ep l a t f o r m ,i n c l u d i n gt h ei m p l e m e n t a t i o no ft h em a j o rm o d u l e s , a n dd e s c r i b e st h er a n n i n gi n t e r f a c eo fs y s t e mo nm o b i l ep h o n ep l a t f o r m f i n a l l y ,t h et h e s i sc l o s e sw i t has u m m a r yt h eo b t a i n e dr e s u l ta sw e l la sa no u t l o o k o np o s s i b l er e s e a r c ha v e n u e s k e yw o r d s :a n d r o i d ;g o o d ss h a r i n gs y s t e m ;m a t c h i n ga l g o r i t h m ; r e c o m m e n d a t i o na l g o r i t h m 目录 目录 第l 章绪论。1 1 1 课题研究背景1 1 2 课题来源及目的1 1 3 移动平台的国内外研究现状2 1 3 1 移动开发平台的发展现状与主要应用技术2 1 3 2 闲置物品分享系统的发展现状及系统主要采用的技术3 1 4 论文组织结构4 第2 章系统采用技术简介6 2 1a n d r o i d 应用程序组件6 2 1 1a c t i v i t y 6 2 1 2s e r v i c e 8 2 1 :;b r o a d c a s t r e c e i v e r 9 2 1 4c o n t e n t p r o v i d e r 9 2 1 5i n t e n t _ 一连接组件的纽带1o 2 2a n d r o i d 中基于t c p 协议的s o c k e t 网络通信。11 2 3 本章小结。1 3 第3 章基于a n d r o i d 平台的物品分享系统的设计1 4 3 1 系统需求分析1 4 3 1 1 需求描述1 4 3 1 2 生成用例1 5 3 2 功能模块划分1 8 3 2 1 登录管理。19 3 2 2 物品发布1 9 3 2 3 物品查询19 3 2 4 心愿单管理19 3 2 5 物品匹配。19 3 2 6 物品推荐2 0 目录 :! ( ) :! :; 第4 章匹配技术的研究与应用2 4 4 1 精确字符串匹配2 4 4 1 1k m p 算法2 4 4 1 2s u n d a y 算法2 5 4 2 动态规划算法2 5 4 3 匹配技术在系统物品匹配模块的应用2 6 4 4 本章小结。2 7 第5 章推荐技术的研究与应用2 8 5 1 基于内容的推荐技术:2 8 5 2 基于规则的推荐技术2 9 5 3 协同过滤技术3 0 5 3 1 协同过滤算法的描述3 0 5 3 2 基于用户的协同过滤算法3 0 5 3 3 基于项目的协同过滤算法。3 2 5 4 推荐技术在系统物品推荐模块的应用3 3 5 5 本章小结3 4 第6 章基于a n d r o i d 平台的物品分享系统的实现3 5 6 1 系统的开发工具3 5 6 1 1a n d r o i d 模拟器3 5 6 1 2d a l v i k 调试监控服务工具3 5 6 1 - 3a n d r o i d 调试工具3 5 6 2 开发环境和目标平台3 5 6 2 1 开发环境3 6 6 2 2 目标平台3 6 6 2 3 用e c l i p s e 开发a n d r o i d 应用程序3 6 6 3 服务器端的实现3 7 目录 6 3 1 服务器端的实现3 7 6 3 2a n d r o i d 手机客户端通信的实现4 1 6 4 系统功能结构4 3 6 5 系统实现。4 4 6 5 1 系统登录注册的实现4 4 6 5 2 物品发布模块的实现。4 6 6 5 3 心愿单管理模块的实现4 6 6 5 4 物品查询模块的实现4 7 6 5 5 物品匹配模块的实现4 8 6 6 本章小结4 9 第7 章结论5 0 7 1 研究结论5 0 7 2 进一步工作展望5 0 参考文献5 2 致谢5 5 - _ 。 基于a n d r o i d 平台的物品分享系统的设计与实现 第1 章绪论 1 1 课题研究背景 随着时代的发展,科技的进步,新旧物品的交替日新月异,每个家庭,每个 人都会有更新过的物品在闲置,如何处理这些闲置物品也成为了人们日常关注的 问题。有人会拿到当地的二手交易市场去交易,有人会把它当废品卖掉甚至扔掉。 这样不但不利于环保,还极大地浪费了社会资源。虽然,由于二手交易网的诞生 和网络的方便性也使得二手交易不再局限于一定要去二手交易市场实行交易,让 很大部分人选择了上二手交易网发布二手买卖信息,足不出户就可以买卖二手, 极大的方便了老百姓,也促进了社会资源的有效利用。但是,这些闲置物品也不 值不了多少钱,不卖搁在家里又占地方,此时就应该想到为何不出让给有需要它 的人呢? 这样不但可以充分利用资源,保护环境,还可以用来做点慈善,促进社 会和谐。 随着网络技术的不断发展,信息传递速度比以往要变得跟为迅捷,同时我们 获取信息也因为移动通信技术的发展变得更加便捷。用户使用移动终端设备来获 取信息也由于g p r s 技术运用变得更为便捷。网络的资源利用率也由于计算机网 络和电信网络的结合获得极大的提高。 a n d r o i d 平台主要是由j a v a 和l i n u x 组成的。由于该平台的架构相对简单,其 硬件资源的性能也得到了充分发挥。此外,由于a n d r o i d 的开源性和手机软件的低 成本开发的特性,a n d r o i d 逐渐成为现在手机操作系统市场上移植性能最好的一 种。而且现在的a n d r o i d 手机价位也不是很高,用户可以非常容易地在市场上购买 到这种手机,并非常方便地使用它获取自己所需要的各种信息。本课题就是采用 a n d r o i d 移动平台来研究与实现一种用于发布闲置物品分享信息的移动应用。 1 2 课题来源及目的 本课题是在导师虚心的指导下完成的课题。主要的研究任务是在a n d r o i d 平台 下闲置物品分享系统的设计与实现。该课题的开发将有效地帮助用户更加方便快 第1 章绪论 捷的分享自己的闲置物品,同时也可有效的帮助用户获得他人分享的闲置物品, 使得这些社会资源得到更为有效的利用。 1 3 移动平台的国内外研究现状 1 3 1 移动开发平台的发展现状与主要应用技术 这些年来,智能手机的发展已经逐渐成熟,各种功能和性能也得到不断地完 善和提高。现在越来越多的开发人员将研究的主要精力投入到基于各种移动手机 平台的研究与开发应用当中来。接下来将简要介绍一下当下主要流行的手机开发 平台: ( 1 ) 苹果i o s 平台 l o s 是苹果公司开发的一种用于移动平台设备的操作系统,它的主要可以分为 四个层次:可轻触层( t h ec o c o at o u c hl a y e r ) ,媒体层( t h em e d i al a y e r ) ,核心操作 系统层( t h ec o r eo sl a y e r ) ,核心服务层( t 1 1 ec o r es e r v i c e sl a y e r ) 4 1 。i o s 的用户界 面的概念基础上是能够使用多点触控来直接进行操作的。控制方法主要包括轻触 开关及按键,多点触控操作和滑动等。同时还可通过挤压,轻按,滑动及旋转与 系统进行互动。截止到2 0 1 1 年1 1 月,根据c a n a l y s 的数据显示,i o s 在已经占据 了全球智能手机系统市场份额的3 0 ,在美国的市场占有率为4 3 。 ( 2 ) 刚m 平台 b l a c k b e r r yo s 是由r e s e a r c hi nm o t i o n 为黑莓手机开发的一种专用操作 系统。该操作系统支持多任务处理,并具备特定的输入装置,其优势主要体 现在它可以为用户提供无线咨询服务,丰富的软件开发资源,对j a v a 软件的 高兼容性和成熟的无线网络技术。 ( 3 ) s y m b i a n 平台 s y m b i a n 的架构和很多用于电脑的操作系统比较相似,具有内存保护、多执行 绪和先占式多工等特性。s y m b i a n 的便携式装置是其最大的优势,同时在资源有限 的情况下,可以执行一段很长的时间。但是s y m b i a n 系统在多媒体的支持方面的 疲软是由于其在硬件方面的低配,而且s y m b i a n 系统的低兼容性也给大家带来了 2 - 基于a n d r o i d 平台的物品分享系统的设计与实现 很大了困扰,这也使得s y m b i a n 的市场份额日益萎缩。截止至2 0 1 2 年2 月,s y m b i a n 系统的全球市场占有量仅为1 6 9 ,中国市场占有率则降至1 8 7 ,均被a n d r o i d 超过。 ( 4 ) w i n d o w sp h o n e 平台 w i n d o w sp h o n e 是由微软公司发布的一种新的手机操作系统,它将旗下的z u n e 音乐、独特的视频体验与x b o xl i v e 游戏整合至手机中,以严格控制运行它的硬 件规范。w i n d o w sp h o n e7 的推出宣告了w i n d o w sm o b i l e 系列彻底退出了手机操 作系统的市场。 ( 5 ) a n d r o i d 平台 a n d r o i d 平台是一款以l i n u x 为核心的开发式手机开发平台,为移动设备提供 了一个包含操作系统、中间件及应用程序的软件叠层架构。a n d r o i ds d k 为开发人 员使用j a v a 语言编写a n d r o i d 平台下的应用程序提供了必要的a p i 。与上述手机 操作系统相比,a n d r o i d 手机操作系统具有的优点有:应用程序的相互平等、应用 程序之间的无界限、真正的开放性和应用程序开发的快速方便等。为了推动 a n d r o i d 开发平台的发展,g o o g l e 与移动手机厂商、软硬件供应商、移动运营商和 手机芯片供应商联合组成了开发手机联盟( o p e nh a n d s e ta l l i a n c e ,o h a ) ,中国移 动和中国联通都是这个联盟的成员。目前,a n d r o i d 在全球的市场份额居全球第一, 截至2 0 1 2 年2 月数据,a n d r o i d 占据全球智能手机操作系统市场5 2 5 的份额,中 国市场占有率为6 8 4 。 1 3 2 闲置物品分享系统的发展现状及系统主要采用的技术 随着计算机技术的逐渐成熟,信息技术也得到迅速的发展,因此,一些相似 的传统二手交易市场也出现在了网络中,改变了人们的生活习惯。这些闲置物品 交易网在一定程度上方便了广大老百姓,也促进了二手交易的发展。 目前,网上二手交易网的类别有很多,有专一类二手物品的,比如:只交易 i t 类产品的太平洋电脑、中关村在线等等。也有综合发布类的二手交易网,比如: 百姓网,从有形的大件物品到无形的虚拟物品。二手交易网大致分为以下四种: 第一种是综合信息发布平台:比如,5 8 同城,百姓网和赶集网等等。它们在 第1 章绪论 全国各个城市都有子网站,以供同城用户交易,十分便捷,也极大的避免了异地 交易带来的不确定性,让交易更安全快捷。 第二种是大型网络贸易平台:主要有阿里巴巴、淘宝、易趣等。此类平台可 以发布闲置物品,由第三方支付平台实行担保交易,确保了交易的安全性,一般 通过邮寄的方式实行交易。 第三种是专一类闲置物品交易网:比如,中关村在线、太平洋电脑网等网站 就只允许发布交易二手i t 类物品。 第四种是各地方门户网站或论坛:一般我们所熟悉的地方网站或论坛都会有 二手交易的类别供买家卖家发布供求信息。 另外,当前的闲置物品交易系统中,大多数是采用b s 结构的,只有少量采 用c s 结构,此类系统一般都是只能使用在p c 上并且是基于w e b 的,对于使用 的地点和时间都有较大的局限性【3 】。目前,在该领域中尚未见到基于移动平台的闲 置物品分享系统。 1 4 论文组织结构 第一章绪论 介绍了课题的研究背景、课题来源及目的,并介绍了系统的的发展现状 要采用的技术,以及本人论文期间所要完成的主要工作。 第二章系统采用技术简介 介绍了系统采用的a n d r o i d 采用应用程序组件和基于t c p 协议的s o c k e t 通信技术。 第三章基于a n d r o i d 平台的物品分享系统的设计 介绍了面向对象需求分析方法的基本步骤。采用面向对象方法对闲置物 享系统进行需求分析,并详细描述了所需的功能模块和本系统的数据库实现。 第四章匹配技术的研究与应用 介绍了常用的几种匹配算法,然后再介绍了匹配技术在系统物品匹配模 的实际应用。 基于a n d r o i d 平台的物品分享系统的设计与实现 第五章推荐技术的研究与应用 介绍了推荐系统的概念,并列举出一些推荐系统的算法,并对基于用户的协同 过滤算法和基于项目的协同过滤算法进行了详细介绍。然后再介绍了推荐技术在 系统物品推荐模块中的实际应用。 第六章基于a n d r o i d 平台的闲置物品分享系统的实现 详细讨论了基于a n d r o i d 移动平台的闲置物品分享系统的具体设计方案、技术 实现和系统的功能模块,描述了系统的部分功能模块的运行结果。 第七章总结与展望 对整个课题的研究工作进行系统性的总结,并对系统提出了进一步研究、改 进和完善的方向。 第2 章系统采用技术简介 第2 章系统采用技术简介 本章将主要介绍系统所采用的a n d r o i d 四大应用程序组件,并简要介绍系统开 发基于t c p 协议的s o c k e t 网络通信。 2 1a n d r o i d 应用程序组件 在开发a n d r o i d 应用程序之前,先得了解a n d r o i d 应用程序的核心组成部分。 只有了解了应用程序的基本组成,才能更好地理解其工作机制。a n d r o i d 应用程序 没有唯一的启动入口( 如c 语言中的m a i n ( ) 函数入口) ,一个a n d r o i d 应用程序是由 很多不同的组件组成的,组件之间主要是通过i n t e n t 来实现通信的。a n d r o i d 系统 的基本组件主要包括a c t i v i t y 、s e r v i c e 、b r o a d c a s t r e c e i v e r 和c o n t e n t p r o v i d e r ,还 有用于基本组件之间传递消息的i n t e n t 组件,配置文件a n d r o i d m a n i f e s t x m l 主要 声明应用程序中使用的各种组件1 1 。图2 1 展示了a n d r o i d 应用程序中组件的结构 关系,其中a n d r o i d m a n i f e s t x m l 是整个a n d r o i d 应用程序的配置文件,主要负责 将a c t i v i t y 、s e r v i c e 等组件进行有机地组合【1 1 。 a n d r o i d 应用程序 图2 1a n d r o i d 应用程序的组件 f i g 2 1t h ec o m p o n e n t so fa n d r o i da p p l i c a t i o n 2 1 1a c t i v i t y a c t i v i t y 是a n d r o i d 中最常用的组件,是应用程序的表示层,在应用程序中, 6 一 基于a n d r o i d 平台的物品分享系统的设计与实现 都是通过继承和扩展a c t i v i t y 基类来实现所有的屏幕显示的【2 1 。a c t i v i t y 利用v i e w 来实现应用程序的图形用户界面( g u i ) ,而用户是直接通过g u i 和应用程序来进 行交互,比如说,用户可以通过g u i 向应用程序发出各种指令和响应,应用程序 可以通过g u i 向用户显示信,9 1 2 1 。 a c t i v i t y 的生命周期主要包括三个状态,通过各种回调方法来实现各种状态之 间的切换。 ( 黧k s 镳 夕 厂” j ,v 订,4 l 自ll 一i 娟“。一” l 。 一r 一。 u s e r 抛l 嘲鼢l 毒 ;激i | 矗,耐t 缸,。nii 着 它口- # 、i一 1 l 矗t 癌生 、 。翟 i 硼。“翟聪7 l l 硐譬砌毪 | 一1 1 w 9 w 口”目_ 目目m 目w 9 p f7 黜雠溶飞 i。nl 一 鬟镶绷夕i 硼嬲啊暾 l 一 ” 一 ( 徽芋 y o u ra c f 俐 t y 8 1 c o m e s t o :懒 f o r e g r o u n dl n e w a 搿黼i s m a n e d 毒 e 搠钟鲫膨c a 幻髂i h 滞。n i y o u r 意慨钞 。n e e d m e m o r yji 刚瑚 i e d m 酷抬协e 幻哟螂埘 , i , l 黼a c l 删l y 蓦s ,d 雅,够彭埘蹴; i 舯演唰 h 了一 i 嘲嗍 图2 2a c t i v i t y 的生命周期 f i g 2 2t h el i f es c y c l eo fa c t i v i t y 第2 章系统采用技术简介 ( 1 ) 运行态 处于运行态的a c t i v i t y 拥有焦点,与用户进行交互中,该状态的a c t i v i t y 可以 为用户提供信息并接收用户的事件响应。 ( 2 ) 暂停态 处于暂停态的a c t i v i t y 失去焦点,一般被运行态的a c t i v i t y 替代,当前台显示 的a c t i v i t y 不是全屏时,可以看到暂停态的a c t i v i t y 。 ( 3 ) 停止态 处于停止态的a c t i v i t y 没有焦点,并且是不可见的,系统随时可以将其释放。 对于开发人员来说,要想开发出优秀的应用程序,关键的是正确地理解a c t i v i t y 的生命周期,其次是a c t i v i t y 之间的跳转和数据传输,以及状态的保存和恢复。 2 1 2s e r v i c e 与a c t i v i t y 不同的是,s e r v i c e 没有可见的用户界面,但s e r v i c e 的特点是可以 在后台长时间运行。因此,也可以说,s e r v i c e 是没有用户界面的程序且具有很长 的生命周期。 s e r v i c e 一般由a c t i v i t y 启动,但是并不是依赖于a c t i v i t y ,即当a c t i v i t y 的生 命周期结束时,s e r v i c e 会继续运行,直到自己的生命周期结束为止。s e r v i c e 的启 动方式有两种。 ( 1 ) s t a r t s e r v i c e 方式启动 当a c t i v i t y 调用s t a r t s e r v i c e 方法启动s e r v i c e 时,会依次调用o n c r e a t e 和o n s t a r t 方法来启动s e r v i c e ,而当调用s t o p s e r v i c e 方法结束s e r v i c e 时,又会调用o n d e s t r o y 方法结束s e r v i c e 。s e r v i c e 同样可以在自身调用s t o p s e l f 或s t o p s e r v i c e 方法来结束 s e r v i c e 。 ( 2 ) b i n d s e r v i c e 方式启动 另外一种启动方式是调用b i n d s e r v i c e 方法启动s e r v i c e ,此时会依次调用 o n c r e a t e 和o n b i n d 方法启动s e r v i c e 。而当通过u n b i n d s e r v i c e 方法结束s e r v i c e 时, 则会依次调用o n u n b i n d 和o n d e s t o r y 方法。 基于a n d r o i d 平台的物品分享系统的设计与实现 2 1 3b r o a d c a s t r e c e i v e r b r o a d c a s t r e c e i v e r 为用户用来接收广播通知的组件,当系统或某个应用程序发 送广播时,可以使用b r o a d c a s t r e c e i v e r 组件来接收广播消息并做相应处理。 在信息发送时,需要将信息封装后添加到一个i n t e n t 对象中,然后通过调用 c o n t e x t s e n d b r o a d c a s t ( ) 、s e n d o r d e r e d b r o a d c a s t ( ) 或s e n d s t i c k y r b r o a d c a s t ( ) 方法将 i n t e n t 对象广播出去,然后接收者会检查收到的i n t e n t 与注册的i n t e n t f i l t e r 是否相 同,假如是相同的就通过调用o n r e c e i v e ( ) 方法来接收消息。 三个发送方法的不同之处是使用s e n d b r o a d c a s t 0 或者s e n d o r d e r e d b r o a d c a s t ( ) 方法发送广播时所有满足条件的接收者会随机地执行,而使用 s e n d o r d e r e d b r o a d c a s t 0 方法发送的广播接收者会根据i n t e n t f i l t e r 中设置的优先级 顺序来执行。 b r o a d c a s t r e c e i v e r 的使用过程如下。 ( 1 ) 将需要广播的消息封装到i n t e n t 中。 ( 2 ) 然后通过三种发送方法中的一种将i n t e n t 广播出去。 ( 3 ) 通过i n t e n t f i l t e r 对象来过滤所发送的实体i n t e n t 。 ( 4 ) 实现一个重写了o n r e c e i v e 方法的b r o a d c a s t r e c e i v e r 。 2 1 4c o n t e n t p r o v i d e r c o n t e n t p r o v i d e r 类是应用程序中主要用来实现各种应用程序之间数据共享的。 当需要进行数据共享时,一般利用c o n t e n t p r o v i d e r 为需要共享的数据定义一个 u r i ,然后其他应用程序通过c o n t e x t 获得c o n t e x t r e s o l v e r 并将数据的u r i 传入即 可。 a n d r o i d 系统已经为一些常用的数据创建了c o n t e n t p r o v i d e r ,这些 c o n t e n t p r o v i d e r 都位于a n d r o i d p r o v i d e r 下,只要有相应的权限,自己开发的应用 程序便可轻松地访问这些数据。 对于c o n t e n t p r o v i d e r ,最重要的就是数据模型( d a t am o d e l ) 和u r i ,接下来分别 对其进行介绍。 ( 1 ) 数据模型 第2 章系统采用技术简介 c o n t e n t p r o v i d e r 为所有需要共享的数据创建一个数据表,在表中,每一行表示 一条记录,而每- - y u 代表某个数据,并且其中每一条数据记录都包含一个名为 “i d ”的字段类标识每条数据。 ( 2 ) u r i 每个c o n t e n t p r o v i d e r 都会对外提供一个公开的u r i 来标识自己的数据集,当 管理对歌多个数据集时,将会为每个数据集来分配一个独立的u r ,所有的u r i 都以“c o n t e n t :开头。 2 1 5i n t e n t _ 连接组件的纽带 a n d r o i d 中是通过i n t e n t 这种运行时的绑定机制来完成应用程序不同组件之间 的通信。应用一般是通过i n t e n t 向a n d r o i d 系统发出某种请求,a n d r o i d 系统再根 据请求来查找各个组件中的i n t e n t f i l t e r ,找到需要的组件并运行它。 a c t i v i t y 、s e r v i c e 及b r o a d c a s t r e c e i v e r 组件之间通过不同的i n t e n t 机制来进行 的通信。 ( 1 ) a c t i v i t y 组件 通过调用c o n t e n t s t a r t a c t i v i t y 或c o n t e n t s t a r t a c t i v i t y f o r r e s u l t 方法传递i n t e n t 来激活a c t i v i t y 组件。 ( 2 ) s e r v i c e 组件 通过c o n t e n t s t a r t s e r v i c e 和c o n t e n t b i n d s e r v i c e 方法传递i n t e n t 来实现s e r v i c e 组件的启动或绑定。 ( 3 ) b r o a d c a s t r e c e i v e r 组件 通过c o n t e n t s e n d b r o a d c a s t 0 、s e n d o r d e r e d b r o a d c a s t 0 或s e n d s t i c k y r b r o a d c a s t ( ) 方法传递b r o a d c a s t i n t e n t ,在b r o a d c a s t i n t e n t 被广播之后,可以激活满足i n t e n t f i l t e r 过滤条件的组件。 , i n t e n t 主要是由组件名称、a c t i o n 、d a t a 、c a t e g o r y 、e x t r a 及f l a g 六部分组成 的,接下来将分别对其进行详细介绍。 ( 1 ) 组件名称 基于a n d r o i d 平台的物品分享系统的设计与实现 组件名称是用来标识唯一的应用程序组件,对象的名称主要是由目标组件包 名和目标组件类名组合构成。在i n t e n t 传递过程中,组件名称是一个可选项,如果 没有指定它,a n d r o i d 系统就会根据i n t e m f i l t e r 的过滤条件来选择对应的组件,如 果指定它,就会显示i n t e n t 消息。 ( 2 ) a c t i o n a c t i o n 是描述由i n t e n t 所触发动作名称的一个字符串,在i n t e n t 类中,有很多 字符串常量来表示不同的a c t i o n ,此外,开发人员还可以自定义a c t i o n 。 ( 3 ) d a t a d a t a 是用来封装i n t e n t 消息中的数据,并对i n t e r n 所操作到的各种数据的类型 及u r i 进行描述。不同的d a t a 可以用来封装不同类型的a c t i o n ,正确的d a t a 封 装对i n t e n t 匹配请求同样非常重要。 ( 4 ) c a t e g o r y c a t e g o r y 主要是用来描述目标组件地类别信息,一个i n t e n t 中可以包括多个 c a t e g o r y 。c a t e g o r y 相关的方法有三个:a d d c a t e g o r y ,r e m o v e c a t e g o r y 和 g e t c a t e g o r i e s 。 ( 5 ) e x t r a e x t r a 中封装了一些以键值对的形式存在的附加信息,p u t e x t r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 私立学校保送协议书
- 空调租赁合同协议书
- 电梯售后保险协议书
- 社保自费项目协议书
- 电缆产品协议书范本
- 相邻用户接气协议书
- 护理职业规划类面试问题及应答思路
- 骨科术后功能训练
- 2026年高端私人影院建设公司营销费用预算与控制管理制度
- 学生专注力训练
- 贵州国企招聘:2025贵州凉都能源有限责任公司招聘10人备考题库(含答案详解)
- 2026年导游资格证考试题库+参考答案
- 2025年八年级上学期语文第六单元测试卷含答案
- 2025-2026学年江苏省常州市前黄高中高一(上)期中物理试卷(含答案)
- 雨课堂学堂在线学堂云《材料合成与制备技术》单元测试考核答案
- 确立新的国家安全观课件
- 2025年超星尔雅学习通《工程管理》考试备考题库及答案解析
- 广西柳州市2026届高三第一次模拟考试语文试题(含答案)
- 2025年企业文化主管岗位招聘面试参考题库及参考答案
- 2026年湖北国土资源职业学院单招综合素质考试必刷测试卷及答案1套
- 2025至2030中国玉米种植行业市场深度调研及供需规模及有效策略与实施路径评估报告
评论
0/150
提交评论