欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    基于安卓平台的手机智能去雾系统--毕业论文.doc

    • 资源ID:91483327       资源大小:1.25MB        全文页数:63页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于安卓平台的手机智能去雾系统--毕业论文.doc

    基于安卓平台的手机智能去雾系统学 生 姓 名: 学 院: 专 业: 班 级: 学 号: 指 导 教 师: 审 阅 教 师: 完 成 日 期: 摘要随着Internet的飞速发展及互联网的普及,计算机已广泛用于政府、军事、科研、商业等部门,连接到千家万户,利用计算机实现基于android平台下的各种手机软件势在必行。Android 是一种基于 Linux® V2.6 内核的综合操作环境。最初,Android 的部署目标是移动电话领域,包括智能电话和更廉价的翻盖手机。但是,Android 全面的计算服务和丰富的功能支持完全有能力扩展到移动电话市场以外。Android 也可以用于其他的平台和应用程序。本系统采基于eclipse软件实现,运用Java和Android软件开发技术设计实现了手机智能去雾系统。关键词: android;JAVA;智能去雾AbstractWith the popularization of Internet and the rapid development of Internet, the computer has been widely used in government, military, scientific, commercial and other departments, connected to thousands of households, the use of computer under Android platform based on various mobile phone software be imperative.The Android is an integrated operating environment Linux ® based on V2.6 kernel. Initially, the deployment target Android is the field of mobile phones, including the clamshell mobile phone smart phones and cheaper. However, Android computing service comprehensive and abundant functions support fully capable of expansion to the outside of the mobile phone market. Android can also be used for platform and other applications.This system uses the eclipse software based implementation, using Java and Android software technology to achieve the intelligent mobile phone to fog system.Keywords: Android; JAVA; intelligent to fog目 录基于安卓平台的手机智能去雾系统1摘要2Abstract3目 录41.绪论71.1课题研究的背景71.2课题研究现状71.3课题研究的意义101.4课题要实现的目标112. Android平台体系分析112.1 Android平台的组成112.2 Android的架构122.2.1 应用程序122.2.2 应用程序的框架132.2.3 开发库132.2.4 运行环境142.2.5 Linux内核层152.3 Android的API152.4 Android应用程序类型162.4.1 活动(Activity)162.4.2 视图(View)162.4.3 服务(Service)和接收器(Reciever)172.4.4 Content Provider172.5 Android应用工程文件组成182.6 Java技术212.7 Eclipse平台233.可行性研究243.1 现行系统的调研243.2 系统的可行性分析253.2.1 可行性分析的目的253.2.2 经济可行性分析253.2.3 技术可行性分析263.2.4 法律可行性分析264.系统需求分析与总体设计264.1 需求分析264.1.1 用户需求264.1.2 功能需求264.1.3 性能需求274.2 设计思路274.3实现思路285系统模块的实现285.1 系统流程图285.2 界面模块实现295.3 打开图片模块305.4 去雾处理模块315.5 图片保存模块336系统测试及问题处理356.1测试环境356.2 测试结果366.2.1图片打开模块测试366.2.2系统兼容性测试366.3 测试总结366.3.1测试结果分析与说明366.3.2系统安全与性能分析36结论38致谢39参考文献40附录411.绪论1.1课题研究的背景计算机于1946年问世,它经历了四个发展阶段,它的出现让人们的潜力得到更大的发展,把人的大脑延伸。近十年来,计算机的应用更是日益深入到社会的各个领域当中,如管理、办公自动化等。随着计算机技术的发展,Internet的建立也应运而生。我国也由在1987年9月14日发出中国第一封电子邮件而揭开了使用互联网的序幕。 在近十年以后,伴随着社会科技、文化和经济的发展,特别是计算机网络技术和通信技术的大发展,人们对信息的意识,对开发和使用信息资源的重视越来越加强。这些都刺激了互联网技术以迅猛的速度发展。在互联网络高速发展的今天,计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。虽然我国的基于android平台下的手机智能去雾系统,还存在这样那样的问题,但它的发展符合经济学原理和人们的需要,只要对症下药,一定可以逐渐发展完善。本系统采用的是JAVA组合Android语言开发,能过在前期工作中进行了全面的调研和分析后,系统前台界面美观大方,实现了图片去雾功能。1.2课题研究现状(1)Android作为Google开发的一款开源手机操作系统,正越来越受到手机厂商的追捧,而摩托罗拉在手机操作系统上全力转向Android平台,也让基于Android平台的应用开发越发成为业内关注的焦点。不过,由于Android平台的产业链尚不完善,参与Android平台的开发的力量像是“军阀混战”。(2)在基于Android平台的开发者中,大都是一个团队在做开发,极少有单独的个人开发者,即使是单独的个人,也是兼职开发者。据了解,此前,Skyhook Wireless也曾做过一个调查,调查结果显示,应用开发者对于Google Android平台并不满意。57%开发者对于其开发Android应用程序的收益并不满意,仅有4%开发者对于开发收益表示很满意。收益比较低,是制约个人开发者全职开发Android应用程序的主要因素。拿Pasture与Android的应用开发做对比,单个应用就是移动互联网的单位,单个应用其实由个体的开发者开发出来的,可以看看Pasture的成功,不光是独创了这么一个模式,更重要带动了欧美一些个体开发者开发一些应用,并且上传这些Pasture赚钱,形成了很好的生态系统。(3)“支付通道不顺畅,用户有钱没地方付”。从开发者的角度来看,Android支付渠道同其他国内应用开发一样都存在不顺畅的状态,受到了很多限制,大家期待多样化的支付平台出现。现在中国的应用开发差在计费上,除了运营商就没有其他的模式,如果有足够的利润,让给一些小的开发者能得到利益的话,效果会更好。目前,国内也出现了许多第三方支付平台,像支付宝等。现在支付平台种类很多,但占的份额比较少,主要还是通过运营商的渠道进行计费,而国外都是使用信用卡进行支付。总得来说,Android产业链的不完善,也是目前Android平台在应用上比苹果Pasture落后的主要原因。据悉,Android的Apparent商店里应用数量已经达到2万款,但与苹果iPhone10万款的应用相比,Android仍然处于劣势。把现在的Android平台开发比喻成“军阀混战”,一点不为过,因为Android平台最开始的不完善,所以造成了军阀混战,很多力量投入进来,Android的应用价值链我们还看不太清楚,但是可以感觉到这里面波涛汹涌,很多诸侯在里面竞争。对Android平台的完善,我们可能原来很看中运营商的力量,虽然运营商力量依然非常强大,但是别的力量增长的速度应该是更快的。开发多半基于想象,缺乏用户需求认可:改善用户体验一直是移动互联网应用开发致力推进的。在Android平台开发过程中,缺乏用户反馈的需求是开发者一直头疼的问题。开发者按照自己的想法做出他们认为有用,或者认为对他们类似有用的东西,但是真正从市场上过来的用户的需求反馈还是很少的。让开发者融入客户环境里面才能开发出真正好的产品。如果开发者和用户之间信息的流动够顺畅,下一步的产品就是用户跟开发者之间一个信息流的平台,在这个平台里就某一款应用得到用户全部的回馈信息和市场的反馈,会让应用和分享更加简单。进入2010年,通过电视玩体感游戏、上网看大片、浏览资讯等等,显然已经成为一种时尚潮流。据了解,这种具备多功能操作的电视,被广泛定义为“智能电视”。正是智能电视的诞生,开始逐步将消费者由传统的“看电视”向“玩电视”转变。对于智能电视的理解,智能电视与智能手机、智能电脑一样,最重要的就是其平台的应用。因为任何应用程序需要在电视上运用,都必须通过应用平台来处理,由此,无论对于智能手机、智能电脑还是智能电视来说,平台才是关键。在此,为了让消费者对目前电视品牌所推出的智能电视平台有所了解,笔者今天为大家简单介绍一下康佳、海信、TCL智能电视所应用的平台,希望通过介绍,能为用户在智能电视上的选择带来一定的帮助。Android操作系统是TCL智能电视所应用的平台,据了解,2008年TCL就开始投入技术力量对Android平台的研究,至今已经完成一体机设计和研发工作,并已经初步积累相关的技术。基于Android操作系统的智能电视,最大的特点是该系统平台对外的统一开放性,它可以把成千上万的第三方软件提供给用户选择,正如手机系统和电脑系统一样,根据需要个性化安装。其次,用户除了观看传统的电视频道外,还可连接互联网享受整个网络世界的资源,操作简单如同电脑一样,例如可以进行视频点播、视频聊天、互动体感游戏和网络购物等等。此外,Android操作系统智能电视还提供广泛的家用网络电子设备连接能力,成为家用电子设备的控制、交互中心。此外,在多媒体显示技术方面,TCL开发完善了多层显示控制技术,显示内容和效果更加多样化,加上TCL自然光技术,使用户收视体验得到空前提高。另外,Android操作系统由过去的封闭式变为开放式,第三方可以完全独立的开发具体的应用。TCL表示,智能电视是TCL集团结合世界电视产业发展和技术进步需求,在互联网电视及众多独有技术的基础上,进一步借鉴Android系统在移动电话产业的应用经验最新研发而成,实现了在软硬件平台上满足消费者目前及未来需要。智能电视的开发,是TCL集团新一代互联网电视战略在研发方面的重要体现。通过搭建一个跨硬件平台的全新软件开发环境,TCL将使其新一代互联网电视继续保持领先优势,并按照计划,TCL还将此项技术逐步推广到包括智能手机、MID等移动网络终端以及多媒体播放设备等3C融合产品,最终实现TCL数字家庭的跨越式发展。1.3课题研究的意义Android是一套真正意义上的开放性移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android最大特点在于它是一个开放的体系架构,具有非常好的开发和调试环境,而且还支持各种可扩展的用户体验,Android里面具有非常丰富的图形系统,对多媒体的支持功能和非常强大的浏览器Android平台的开放性等特点既能促进技术 (包括平台自身)的创新,又有助于降低开发成本,还可以使运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。该平台由操作系统、中间件、用户界面和应用软件组成。它采用软件堆层(Software Stack,又名软件叠层)的架构,主要分为三部分。底层以Linux内核工作为基础,由C语言开发,只提供基本功能;中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以Java作为编写程序的一部分。不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。Google通过与软、硬件开发商、设备制造商、电信运营商等其他有 关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android 作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户正在使用各种基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android 将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。手机现在已经得到了广泛的应用。基于android平台的手机智能去雾系统以手机为基础。它的特点是携带方便,操作简单,易于管理。选择此课题作为毕业设计,是希望将平日学习累积的知识用于实践,开发出该系统的各项功能,使用户能够使用手机随时随地对下载的图片或者拍摄的照片进行去雾处理。与此同时,在开发中学会发现解决问题,提高JAVA开发能力,为今后的工作、学习、项目开发累积实践经验。所以选择了Java语言来开发实现基于android平台的手机智能去雾系统。1.4课题要实现的目标很多人都有这样的体会,经过精心的构图和努力,等出图的时候却发现图片雾蒙蒙的感觉,很让人沮丧,这些并不是由于机器造成的,更不是因为摄影水平造成的。这是因为空气并不是完全透明的,悬浮其中有无数个微小的灰尘、水汽,甚至还有一些肉眼无法感应到的射线,但是这些可能会造成相机的感光,所以照片会感觉雾蒙蒙的,照片拍摄的景物越远,雾感越重,广恩德的远程相机的雾感会更明显。 基于安卓平台的手机智能去雾系统,是在手机等移动安卓设备上的一款移动应用,它能够将移动设备中的照片、图片等通过软件的去雾处理后,再储存到手机中。实现了图片去雾处理的移动化,使用起来更加方便快捷。2. Android平台体系分析Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟Open Handset Alliance开发。它本身是一套软件堆叠(software stack,又名以软件叠层)的结构,主要分为三部分:操作系统、中间件、应用程序。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或GPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。2.1 Android平台的组成Android不仅是一种操作系统,它更是一个开源的体系架构。 Android平台大量应用了开源社区的成果,并将其针对移动设备进行了优化。它包含以下重要功能特性:l经过Google剪裁和调优的Linux Kernel。l经过Google修改的Java虚拟机Dalvik VM。l大量立即可用的类库和应用软件,例如浏览器WebKit,数据库SQLite。lGoogle已开发好的大量现成的应用软件,并可直接使用很多Google的在线服务。l基于Eclipse的完整开发环境。l优化过的2D和3D图形系统。l多媒体方面对常见的音频、视频和图片格式提供支持。l支持GSM,蓝牙,EDGE,3G,WiFi,摄像头,GPS。2.2 Android的架构Android平台的架构从上到下包含了五个部分:应用程序、应用框架、开发库、Android运行时环境以及Linux内核。2.2.1 应用程序Android将包含一套核心应用程序,其中包括E-Mail客户端,短信程序,日历,地图,浏览器,通讯录等等。所有的应用程序都是由Java语言完成的,它们在一个虚拟机(VM)中运行。需要注意的是,这个VM并非您想象中的JVM,而是Dalvik Virtual Machine,这是一种开源技术。每个Android应用程序都在Dalvik VM的一个实例中运行,这个实例驻留在一个由Linux内核管理的进程中。如下图所示:图1 Dalvik VMAndroid的应用程序通常涉及用户界面和用户交互,这类程序是用户实实在在能感受到的。Android本身提供了众多的核心应用,同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序,这也是Android开源的巨大潜力的体现。Android这种开放而强大的平台给每个程序开发者提供了公平的机会,每一个开发者都可以加入移动互联的世界,共同推动移动互联的发展。2.2.2 应用程序的框架开发人员可以跟核心应用一样,拥有访问框架APIs的全部权限。该应用框架包括了一套可视化对象,一个资源管理器,一个消息管理器,一个活动管理器以及可以通过协议来分享的数据。该应用程序架构还能用来简化组件软件;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。普通的开发者可以使用Android核心应用程序使用的系统API。Android种的应用开发框架设计的非常巧妙,通过这套应用框架,各种组件可以被用户的应用重复利用,各种服务也可以被各种应用重复利用。开发人员应该很好地理解这套框架的工作机制,这样才能开发出更好的应用程序。2.2.3 开发库Android包含一套C/C+开发库,主要包括:libc、Media Framework、WebKit、SGL、OpenGL ES、FreeType、SQLite等。它们被用于Android系统的各种组件中。这些功能通过Android应用框架展现给开发人员。Android运行时库包含一组核心库和Dalvik虚拟机同时Android提供了丰富的库类支持且大部分为开源代码。Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx是一套工具,可以将Java.class转换成.dex格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。Dalvik虚拟机依赖于Linux内核提供基本功能,如线程和底层内存管理。Android包含一个C/C+库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库:系统C库标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备。媒体库基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。界面管理管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层。LibWebCore新式的Web浏览器引擎,驱动Android浏览器和内嵌的web视图。SGL基本的2D图形引擎。3D库基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅。FreeType 位图和矢量字体渲染。SQLite 所有应用程序都可以使用的强大而轻量级的关系数据库引擎。2.2.4 运行环境每一个Android应用运行在自己的进程里,使用该应用自己的Dalvik虚拟机实例。Dalvik可以让一个设备高效的运行很多个VM。Dalvik虚拟机执行Dalvik Executable(dex)格式的文件,该格式的文件经过优化,占用很小的内存。通过名为"dx"的工具可以将Java编译器生成的class格式转换为.dex格式。2.2.5 Linux内核层Android基于Linux 2.6内核来提供系统的核心服务,如安全机制,内存管理,进程管理,网络堆栈和驱动模型。内核还作为硬件和其余的软件应用之间的一个抽象层。从总体架构中看,Android相比其他平台显示出了自身的特点,如集成了WebKit浏览器、Dalvik虚拟机等模块。这些模块的应用也成了Android的焦点,开发者可以充分利用Androd提供的这些模块的接口,开发出更具有特色的应用程序。Android底层是一个基于Linux内核来开发的独立操作系统,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一个虚拟的中间层,该层位于硬件与其它的软件层之间。需要注意的是,这个内核操作系统并非类GNU/Linux的,所以其系统库、系统初始化和编程接口都和标准的Linux系统有所不同的。它没有采用虚拟内存文件系统,而是采用YAFFS2文件系统。YAFFS2(Yet Another Flash File System)文件系统是一个开源的专门为NAND Flash设计的文件系统,具有很好的可移植性,同时也是一种日志型文件系统。Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。与计算机网络里的OSI/RM一样,分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各司其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。如果只是做应用开发,就不需要深入了解Linux Kernel层。2.3 Android的APIAndroid的API主要包含了这几个部分:Views、Intents、Activity、Permissions、Resource Types、Services、Notifications、Content Providers以及XML支持。比较重要的如Views用于提供界面设计的接口;Services提供了运行在后台的服务;ContentProviders定义了一组系统级的数据库;Notifications为用户提供提醒功能的API等。这些都可以通过SDK附带的文档查询到。2.4 Android应用程序类型Android上的应用程序可以分成四种主要类型:活动、服务、接收器和ContentProvider。2.4.1 活动(Activity)活动是开发者遇到的最频繁的应用模块,也是Android当中最基本的模块之一,在Android的程序当中,Activity一般代表手机屏幕的一屏。在Activity当中,可以添加一些View,并且可以对这些View做一些事件的处理。一般一个Android应用是由多个Activity组成的,这多个Activity之间可以进行相互跳转。活动是最常用的Android应用程序形式。活动在一个称为视图的类的帮助下,为应用程序提供UI。视图类实现各种UI元素,比如文本框、标签、按钮和计算平台上常见的其他UI元素。一个应用程序可以包含一个或多个活动。这些活动通常与应用程序中的屏幕形成一对一关系。应用程序通过调用startActivity()或startSubActivity()方法从一个活动转移到另一个活动。如果应用程序只需“切换”到新的活动,就应该使用前一个方法。如果需要异步的调用/响应模式,就使用后一个方法。在这两种情况下,都需要通过方法的参数传递一个Intent。由操作系统负责决定哪个活动最适合满足指定的Intent。Intent是Google在Android体系结构中引入的一种新颖的设计元素。Intent是一种构造,应用程序可以通过它发出请求。例如:"Wanted:An application to help me display this image"。应用程序可以按照相似或互补的方式进行注Intent Filter,表明它们有能力或有兴趣执行各种请求或Intent。2.4.2 视图(View)具有可视UI的应用程序是用活动实现的。当用户从主屏幕或应用程序启动器选择一个应用程序时,就会开始一个动作。Android活动通过视图显示UI元素。视图采用以下布局设计之一:LinearVertical,LinearHorizontal,Relative,Table。选择一种布局之后,就可以用各个视图显示UI。视图元素由熟悉的UI元素组成,包括:Button,EditText,CheckBox,Radio Button,List,Grid,DatePicker,TimePicker等。视图是在一个XML文件中定义的。每个元素有一个或多个属于Android命名空间的属性。2.4.3 服务(Service)和接收器(Reciever)与其他多任务计算环境一样,Android可以“在后台”运行着一些应用程序。Android把这种应用程序称为“服务”。服务是没有UI的Android应用程序。Service还是一种程序,它可以运行很长的时间,但是它却没有用户界面。这么说有点枯燥,我们来看个例子。打开一个音乐播放器的程序,这个时候若想上网了,那么,我们打开Android的浏览器,这个时候虽然我们已经进入了浏览器这个程序,但是,歌曲的播放并没有停止,而是在后台继续一首接一首的播放。其实这个播放就是由播放音乐的Service进行控制。当然这个播放音乐的Service也可以停止,例如,当播放列表里面的歌曲都结束,或者用户按下停止音乐播放的快捷键等。接收器是一个应用程序组件,它接收请求并处理Intent。与服务一样,接收器在一般情况下也没有UI元素。接收器通常在AndroidManifest.xml文件中注册。Android应用程序可用于处理一个数据元素,或者对一个事件(例如接收文本消息)做出响应。Android应用程序是连同一个AndroidManifest.xml文件一起部署到设备的。AndroidManifest.xml 包含必要的配置信息,以便将它适当地安装到设备。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访问网络“下载一个文件”,那么manifest文件中必须显式地列出该许可。很多应用程序可能启用了这个特定的许可。这种声明式安全性有助于减少恶意应用程序损害设备的可能性。2.4.4 Content Provider通过Content Provider进行数据管理ContentProvider是Android的数据存储抽象机制。ContentProvider对数据存储的访问方法进行抽象,在许多方面起到数据库服务器的作用。对数据存储中数据的读写操作应该通过适当的ContentProvider传递,而不是直接访问文件或数据库。Android这个系统和其他的操作系统还不太一样,我们需要记住的是,数据在Android当中是私有的,当然这些数据包括文件数据和数据库数据,以及一些其他类型的数据。Content Provider就是用于两个程序之间的数据交换的。一个Content Provider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。也就是说,一个程序通过实现一个Content Provider的抽象接口将自己的数据暴露出去。外界根本看不到,也不用看到这个应用暴露的数据在应用当中是如何存储的,即用数据库存储还是用文件存储,还是通过网上获得,这些一切都不重要,重要的是外界可以通过这一套标准而统一的接口和程序里的数据打交道。可以读取程序的数据,也可以删除程序的数据,当然中间也会涉及一些权限问题。2.5 Android应用工程文件组成图2 工程文件组成源文件(包含Activity)。源文件都在上边图2的src目录中。R.java文件。这个是Eclipse自动生成的,应用开发者不需要去修改里边的内 容。里边内容的修改也是有Eclipse自动来处理的。R文件对于应用开发者来说基本没有什么用,但是对Android系统非常有用。在这个文件当中,Android对下边即将介绍的资源进行了全局的索引。在下边介绍的res文件夹中,内容发生任何变化,R.java都会重新编译,同步更新的。Android Library。这个是应用运行的Android库。图2.4显示项目用的是Android 2.0的库。Assets目录。在这个目录里边主要放置多媒体等一些文件。Res目录。这个目录主要放置应用用到的资源文件。下边分3个目录进行存放。当这个目录当中的资源文件发生变化时,上面的R文件的内容就会自动发生变化。Drawable目录。这里面主要放置应用到的图片资源。Layout 目录。主要存放布局文件,这些布局文件都是些XML文件。Values 目录。这个目录里边主要放置字符串(string.xml)、颜色(color.xml)、数组(array.xml)。AndroidManifest.xml这个文件相当重要,相当于应用的配置文件。在这个文件里边必须声明应用的名称,应用所用到的Action,Service,以及receiver等。2.6 Android的开发环境配置Android的开发环境配置Android的应用开发通常使用Google提供的Android SDK中的工具集,包括编译器、资源编译器、调试器和模拟器,并使用Eclipse加上Android Developer Tools插件作为集成开发环境。要通过Android SDK中提供的代码和工具进行Android应用程序的开发,需要一个合适的用于开发的计算机和合适的开发环境。作为开源的手机平台,Android SDK不仅可以支持微软的XP和Vista系统,也可以支持Linux操作系统(Ubuntu Linux)和Mac OS 10.4以上版本。Android的主要开发工具是Eclipse(必须是3.2或3.3),加上Android在 Eclipse中的开发工具插件(ADT)。该插件是一个专门为 Android定制的插件,该插件集成了对Android工程和工具的支持,它包含了大量功能强大的扩展,使得创建、运行、调试Android程序更加简单便捷。开始开发Android应用程序的最简捷的方式是下载Android SDK和Eclipse IDE。Android开发可以在Microsoft® Windows®、Mac OS X或Linux上进行。假设使用的是Eclipse IDE和用于Eclipse的Android Developer Tools插件。Android应用程序是用Java语言编写的,但是是在Dalvik VM(非Java虚拟机)中编译和执行的。在Eclipse中用Java语言编程非常简单;Eclipse提供一个丰富的Java环境,包括上下文敏感帮助和代码提示。Java代码通过编译后,Android Developer Tools可确保适当地将它打包,包括AndroidManifest.xml文件。虽然没有Eclipse和Android Developer Tools插件也可以开发Android应用程序,但是那样就需要熟悉Android SDK。Android SDK是作为一个ZIP文件发布的,可以将该文件解压到硬盘上的一个目录中。由于有多个SDK更新,需要有意识地组织开发环境,以便在不同的SDK安装之间轻松地切换。SDK包括:android.jar:Java归档文件,其中包含构建应用程序所需的所有的Android SDK类。documention.html和docs目录:本地和网上提供的SDK文档。这些文档的主要形式为JavaDocs,以便于在SDK中导航大量的包。文档还包括一个高级开发指南和Android社区的链接。Samples目录:samples子目录包含各种应用程序的源代码,包括ApiDemo,该应用程序演示了很多API。这个示例应用程序可以作为Android应用程序开发的良好起点。Tools目录:包含所有用于构建Android应用程序的命令行工具。最常用、最有用的工具是adb实用程序(Android Debug Bridge)。usb_driver:该目录包含将开发环境连接到支持Android的设备(例如G1或Android Dev 1解锁开发手机)所需的驱动程序。只有Windows平台的开发人员才需要这些文件。Android应用程序可以在实际的设备上运行,也可以在Android SDK附带的Android Emulator上运行。图3显

    注意事项

    本文(基于安卓平台的手机智能去雾系统--毕业论文.doc)为本站会员(红****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开