Android平台下基于OSGi框架的
Android平台下基于OSGi框架的[20191215145612]
摘 要
智能手机的出现极大地提高了现代人的学习工作效率、加上其丰富娱乐功能,使整个包括智能手机、智能平板等智能终端的需求大增。随着众多厂商的进入、智能终端市场发展繁荣,推动了智能终端的普及。由于智能终端密切融入用户的工作和生活,一旦丢失将会对用户的个人隐私和其他利益造成损失,防盗防丢失的需求应运而生。
本软件系统设计与实现主要包括:设计安卓平台的智能终端防盗防丢失软件系统架构和软件界面;设计失窃警报防盗策略和远程定位、远程操作等寻回,隐私保护策略。本设计使用JAVA编程语言、在安卓开发平台——Eclipse下实现,主要使用到了Activity,Service,Broadcast Receiver,以及SQLite,Shared Preferences,Google Map,MVC框架,DeviceAdminReceiver等等组件、框架及API 。
目前已完成在局域网环境下的功能实现:若丢失手机已安装本软件并注册过,则服务器数据库中保存有该手机用户信息,那么就可以在用户手机上向服务器发出请求,对丢失手机进行锁定、定位、擦除数据等寻回、保护隐私操作。
通过本软件的设计开发,我学习了相关的JAVA、安卓开发知识并通过实践总结了一些学习经验,收获颇丰。
查看完整论文请+Q: 351916072
关键字:安卓;寻回;隐私保护
目录
第一章 绪论 1
1.1 安卓发展方向 1
1.2 手机防丢失隐私保护研究意义 1
1.3本应用的设计目标 2
第二章 实现技术 3
2.1 JAVA技术的应用 3
2.2 Eclipse简介 4
2.3 OSGi框架简介 5
2.4 MVC框架简介 6
2.5主要功能所涉及的关键技术 6
2.5.1 Activity 7
2.5.2 Service 8
2.5.3 BroadcastReceiver 9
2.5.4 SQLite 10
2.5.5 SharedPreferences 11
2.5.6 GoogleMap 11
2.5.7 DeviceAdminReceiver 11
第三章 应用程序的前台实现 13
3.1 模块功能的总体架构 13
3.2 功能实现及相应的图形界面 14
3.2.1 用户注册 14
3.2.2 用户登录 20
3.2.3 锁定功能(Lock) 23
3.2.4 定位功能(Locate) 24
3.2.5 抹除数据功能(Erase data) 26
3.2.6 操作历史功能(History) 28
3.3相关类功能介绍 29
第四章 应用程序的后台管理控制 30
4.1 Service 功能实现 30
4.2 Broadcast 功能实现 32
4.3 服务器端数据库 33
4.3 改进方向 33
4.3.1 功能改进 33
4.3.1面临问题 33
致谢 34
参考文献 35
附录 37
英文原文 38
中文翻译 48
第一章 绪论
1.1 安卓发展方向
安卓是基于Linux的一种自由并开放源代码的操作系统,主要用于智能手机和平板电脑等移动设备。第一款安卓智能手机在2008十月公布。2013年09月24日,安卓迎来了第5个生日,而安卓设备的数量在全世界已达到十亿。
开放性是安卓平台最大的优点,这样一个开放的平台让很多移动终端的厂商、开发者都可以加入到安卓联盟中来。显著的开放性的重要意义在于可以聚集更多的开发者,用户和应用越来越多,一个崭新的平台也可以快速成熟。开放的安卓能迅速积累人气,包括消费者和制造商,消费者将受益最多的大量的软件资源。开放的平台也会有更激烈的竞争,因此消费者又能够享受到物美价廉的产品。过去的手机应用总是会被运营商制约,采用的功能、网络选择,都是非常受限的。随着移动网络逐步转型升级,移动电话已经免费接入网络。安卓丰富的硬件及其开放性使得各个厂商会推出何种功能特色各具的各类产品。
安卓平台给第三方开发商提供了一个非常开阔无拘无束的环境,而不会遭到条条框框的阻扰,可以想象会有多少创新新颖的软件脱颖而出。谷歌已经走过了十多年的历史,在互联网上,从搜索巨头再到谷歌服务的整体网络的普及,如地图、邮件、搜索等已经成为用户和网络之间的一个重要环节,而安卓平台手机可以无缝连接这些优良的谷歌服务。显而易见,安卓的市场仍在不断扩大,安卓的发展也十分令人期待。
1.2 手机防丢失隐私保护研究意义
智能手机的出现极大地提高了现代人的学习工作效率、加上其丰富娱乐功能,使整个包括智能手机、智能平板等智能终端的需求大增。随着众多厂商的进入、智能终端市场发展繁荣,推动了智能终端的普及。智能手机、智能平板等智能终端已经深入我们生活的每个角落,也记录了我们生活中的每个细节,更重要的是,它们记录了我们生活中的很多信息,私密图片,账号密码等等。这些密切融入工作和生活的智能终端一旦丢失,将会对个人隐私和其他利益造成损失,防盗防丢失的的需求应运而生。
1.3本应用的设计目标
在智能手机丢失之后,如果是被用户遗失,可以通过定位功能寻回手机;如果是被偷窃,可以通过锁定功能和擦除数据功能第一时间清除用户手机上的所有信息,避免信息泄露。
通过手机防丢失软件的设计开发,学习JAVA基础,Eclipse开发环境以及安卓平台开发技术。
第二章 实现技术
2.1 JAVA技术的应用
Java是面向对象的程序设计语言,其编写的应用软件是跨平台的。Java具有显著的通用性强,效率高,良好的平台可移植性和安全性,应用非常广泛,还拥有世界上最多的开发商。随着全球的云计算和移动互联网的产业环境不断扩大,Java的优势愈发明显,前景也更加开阔。
Java是由其编程语言、类文件格式、虚拟机和应用程序接口(API)组成的。被分为三种体系:Java SE(J2SE)、Java EE(J2EE)、Java ME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。本设计是基于J2SE平台实现的。
Java 平台就是针对 Java 语言的平台。Java语言与C、C++语言风格十分接近。Java是一种纯粹的面向对象的编程语言,它继承了C++语言的面向对象技术的核心,并舍弃了C语言中易出错的指针、运算符重载(operator overloading)、多重继承,取代以引用、接口,使得Java更加的简单明了。 Java源代码被编译成二进制字节代码,然后依靠各种不同的平台的虚拟机解释执行字节码,这样一来,就实现了"一次编译、到处执行”的跨平台特性。但是由于每次都要执行编译后的字节码会损耗一些时间,所以也会降低 Java 程序的运行效率。
Java的一些基本概念:抽象类、final类、包、多态类、接口、Object类、object类中的equal和toString方法、通用编程、封装、重载、重写、数组列表(ArrayList)、class类等等。
Java语言的众多优秀特性给予了Java应用特有的健壮性可靠性,降低了应用系统的维护开销。对象和嵌入式API可以缩短应用体系的开发周期、降低成本。“一次编译、到处执行”的特性使Java成为通用开放式结构,低成本的多个平台间的信息传输方法。
安卓第一个内置了Java,其应用正是由Java编写的。所以安卓开发水平大部分由Java语言掌握能力是否扎实决定。除此之外,3G应用又和企业级应用紧密结合在一起。因此,在3G手机课程体系中将安卓与Java EE紧密相连,基于安卓系统并使用Java EE为辅,结合实战练习,不仅可以深刻掌握安卓开发,还可以系统学习与Java EE服务器端相关范围的一些关于智能移动终端的商务应用。
Java虽然改变了开发编写软件的方式,降低其复杂性,但是它还并不是一门完美的语言,比如在整体性、语言问题、类库问题、性能问题等等方面还有待改进。
本设计正是使用Java编写的。
2.2 Eclipse简介
Eclipse 是一个基于 Java 的可扩展开发平台,它本身只是一个框架和一组服务,但是可以通过插件组件来构建出各种各样的开发环境。
IBM释出了Eclipse这个完善成熟的体系,已经成为开放源码的程序项目,虽然IBM仍掌握大部分的发展方向和开发技术,但是有一部份由eclipse.org的软件联盟主导。
也许很多观点认为Eclipse就是Java IDE,然而Eclipse是万用工具平台。Eclipse的设计理念是:一切皆插件。Eclipse核心很小,其余全部功能都以插件的方式附加在这个核心上。
可以使用Eclipse自带的JDT外挂来开发Java程序,也可以用其他外挂程序来开发其他语言程序。同样可以用来增加不同的语言支持的外部机制,这一特殊的插件使用的,称为外挂程序片断(插入片段)。IBM以捐出一个语言套件,支持中文、法文、德文、意大利文、日文等等。
Eclipse是非常有名的跨平台的一个IDE。在Eclipse上,通过各种插件就可以支持相应的计算机语言。正是因为这些插件,Eclipse便具备了无可比拟的灵活性。
2.3 OSGi框架简介
OSGi,即Open Service Gateway Initiative,是一种面向Java的动态模型系统。OSGi平台为Java提供服务,使其成为软件集成和开发首选环境,提高了产品的多平台移植性。
OSGi平台是为了给各类网络设备提供在不用重启的情况下,动态转换其构造的功能。OSGi联盟已经为很多公共功能提供了标准组件接口,比如HTTP服务器、配置、XML等。
Java2安全模型使用完整检查代码来访问资源。在OSGi平台上则通过使用私有类扩展了该模型:加入了比较完善的动态权限管理,简化了用户和系统管理员的劳动。
OSGi规范的中心组件是其框架,为组件提供一个标准的环境。整个框架可分为:L0:运行环境,是Java环境的规范;L1:模块层,定义类的装载策略;L2:生命周期管理,增加了实现动态操作功能的bundles;L3:服务注册,提供了处理动态方面的协作模型;以及一个涉及到所有层的安全系统。除框架以外,OSGi联盟还提供了很多服务,可以用一个Java接口来指定。bundles实现该接口,并注册该服务。
在每一个系统,该系统必须提供水平功能的服务:日志。配置管理服务、IO连接器服务和参数服务都是系统服务的一个方面。除此之外,还有组件运行时服务,具有服务的动态特性--它们使软件编程更加困难,在组建运行时,规范可以提供一个XML文件来进行简化处理;部署管理服务,bundle是OSGi中的重要部署方式——JAR/ZIP文件格式,而部署管理提供了另一种格式可选:部署包。它能连接bundles和相应资源,打包成一个单一的可安装和卸载的交付;事件管理服务,许多OSGi事件因为其固定式接口是难以接收和过滤事件的,而此服务提供了泛化主题的事件机制;应用管理服务,该服务提供了传统应用程序模型以及其所需要的管理设施。
2.4 MVC框架简介
MVC全名是Model View Controller,通过将业务逻辑、数据和界面分离来对代码进行组织,把业务逻辑聚集到一个部件里,在改进以及个性化定制界面和用户交互的时候,可以不用重写业务逻辑。MVC独立成长,可以在一个逻辑的图形化用户界面结构中,映射传统的输入、处理和输出功能。
摘 要
智能手机的出现极大地提高了现代人的学习工作效率、加上其丰富娱乐功能,使整个包括智能手机、智能平板等智能终端的需求大增。随着众多厂商的进入、智能终端市场发展繁荣,推动了智能终端的普及。由于智能终端密切融入用户的工作和生活,一旦丢失将会对用户的个人隐私和其他利益造成损失,防盗防丢失的需求应运而生。
本软件系统设计与实现主要包括:设计安卓平台的智能终端防盗防丢失软件系统架构和软件界面;设计失窃警报防盗策略和远程定位、远程操作等寻回,隐私保护策略。本设计使用JAVA编程语言、在安卓开发平台——Eclipse下实现,主要使用到了Activity,Service,Broadcast Receiver,以及SQLite,Shared Preferences,Google Map,MVC框架,DeviceAdminReceiver等等组件、框架及API 。
目前已完成在局域网环境下的功能实现:若丢失手机已安装本软件并注册过,则服务器数据库中保存有该手机用户信息,那么就可以在用户手机上向服务器发出请求,对丢失手机进行锁定、定位、擦除数据等寻回、保护隐私操作。
通过本软件的设计开发,我学习了相关的JAVA、安卓开发知识并通过实践总结了一些学习经验,收获颇丰。
查看完整论文请+Q: 351916072
关键字:安卓;寻回;隐私保护
目录
第一章 绪论 1
1.1 安卓发展方向 1
1.2 手机防丢失隐私保护研究意义 1
1.3本应用的设计目标 2
第二章 实现技术 3
2.1 JAVA技术的应用 3
2.2 Eclipse简介 4
2.3 OSGi框架简介 5
2.4 MVC框架简介 6
2.5主要功能所涉及的关键技术 6
2.5.1 Activity 7
2.5.2 Service 8
2.5.3 BroadcastReceiver 9
2.5.4 SQLite 10
2.5.5 SharedPreferences 11
2.5.6 GoogleMap 11
2.5.7 DeviceAdminReceiver 11
第三章 应用程序的前台实现 13
3.1 模块功能的总体架构 13
3.2 功能实现及相应的图形界面 14
3.2.1 用户注册 14
3.2.2 用户登录 20
3.2.3 锁定功能(Lock) 23
3.2.4 定位功能(Locate) 24
3.2.5 抹除数据功能(Erase data) 26
3.2.6 操作历史功能(History) 28
3.3相关类功能介绍 29
第四章 应用程序的后台管理控制 30
4.1 Service 功能实现 30
4.2 Broadcast 功能实现 32
4.3 服务器端数据库 33
4.3 改进方向 33
4.3.1 功能改进 33
4.3.1面临问题 33
致谢 34
参考文献 35
附录 37
英文原文 38
中文翻译 48
第一章 绪论
1.1 安卓发展方向
安卓是基于Linux的一种自由并开放源代码的操作系统,主要用于智能手机和平板电脑等移动设备。第一款安卓智能手机在2008十月公布。2013年09月24日,安卓迎来了第5个生日,而安卓设备的数量在全世界已达到十亿。
开放性是安卓平台最大的优点,这样一个开放的平台让很多移动终端的厂商、开发者都可以加入到安卓联盟中来。显著的开放性的重要意义在于可以聚集更多的开发者,用户和应用越来越多,一个崭新的平台也可以快速成熟。开放的安卓能迅速积累人气,包括消费者和制造商,消费者将受益最多的大量的软件资源。开放的平台也会有更激烈的竞争,因此消费者又能够享受到物美价廉的产品。过去的手机应用总是会被运营商制约,采用的功能、网络选择,都是非常受限的。随着移动网络逐步转型升级,移动电话已经免费接入网络。安卓丰富的硬件及其开放性使得各个厂商会推出何种功能特色各具的各类产品。
安卓平台给第三方开发商提供了一个非常开阔无拘无束的环境,而不会遭到条条框框的阻扰,可以想象会有多少创新新颖的软件脱颖而出。谷歌已经走过了十多年的历史,在互联网上,从搜索巨头再到谷歌服务的整体网络的普及,如地图、邮件、搜索等已经成为用户和网络之间的一个重要环节,而安卓平台手机可以无缝连接这些优良的谷歌服务。显而易见,安卓的市场仍在不断扩大,安卓的发展也十分令人期待。
1.2 手机防丢失隐私保护研究意义
智能手机的出现极大地提高了现代人的学习工作效率、加上其丰富娱乐功能,使整个包括智能手机、智能平板等智能终端的需求大增。随着众多厂商的进入、智能终端市场发展繁荣,推动了智能终端的普及。智能手机、智能平板等智能终端已经深入我们生活的每个角落,也记录了我们生活中的每个细节,更重要的是,它们记录了我们生活中的很多信息,私密图片,账号密码等等。这些密切融入工作和生活的智能终端一旦丢失,将会对个人隐私和其他利益造成损失,防盗防丢失的的需求应运而生。
1.3本应用的设计目标
在智能手机丢失之后,如果是被用户遗失,可以通过定位功能寻回手机;如果是被偷窃,可以通过锁定功能和擦除数据功能第一时间清除用户手机上的所有信息,避免信息泄露。
通过手机防丢失软件的设计开发,学习JAVA基础,Eclipse开发环境以及安卓平台开发技术。
第二章 实现技术
2.1 JAVA技术的应用
Java是面向对象的程序设计语言,其编写的应用软件是跨平台的。Java具有显著的通用性强,效率高,良好的平台可移植性和安全性,应用非常广泛,还拥有世界上最多的开发商。随着全球的云计算和移动互联网的产业环境不断扩大,Java的优势愈发明显,前景也更加开阔。
Java是由其编程语言、类文件格式、虚拟机和应用程序接口(API)组成的。被分为三种体系:Java SE(J2SE)、Java EE(J2EE)、Java ME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。本设计是基于J2SE平台实现的。
Java 平台就是针对 Java 语言的平台。Java语言与C、C++语言风格十分接近。Java是一种纯粹的面向对象的编程语言,它继承了C++语言的面向对象技术的核心,并舍弃了C语言中易出错的指针、运算符重载(operator overloading)、多重继承,取代以引用、接口,使得Java更加的简单明了。 Java源代码被编译成二进制字节代码,然后依靠各种不同的平台的虚拟机解释执行字节码,这样一来,就实现了"一次编译、到处执行”的跨平台特性。但是由于每次都要执行编译后的字节码会损耗一些时间,所以也会降低 Java 程序的运行效率。
Java的一些基本概念:抽象类、final类、包、多态类、接口、Object类、object类中的equal和toString方法、通用编程、封装、重载、重写、数组列表(ArrayList)、class类等等。
Java语言的众多优秀特性给予了Java应用特有的健壮性可靠性,降低了应用系统的维护开销。对象和嵌入式API可以缩短应用体系的开发周期、降低成本。“一次编译、到处执行”的特性使Java成为通用开放式结构,低成本的多个平台间的信息传输方法。
安卓第一个内置了Java,其应用正是由Java编写的。所以安卓开发水平大部分由Java语言掌握能力是否扎实决定。除此之外,3G应用又和企业级应用紧密结合在一起。因此,在3G手机课程体系中将安卓与Java EE紧密相连,基于安卓系统并使用Java EE为辅,结合实战练习,不仅可以深刻掌握安卓开发,还可以系统学习与Java EE服务器端相关范围的一些关于智能移动终端的商务应用。
Java虽然改变了开发编写软件的方式,降低其复杂性,但是它还并不是一门完美的语言,比如在整体性、语言问题、类库问题、性能问题等等方面还有待改进。
本设计正是使用Java编写的。
2.2 Eclipse简介
Eclipse 是一个基于 Java 的可扩展开发平台,它本身只是一个框架和一组服务,但是可以通过插件组件来构建出各种各样的开发环境。
IBM释出了Eclipse这个完善成熟的体系,已经成为开放源码的程序项目,虽然IBM仍掌握大部分的发展方向和开发技术,但是有一部份由eclipse.org的软件联盟主导。
也许很多观点认为Eclipse就是Java IDE,然而Eclipse是万用工具平台。Eclipse的设计理念是:一切皆插件。Eclipse核心很小,其余全部功能都以插件的方式附加在这个核心上。
可以使用Eclipse自带的JDT外挂来开发Java程序,也可以用其他外挂程序来开发其他语言程序。同样可以用来增加不同的语言支持的外部机制,这一特殊的插件使用的,称为外挂程序片断(插入片段)。IBM以捐出一个语言套件,支持中文、法文、德文、意大利文、日文等等。
Eclipse是非常有名的跨平台的一个IDE。在Eclipse上,通过各种插件就可以支持相应的计算机语言。正是因为这些插件,Eclipse便具备了无可比拟的灵活性。
2.3 OSGi框架简介
OSGi,即Open Service Gateway Initiative,是一种面向Java的动态模型系统。OSGi平台为Java提供服务,使其成为软件集成和开发首选环境,提高了产品的多平台移植性。
OSGi平台是为了给各类网络设备提供在不用重启的情况下,动态转换其构造的功能。OSGi联盟已经为很多公共功能提供了标准组件接口,比如HTTP服务器、配置、XML等。
Java2安全模型使用完整检查代码来访问资源。在OSGi平台上则通过使用私有类扩展了该模型:加入了比较完善的动态权限管理,简化了用户和系统管理员的劳动。
OSGi规范的中心组件是其框架,为组件提供一个标准的环境。整个框架可分为:L0:运行环境,是Java环境的规范;L1:模块层,定义类的装载策略;L2:生命周期管理,增加了实现动态操作功能的bundles;L3:服务注册,提供了处理动态方面的协作模型;以及一个涉及到所有层的安全系统。除框架以外,OSGi联盟还提供了很多服务,可以用一个Java接口来指定。bundles实现该接口,并注册该服务。
在每一个系统,该系统必须提供水平功能的服务:日志。配置管理服务、IO连接器服务和参数服务都是系统服务的一个方面。除此之外,还有组件运行时服务,具有服务的动态特性--它们使软件编程更加困难,在组建运行时,规范可以提供一个XML文件来进行简化处理;部署管理服务,bundle是OSGi中的重要部署方式——JAR/ZIP文件格式,而部署管理提供了另一种格式可选:部署包。它能连接bundles和相应资源,打包成一个单一的可安装和卸载的交付;事件管理服务,许多OSGi事件因为其固定式接口是难以接收和过滤事件的,而此服务提供了泛化主题的事件机制;应用管理服务,该服务提供了传统应用程序模型以及其所需要的管理设施。
2.4 MVC框架简介
MVC全名是Model View Controller,通过将业务逻辑、数据和界面分离来对代码进行组织,把业务逻辑聚集到一个部件里,在改进以及个性化定制界面和用户交互的时候,可以不用重写业务逻辑。MVC独立成长,可以在一个逻辑的图形化用户界面结构中,映射传统的输入、处理和输出功能。
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/txgc/2239.html