员即是一种很好的人生体验也是实现人生价值的很好途径。
1.2、研究背景及应用程序设计的意义
在智能手机取代传统手机成为移动终端的主流产品这一大趋势下,如何在智能手机上开发出更好、更实用的应用,已经成为开发者研究的热点。本文是基于Android系统,在智能手机上完成位置服务和天气应用程序的设计与开发,实现了利用位置服务显示他人位置的功能。传统的找人方式是被寻找方告诉寻找方其所在地理位置,然后寻找方人工的通过百度地图或Google地图等第三方工具查询被寻找方地理位置,获取被寻找方所在地理位置的各种信息,以方便寻找。但是如果被寻找方无法清楚的描述自己的地理位置的时候,这一方法就变得相当费力,针对这种情况,本文通过对位置模块和天气模块的综合研究,可获取并显示被寻找方地理位置信息,并且可以通过被寻找方地理位置查询被寻找方天气信息的功能。此功能可方便实现在日常生活中寻找好友,还特别适应于一些特殊情况,如野外地质勘探,深度野外探险或语言残障人员的监护等。
1.3、国内外研究现状
目前基于Android的应用程序的开发非常多,但将基于Android的天气服务和位置服务两大模块综合起来研究却不多见。近两年,张艳芳在Android手机Web地图服务的应用设计[1]中提出了一种基于Google地图的定位应用程序开发和天气的查询,主要完成的是将定位和天气作为程序的两个模块单独实现。舒贤华在基于Android平台的手机Web地图设计中实现了查看查询以自己为中心的周边地带的天气信息的功能[2]。苏亚光,吕诚实,于复兴等人提出了Android手机平台下Google天气预报客户端的开发[3],闫娜,闫蕾提出了基于Android的个性天气预报系统的设计与软件实现[4]等等,主要是基于Google天气API开发的关于天气信息功能的应用软件。还有一些基于Google map和Android开发的应用程序,比如徐光侠,封雷,涂演,李成基于Google map的生活辅助系统[5],郭蕊的基于Android平台的GPS定位系统[6],LiXuDong,TangHai,YanGaoshi,Android Based Wireless Location and Surrounding Search System Design[7]等等,本论文设计了一种基于Android的位置和天气服务应用功能,其中天气服务主要基于中国气象局提供的JSON数据,位置服务主要基于Google Map,并在很少涉及到的地方进行了位置服务的应用扩展,实现了在双方都愿意的情况下,被寻找方通过开发的应用程序进行简单的按键操作,寻找方既可得到被寻找方在地图上的位置,并可通过点击被寻找方的位置图标显示对方最近6天的天气情况。
1.4、论文章节安排
本文通过对天气模块和位置模块,通过手机实现了查询中国地区内所有城市的天气信息的功能,通过Widget进行桌面天气显示功能,通过智能手机自带的GPS实现自我定位的功能,通过位置功能模块显示对方位置的功能,并通过对方位置信息显示对方天气的功能。
第一章:本章节主要解决Android目前的发展情况,本应用程序的设计背景、设计目的和适用范围。
第二章:本章主要对本应用程序的开发环境,开发工具和开发用到的基本要点进行了简略介绍。
第三章:本章对本应用程序的两大模块,天气模块和位置模块进行了系统设计,对本应用程序的需求进行了简要分析并更具需求分析提出了解决方案,并设计了各个模块之间的关系图。
第四章:本章主要对第三章中设计的天气模块方案进行实现,其中使用了大量Android应用程序实现所需技术,一步一步实现天气模块所需的功能及接口设计。
第五章:本章对第三章中设计的位置模块方案进行实现,并结合第四章中天气模块提供的接口,实现定位,寻人,查询等功能。
第六章:对本次设计的应用程序进行测试,测试分为功能和性能两大测试,分析测试过程和测试结果。
第二章 Android集成开发环境及应用简介
2.1、Eclipse简介
这里主要使用的集成开发环境是Eclipse[8-10]。Eclipse是一个开源,基于Java的集成开发环境,但它又不仅仅局限于Java,Eclipse有自己的标准插件集,基于Eclipse开发出来的插件都可以搭载在Eclipse上,作为一个IDE(Integrated Development Environment)环境,Eclipse可以开发Java,C++,C以及C#等多种语言。Eclipse的设计思想是一切皆是插件。Eclipse的核心很小,其他一切都是附加在Eclipse的核心之上,比如本设计中需要使用的JDK和SDK都是可以搭载在Eclipse上的,后边将详细介绍如何搭载,图1是Eclipse的主界面:
2.2、Android SDK简介
Android SDK(software development kit)软件开发工具包中包含了许多可使用的开发测试工具[10-16]以及Android需要的类库和源码。本文主要使用的Android SDK中的tools文件夹,文件结构如图2:
一、Android模拟器(Android emulator(emulator.exe))
可在计算机上虚拟移动模拟器(虚拟手机),用来模拟一个移动终端设备,并可在其上进行调试,测试以及运行程序。
二、调试监视服务工具(Dalvik Debug Monitor Service(DDMS))
该工具可以显示设备进程,结束设备进程,可以对手机内部或SD卡文件夹或文件进行操作,可以对模拟器进行屏幕快照,还可以生成数据(如本程序在位置服务的时候生成GPS数据)进行堆栈监测。图3为搭载在Eclipse上的DDMS:
三、Android调试桥(Android Debug Bridge(adb.exe))
它支持使用命令行进行移动设备的访问。
四、SQlite3数据库(sqlite3.exe)
用于创建sqlite3数据库的工具,使用它可以用命令行创建数据库并进行数据库操作。
五、跟踪显示工具(Traceview(traceview.exe))
用于生成跟踪日志数据和界面层级分析视图,这个工具可以帮助我们学习他人的界面设计,也可以用它在实体机上进行截图。
六、其他工具
我们这次主要用到以上几种工具,其实工具不仅仅只有这些,还有为emulator创建SD卡工具(mksdcard.exe),资源打包工具(Android Asset Packing Tool(aapt.exe)),接口语言描述工具(Android Interface Description Language(aidl.exe))等,有兴趣的读者可以访问developer.Android/index.html网站进行详细了解。
2.3、Android基本组件及应用
Android内部构建主要由应用层、应用框架层,元件库层、Java虚拟机、Linux内核组成[16-27],如图4所示,Android应用层主要是用Java语言开发的。 Android应用程序是由组件构成的,Android系统利用组件实现程序内部的模块的调用,以解决代码复用问题,各种组件都是由Android的AndroidManifest.xml文件联系起来的,所有的组件都必须在此文件中声明,以方便其他组件或应用程序调用。调用没有启动的组件进程,是Android设计的一大特点,它并没有所谓的入口函数,比如Java程序中的Main()函数方法,而是允许共享组件直接被Android系统实例化,从而保证调用系统当前并没有启动的组件。
Android内部有六个重要的组件,分别是Activity(活动)、Service(服务)、Broadcast Receiver(广播接收器)、Content Provider(内容提供器)、Intent(意图)、Notification(通知)。前边四个在系统配置文件AndroidManifest.xml中进行注册,并不是所有的应用程序都必须有这六个组件,后面在讲述本文的应用程序中将详细说明。
Activity是Android应用程序最重要的一个组件,Activity其实就是程序的窗口,可以理解成网页开发的网页。作为Android的应用程序的呈现层,显示可视化用户界面,还可以接受和用户交互所产生的事件或者数据。一个应用程序中可以只包
上一篇:
基于Android的多功能视频播放器的系统设计
下一篇:
面向android系统的测试工具_毕业论文