软件工程毕业论文(基于Android的个人助手)

上传人:r****d 文档编号:86353871 上传时间:2022-05-07 格式:DOC 页数:51 大小:8.45MB
收藏 版权申诉 举报 下载
软件工程毕业论文(基于Android的个人助手)_第1页
第1页 / 共51页
软件工程毕业论文(基于Android的个人助手)_第2页
第2页 / 共51页
软件工程毕业论文(基于Android的个人助手)_第3页
第3页 / 共51页
资源描述:

《软件工程毕业论文(基于Android的个人助手)》由会员分享,可在线阅读,更多相关《软件工程毕业论文(基于Android的个人助手)(51页珍藏版)》请在装配图网上搜索。

1、 本科毕业设计(论文)基于Android的个人助手系统设计与实现学院名称: 专 业: 班 级: 姓 名: 指导教师姓名: 指导教师职称: 2012年05月基于Android的个人助手系统设计与实现摘 要:随着智能手机的兴起,Android逐渐成为了市场占有量最大的移动平台操作系统,越来越受到大众的欢迎,所以在此平台上开发方便用户使用的个人助手系统是非常必要的。本设计针对智能手机用户日常使用的实际情况,对用户手机的日常功能需求进行调查,确定了所包含的功能和框架。本设计采用软件工程中结构化思想,采用标准的软件设计流程,从可行性研究、需求分析、系统设计以及系统实现和测试等步骤来开发个人助手系统,采用

2、Android开发平台,实现了天气预报、手机号助手、电视节目预告、翻译助手四个模块。除此之外,为了方便用户使用,还设计了收藏夹和单词本,其中收藏夹收藏天气预报信息、手机号信息以及电视节目预告信息,而单词本则存放单词。关键词:Android 操作系统,个人助手,智能手机,Android SDK 注意:1、本毕业设计面向所有人出售,出售内容包括:论文、源代码、安装文件、论文内使用的图表原文件以及项目环境安装方法图文教程。2、本论文售价350元,概不还价,本毕业设计是2012年6月份刚刚出炉,为方便各位学弟学学妹做毕业设计,在此决定出售。3、联系方式:QQ:535126718 Email:lesli

3、e89757126 有意购买者请速度联系。Design and realization of personal assistant systemusing AndroidAbstract: With the rise of smart phones, Android is gradually becoming the largest market share of mobile platform operating system, and welcomed by the general public. Therefore, it is necessary to develop some sof

4、tware systems to meet the daily use of the user friendly, and to contribute to such a new platform.According to the actual situation of the daily use of the smart phone users, this design contains the function and framework of this software system by the demand for everyday use. Using structured sys

5、tem in software engineering, it employs a standard software design process from feasibility studies, requirements analysis, system design to implement and test for developing the personal assistant system. This software system implements the weather forecast, mobile phone number assistant, notice of

6、 television programs and translation assistant on the Android operating system. In addition, the user can use the designed favorites and word list which can collect the information of the weather forecast, mobile phone and notice of television programs and record the word for the use of the user fri

7、endly.Keywords: Android operating system, personal assistant, smart phones, Android SDK目录前言1第1章 概述21.1 智能手机系统开发背景21.2 课题的目的与意义21.3 本文主要研究内容3第2章 相关技术介绍42.1 开发工具及环境简介42.1.1 开发工具42.1.2 开发环境52.2 开发技术52.2.1 利用SOAP技术与网络接口交互62.3 Android SDK常见公共类库介绍62.3.1 sqlite3数据库的使用相关类库介绍62.3.2 Android界面Activity介绍7第3章 系统

8、需求分析93.1 可行性研究93.1.1 经济可行性93.1.2 技术可行性93.1.3 操作可行性93.2 性能需求分析93.2.1 实用性原则103.2.2 可扩展性与可维护性原则103.2.3 安全可靠性原则103.2.4 用户界面美观原则103.2.5 准确性与原则性原则103.2.6 易用性原则103.3 数据需求分析11第4章 系统设计124.1 系统总体结构设计124.2 系统静态模型设计124.3 系统数据库模型设计134.3.1 E-R图134.3.2 数据库的设计16第5章 系统实现185.1 天气预报的查询及城市的管理195.1.1 天气预报的数据获取实现195.1.2

9、天气预报的查询界面实现215.1.3 天气预报中城市的收藏管理实现235.2 手机号查询及其管理265.2.1 手机号信息查询的实现265.2.2 手机号收藏的实现275.3 电视节目的查询及其管理305.2.1 电视节目查询的实现305.2.2 电视节目收藏管理的实现325.4 翻译助手的实现及单词本管理335.2.1 翻译信息查询的实现335.2.2 单词本的实现36第6章 系统测试396.1 测试中英翻译模块396.1.1 测试准备396.1.2 测试数据设计396.1.3 测试过程406.2 测试总结42第7章 总结43参考文献44致谢45前言随着移动平台的崛起,越来越多的传统PC软件

10、被移植到移动平台,比如ipad,iphone,Android等智能终端设备,在这些平台中,Android占领着最大的市场份额,所以为Android用户开发满足日常使用的软件成为了现在的一大热门。在现在移动平台爆发的时代,传统的PC软件没有办法满足用户了,如果说PC的软件只能在固定的地点使用,那么现在的移动平台软件就是能够无时无刻地使用,想使用它,只需要掏出自己的手机就可以立即使用,随时随地得到最新的资讯,不再被传统PC禁锢在办公室或家中,那些必须有电源的地方了。本设计与传统的PC软件有很大的优势,与现在的Android中其他软件相比,也具有一定的优势。现在Android软件使用风格可谓是千变万

11、化,有很多工具软件无法满足用户的日常需要,还有很多软件由于使用风格不一,使得很多用户无法适应,把一些使用率很高的日常软件的风格统一,并且把它们的功能集中在一个软件平台中,就能使上述问题得以解决,不仅使使用风格得到了统一,也使得用户得到一站式的日常工具使用体验,并且可以使这些软件中的功能得到互补,相互共享资源,为本来硬件条件就不是很好的手机提供一个能够轻松运行的软件。本软件的优势体现:1随时随地使用,不受地点限制;2统一移动平台软件使用风格;3日常软件集成统一,一站式到达;4共享资源,减轻手机负担。第1章 概述1.1 智能手机系统开发背景现在智能手机可谓是爆发式增长,传统手机在不断地消失,诺基亚

12、就是在这样的环境中受到了极大的困扰,现在主要有三个使用率最高,关注度最高的手机平台,分别是:Android,ios和windows phone平台,这三个平台中Android的占有率最高,但是设备种类非常复杂,碎片化严重,而ios设备由于apple公司的独特管理理念,得到了一个完整的生态系统,管理得井井有条,几乎没有碎片化的现象和趋势,但是这也导致了其设备种类不多,无法满足所有用户的缺点,还有windows phone虽然现在炒作得很火热,但是其用户量相对其他的两个平台来说几乎是可以或忽略不计,所以在这里不做讨论。Android平台是一个面向大众的系统,分布在低端,中端和高端市场中,在各个阶段

13、的是市场中都有很受欢迎的机型,并且Android是开源的,开发者随时都可以查看系统源代码,并且使用时下最流行的java作为其主要的开发语言。由于这些特点,使得Android成为现在市场占有量最大的软件平台,在这样的平台上面开发一款独特的日常生活软件尤为必要的。1.2 课题的目的与意义本软件旨在为广大的移动平台用户特别是Android用户提供一个最快捷的日常信息获取平台,其中包括:天气,手机号查询,电视节目预告,中英翻译这样的一个软件集成平台。用户只需打开一个应用软件就能快速的使用全部的功能,不需要在原有的不同应用中不断切换,这样不仅浪费时间,而且也是对手机硬件资源的一种浪费,本软件很好地解决了

14、这方面的问题。1.3 本文主要研究内容本文主要介绍和阐述一个手机平台的软件如何利用webservice技术通过互联网获取信息后在Android应用中进行展示和管理这些信息的。本应用软件使用简单,易学易会,非常容易上手,主要是在UI设计上采用了移动平台上最主流的设计理念:简单和引导,虽然界面相对传统web界面显得简单,但是其功能是毫不逊色的,在保留其功能全面性的基础上,设计了最简单的界面来进行展示和管理,使得用户能够不需要事先的任何学习,就可以熟练地进行操作。本软件包括的功能以个人经常使用的工具软件为主,主要包括:天气预报(包括三天的天气信息),手机号助手(查看归属地并进行后续操作),电视节目预

15、告(查看全国主要电视台今日的电视节目信息),翻译助手(进行汉英/英汉翻译)。软件的设计步骤:1. 了解相关资料,了解本软件的研究意义,确定实现技术与方式设计总目标及其整体框架。2. 了解用户的使用习惯和使用心理,进行用户需求分析和规范。3. 草拟功能模块,画出模块图。4. 搜集软件制作素材。5. 数据库设计及完善,创建数据表。6. 编写代码实现各个功能模块。7. 根据Android特有的使用风格进行布局与优化。8. 完成系统测试并改进。第2章 相关技术介绍2.1 开发工具及环境简介2.1.1 开发工具1. Eclipse Classic 3.7.2Eclipse 是一个开放源代码的、基于 Ja

16、va 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括 Java 开发工具(Java Development Kit,JDK)。 Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。Eclipse 最初由OTI和I

17、BM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越

18、受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。2. SQLite3SQLite3是一款轻型的数据库,是遵守ACID的关联式数据库管理系统。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如 Tcl、C#、PHP、Java等,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界

19、著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite第一个Alpha版本诞生于2000年5月. 至今已经有10个年头,SQLite也迎来了一个版本 SQLite 3已经发布。3. ADT目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。4. Android SDKSDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此

20、,Android SDK 指的既是Android专属的软件开发工具包。 2.1.2 开发环境本软件是在windows 7 操作系统中,利用Eclipse Classic 3.7.2开发工具搭载Android SDK工具包,结合Android手机自带的sqlite3数据库进行开发。2.2 开发技术本软件的的开发技术可以概括为:在Android平台的开发环境下,通过手机的2G/3G,或者是wifi网络使用SOAP协议连接 :/ webxml /zh_cn/ index.aspx上面的接口服务,获取数据后对数据用Android的特有展现方式展现在手机屏幕上,并且完成交互操作,获取收据并且成功展示后,

21、通过本地化的管理对数据进行本地化的存储和管理。利用SOAP协议通过手机网络获取数据后,就会对各模块中需要用到的对象进行实例化,实例化的时候用到的是单例模式,以便不同的界面调用相同的内容,这是本软件资源共享的一个处理方式,在获取数据的时候利用进度条通知用户此时是在获取数据,而获取数据的动作时放在了区别于主线程的一个分线程中,当获取数据完毕后,利用Android中独有的Handler通知界面UI处理,此时所做的处理时关闭进度条,在Android中如果不同线程之间需要影响UI界面,就必须要使用Handler,否则就会报出:AndroidRuntime(28964):atAndroid.app.Act

22、ivityThread.main(ActivityThread.java:3703)的错误,Handler在本软件的制作过程中是必不可少的,在完成展示后,专门为用户设计了收藏的功能,不再需要经过一定的寻找过程来查找想要的数据,此时使用的是Android使用的小型关系型数据库sqlite3,是一种小巧快速并且功能强大的数据库。2.2.1 利用SOAP技术与网络接口交互SOAP采用了已经广泛使用的两个协议: 和XML。 用于实现 SOAP 的RPC 风格的传输, 而XML 是它的编码模式。采用几行代码和一个XML 解析器, 服务器( MS 的 IIS 或 Apache) 立刻成为SOAP 的 OR

23、BS。SOAP 通讯协议使用 来发送XML 格式的信息。 与RPC 的协议很相似,它简单、 配置广泛,并且对防火墙比其它协议更容易发挥作用。 请求一般由 Web 服务器软件(如 IIS 和Apache)来处理, 但越来越多的应用服务器产品正在支持 。XML 作为一个更好的网络数据表达方式( NDR)。SOAP 把 XML 的使用代码化为请求和响应参数编码模式, 并用 作传输。具体地讲, 一个SOAP 方法可以简单地看作遵循SOAP编码规则的 请求和响应, 一个 SOAP 终端则可以看作一个基于 的URL, 它用来识别方法调用的目标。像CORBA/ IIOP一样, SOAP不需要具体的对象绑定到

24、一个给定的终端, 而是由具体实现程序来决定怎样把对象终端标识符映像到服务器端的对象。 在使用本协议过程中需要定义一个WSDL 如:Private static final String WSDL = :/ webxml /WebServices/WeatherWebService.asmx?wsdl。SOAP是个通信协议, SOAP在 协议的基础上,把编写成XML的REQUEST参数, 放在 BODY上提交个WEB SERVICE服务器(SERVLET,ASP等等) 处理完成后,结果也写成XML作为RESPONSE送回用户端,为了使用户端和WEB SERVICE可以相互对应,可以使用WSDL作

25、为这种通信方式的描述文件,利用WSDL工具可以自动生成WS和用户端的框架文件,SOAP具备把复杂对象序列化捆绑到XML里去的能力。2.3 Android SDK常见公共类库介绍2.3.1 sqlite3数据库的使用相关类库介绍本软件代码编写过程中对数据库的操作主要涉及三个工具类,分别是:1. Android.database.sqlite.SQLiteDatabase;2. Android.database.Cursor;3. Android.database.sqlite.SQLiteOpenHelper;创建和更新数据库必须继承Android.database.sqlite.SQLiteO

26、penHelper;继承这个类必须实现一个构造方法和两个覆写方法,否则是不可以使用的。下面是主要代码说明:public class ChanneldbHelper extends SQLiteOpenHelper private static final String DATABASENAME = assistantchannel.db; / 数据库名称private static final int DATABASEVERSION = 1;/ 数据库版本public ChanneldbHelper(Context context) super(context, DATABASENAME, n

27、ull, DATABASEVERSION);/ TODO Auto-generated constructor stubOverridepublic void onCreate(SQLiteDatabase db) / TODO Auto-generated method stubdb.execSQL(CREATE TABLE channel (id integer primary key autoincrement, channelno integer ,channelname varchar(20);/ 执行有更改的sql语句Overridepublic void onUpgrade(SQ

28、LiteDatabase db, int oldVersion, int newVersion) / TODO Auto-generated method stubdb.execSQL(DROP TABLE IF EXISTS channel);onCreate(db);2.3.2 Android界面Activity介绍Android的界面是由每一个成为Activity的java类组成的,这个类库是制作Android软件必须使用的,只有使用了这个才可以让用户看得见,本类中有几个常用的覆写方法来表示界面的生存周期,分别是:onCreate(),onStart(),onResume(),onPau

29、se(),onStop(),onDestroy(),onRestart()七个方法。Activity的生命周期图,如图2-1所示: 图2-1 Android Activity生存周期图第3章 系统需求分析3.1 可行性研究该阶段通过对系统总目标的初步调研与分析,提出可行性方案并进行论证。在此,主要从技术可行性、经济可行性和操作可行性三方面进行分析。3.1.1 经济可行性本软件采用手机软件的形式呈现,与传统的pc软件相比具有,携带方便,随之随地获取信息的特点,不受地理和时间的限制的特点,可以充分充分利用人们的闲暇时间,从这个角度看,该软件可行。3.1.2 技术可行性开发工具:Eclipse Cl

30、assic 3.7.2数据库环境:sqlite3系统环境:Microsoft Windows XP或以上版本软件实现是依靠基于Android系统的开发技术,使用的是java为主的开发语言进行开发,再加上SOAP技术进行数据交互。3.1.3 操作可行性软件采用最主流的Android软件应用开发风格,并使用Android的原生组件进行开发,界面友好,简洁易懂,组建布局具有诱导性,用户使用极其方便快捷。3.2 性能需求分析为了保证软件能够长期、安全、稳定、可靠、高效地在Android设备上运行,本系统应该满足以下性能需求。3.2.1 实用性原则充分利用手机的2G/3G网络,为本软件提供信息支持,充分

31、考虑用户获取信息的心理需求,在简洁实用的基础上对软件界面层级进行布局。3.2.2 可扩展性与可维护性原则为适应将来的发展,软件应该具有良好的可扩展性和可维护性。系统设计尽可能模块化、组件化,由于Android设备分辨率的各不相同,使软件可灵活配置,适应不同的的Android终端设备。系统的可扩展性应包括能接纳已有的系统和在今后系统软硬件扩展时,能有效地保护已有的资源建设。当用户的需求有所改变时,可以对其快速的配置改变,以应对用户的需求,有一个较好的应用平台Android设备,能容易地安装和卸载。系统易于扩充升级,既能满足当前业务的需求,将来的需求改变升级也被考虑在内。3.2.3 安全可靠性原则

32、本软件是基于手机设备使用的,其安全性与其他的应用软件是一样的,本软件不会残留用户任何的隐私信息。3.2.4 用户界面美观原则界面经过对用户心理的调研和统计后。并参考时下流行的软件风格进行设计,在此基础上,加入了对用户具有诱导性的按键设计,使得用户在初次使用的时候就会使用,而不需要在使用的时候进行特别的学习和指导。3.2.5 准确性与原则性原则软件的准确性是成败的关键,本软件最核心的技术便是通过SOAP技术与互联网上提供的接口进行交互,本软件采用特殊处理来保证数据获取的准确性和及时性,从软件的布局还是数据呈现方面,都是经过对用户心理的研究和与其他数据对比的来的。3.2.6 易用性原则软件是And

33、roid平台上的软件,自然保留了Android软件的应用性原则,平易近人,不需要额外学习,看到任何一个界面都不会不知所措,会有不同含义的图标进行提示下一步操作,保证用户使用时不会迷路。3.3 数据需求分析表3-1 信息输入输出信息输入信息处理信息输出用户选择天气预报城市软件通过互联网获取该城市信息后筛选有用的信息通过软件自动筛选后输出有用的信息用户输入手机号软件将通过互联网获取该手机号的相应信息显示该手机的相应信息用户通过层级选择电视频道软件通过互联网查询该电视频道的电视节目预告信息显示该电视频道的电视节目预告输入想要翻译的单词软件通过互联网查询相应的单词译文显示该单词的译文收藏夹城市管理对数

34、据库中的城市信息管理刷新收藏夹中城市列表收藏夹手机号管理对数据库中的手机号信息管理刷新收藏夹手机号列表收藏夹电视频道管理对数据库中的电视频道管理刷新收藏夹电视频道的列表收藏夹单词管理对数据库中的单词本管理刷新收藏夹单词的列表第4章 系统设计4.1 系统总体结构设计在设计一款软件时一般都会把它分成几个模块,在模块的基础上还会再分小模块,这样就达到了软件模块化设计的要求,然后再对各个小模块进行详细设计和编写,采用模块化的管理方式可以使软件结构更清晰,也使得软件的管理更有秩序,使别人容易理解和阅读,但是这些模块也要根据别的模块来设计和约束,不能随便设计脱离框架,设计完成后需要把每个设计完成的模块根据

35、总体框架结合起来。根据本软件的功能需求,将本软件分为以下几个功能模块,如图 4-1所示:图4-1 整体框架图4.2 系统静态模型设计根据系统需求可以识别系统中存在的对象。从需求中可知我们至少创建4个类:天气类、手机号码类、电视节目类和翻译结果类。系统和用户交互时修要直观的图形化界面,所以我们需要很多用户界面类。本项目需要7个用户界面类,分别是主界面类(AssistantActivity)、天气预报界面类(WeatherActivity)、手机号助手界面类(PhoneActivity)、电视节目预告界面类(TVareaActivity)、翻译界面类(TranslatorActivity)、收藏夹

36、界面类(MarkActivity)、天气小贴士界面类(TipsActivity)、城市收藏界面类(CityMarkActivity)、电视频道收藏界面类(TVchannelMarkActivity)、单词本界面类(WordMarkActivity)。确定了系统的类后需要确定类之间的关系,如图4-2所示:图4-2系统静态模型4.3 系统数据库模型设计4.3.1 E-R图E-R方法就是一种实体-关系方法,而其使用的工具就是E-R图。E-R图由实体、实体的属性以及实体之间的关系三部分组成,实体是具有相同的性质并且彼此之间可以相互区分的现实世界对象的集合;属性是实体所具有的特征,它是描述实体或者关系的

37、性质的数据项;实体之间的关系通过直线连接。1. 城市天气数据E-R图,如4-3所示:图4-3 城市实体图2. 电视频道节目数据E-R图,如图4-4所示:图4-4 电视频道实体图3. 手机号相关信息数据E-R图,如图4-5所示:图4-5 手机号实体图4. 翻译结果数据E-R图,如图4-5所示:图4-6 单词实体图4.3.2 数据库的设计1. 表4-7为天气预报信息表city,该表记录一个城市一天的天气信息。表4-7 city列名数据类型允许空说明idintegerN主键,递增citynamevarchar(8)Y城市名refreshtimevarchar(8)Y刷新时间temperatureva

38、rchar(5)Y温度dateandcloudvarchar(10)Y云层windvarchar(5)Y风况weather_picvarchar(2)Y天气情况图片代码weather_descriptionvarchar(20)Y天气详情weather_tipsvarchar(20)Y天气小贴士tom_temperaturevarchar(10)Y明日天气tom_dateandcloudvarchar(6)Y明日云层tom_windvarchar(6)Y明日风况tom_weather_picvarchar(2)Y明日天气图片代码after_tom_temperaturevarchar(6)Y后

39、天天气after_tom_dateandcloudvarchar(6)Y后天云层after_tom_windvarchar(6)Y后天风况after_tom_weather_picvarchar(2)Y后天天气图片代码citydescriptionvarchar(20)Y城市简介2. 表4-8为手机号信息表phone,该表记录手机号的信息。表4-8 phone列名数据类型允许空说明idintegerN主键,递增phonenumvarchar(10)Y手机号码phoneprovincevarchar(5)Y手机号所在省份phonecityvarchar(5)Y手机号所在城市phonetypeva

40、rchar(5)Y手机号类型3. 表4-9为电视节目预告信息表channel,该表记录电视节目预告的信息。表4-9 channel列名数据类型允许空说明idintegerN主键channelnovarchar(2)Y电视频道代码channelnamevarchar(5)Y电视频道名字programvarchar(20)Y电视节目详情4. 表4-10为词汇翻译信息表wordmark,该表记录电视节目预告的信息。表4-10 wordmark列名数据类型允许空说明idintegerN主键,递增wordvarchar(5)Y单词soundvarchar(6)Y读音drawvarchar(6)Y笔画tr

41、anslationvarchar(10)Y翻译译文sentencesvarchar(20)Y例句suggestvarchar(10)Y建议词汇第5章 系统实现本章介绍本系统的各个模块的设计和实现。首先在Eclipse中配置好ADT和Android SDK等开发环境,然后新建一个Android项目,项目名为assitant,然后在Android项目中的AndroidManifest.xml文件中配置本软件需要使用的权限。个人助手软件的主要功能有:天气预报,手机号查,电视节目预告,翻译助手,收藏夹。本软件是一个结合手机用户特别是智能手机用户常用功能的一个软件平台,本软件可以通过手机网络快速获取最新

42、的咨询,获取信息后可以对这些信息进行个性化管理以方便用户后续使用。本软件包括的具体功能如下:1.天气预报的查询及城市的管理2.手机号相关信息的查询和管理3.电视节目的查询及其管理4.中英文双向翻译及单词本的管理5.收藏夹的管理5.1 天气预报的查询及城市的管理5.1.1 天气预报的数据获取实现功能模块体现在首界面的城市选择和天气预报的城市选择,点击城市图标,就可以看到全国各个省份的信息呈现,点击省份就可以看到该省份下辖的各个城市包括部分县级市的列表,点击省份会通过网络调用互联网提供的数据接口,根据省份来进行交互,获取下辖的城市列表,再点击城市获取城市天气相关数据。具体页面如图5-1所示:图5-

43、1主界面主要代码显示如此下:private static final String targetNameSpace = :/WebXml /;private static final String WSDL = :/ webxml /WebServices/WeatherWebService.asmx?wsdl;private static final String getSupportProvince = getSupportProvince;private static final String getSupportCity = getSupportCity;private static

44、final String getWetherbyCityName = getWeatherbyCityName;private static final String getStockInfo = getStockInfo;private static final String TAG = WebServiceHelper;public List getProvince() List provinces = new ArrayList();SoapObject soapObject = newSoapObject(targetNameSpace,getSupportProvince);Soap

45、SerializationEnvelope envelope = newSoapSerializationEnvelope(SoapEnvelope.VER11);envelope.dotNet = true;envelope.bodyOut = soapObject;envelope.setOutputSoapObject(soapObject);Android Transport Transtation = newAndroid Transport(WSDL);try Transtation.call(targetNameSpace + getSupportProvince, envelo

46、pe);SoapObject result = (SoapObject) envelope.getResponse();int count = result.getPropertyCount();for (int index = 0; index count; index+) provinces.add(result.getProperty(index).toString();System.out.println(result.getProperty(index).toString()+ result.getProperty(index).toString(); catch (IOExcept

47、ion e) / TODO Auto-generated catch blocke.printStackTrace(); catch (XmlPullParserException e) / TODO Auto-generated catch blocke.printStackTrace();return provinces;public List getCitys(String province) List citys = new ArrayList();SoapObject soapObject = newSoapObject(targetNameSpace, getSupportCity

48、);soapObject.addProperty(byProvinceName, province);SoapSerializationEnvelope envelope = newSoapSerializationEnvelope(SoapEnvelope.VER11);envelope.dotNet = true;envelope.setOutputSoapObject(soapObject);Android Transport Transport = newAndroid Transport(WSDL);try Transport.call(targetNameSpace + getSu

49、pportCity, envelope);SoapObject result = (SoapObject) envelope.getResponse();int count = result.getPropertyCount();for (int index = 0; index count; index+) citys.add(result.getProperty(index).toString(); catch (IOException e) e.printStackTrace(); catch (XmlPullParserException e) e.printStackTrace();

50、return citys;public List getWeatherBycity(String city) throws ExceptionList weathers = new ArrayList();SoapObject soapObject = newSoapObject(targetNameSpace,getWetherbyCityName);soapObject.addProperty(theCityName, city);SoapSerializationEnvelope envelope = newSoapSerializationEnvelope(SoapEnvelope.V

51、ER11);envelope.dotNet = true;envelope.setOutputSoapObject(soapObject);Android Transport Transport = newAndroid Transport(WSDL);try Transport.call(targetNameSpace + getWetherbyCityName, envelope);SoapObject result = (SoapObject) envelope.getResponse();int count = result.getPropertyCount();for (int in

52、dex = 0; index count; index+) weathers.add(result.getProperty(index).toString(); catch (IOException e) e.printStackTrace(); catch (XmlPullParserException e) e.printStackTrace();return weathers;5.1.2 天气预报的查询界面实现在连接网络获取数据的时候我采用了多线程和Android中的Handler技术进行界面更新,点击城市后立即关闭当前Activity(Android中对页面的称呼),返回到进入到选择城

53、市的页面,在这里可能是主页面还可能是天气预报页面,当关闭城市选择页面的时候就会对打开它的页面进行刷新,这里是利用了Android中的activity的生存周期OnResume()方法进行控制的。当选择城市后出现一个进度条,在进度条显示的时间里面,就在进行天气信息的下载,这个时候进度条显示时间的长短就取决于但是手机所处环境的网络条件和该城市天气信息的多少了。等到下载完毕后就会自动关闭进度条,然后实例化一个城市天气的单例对象,这样子之后就可以在界面展示单例的各个属性信息。如果当时网络条件很差或者干脆就是不通的那么就会捕获该错误然后还是利用Handler技术进行界面的展示,这里是利用一个对话框的形式

54、展示的。具体页面如图5-2所示:图5-2 天气预报界面主要代码显示如下:private Handler handler = new Handler() Overridepublic void handleMessage(Message msg) / TODO Auto-generated method stubsuper.handleMessage(msg);switch (msg.what) / case 1 : probar.setVisibility(View.INVISIBLE);case 1: setcontent();progressDialog.dismiss();break;c

55、ase 2:dialog();break;private void setcontent() / TODO Auto-generated method stubloccity.setText(weatherbean.getCityname();tips.setText(weatherbean.getWeather_tips();index_wind.setText(weatherbean.getWind();index_temperature.setText(weatherbean.getTemperature();System.out.println(weatherbean.getWeath

56、er_pic()+ weatherbean.getWeather_pic();index_wether.setImageResource(parseIcon(weatherbean.getWeather_pic();Overridepublicvoid onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.index);progressDialog = new ProgressDialog(AssistantActivity.this);progressDia

57、log.setMessage(请稍候!正在初始化天气数据!);progressDialog.show();Thread thread = newThread(new Runnable() Overridepublicvoid run() Weathertool tool = newWeathertool(AssistantActivity.this);try tool.getweatherinfo();Message mes = newMessage();mes.what = 1;handler.sendMessage(mes); catch (Exception e) Message mes

58、 = newMessage();mes.what = 2;handler.sendMessage(mes););thread.start();findview();5.1.3 天气预报中城市的收藏管理实现本功能主要是用于对收藏夹中的城市进行管理,主要涉及增加,删除的操作,在城市列表中点击收藏城市就能看到一个收藏城市的界面,之后只需要点击城市的条目就可以收藏该城市了,再点击的过程中用到了sqlite3的操作,再点击的时候就使得当前的城市加入到手机设备的数据库中并且显示提示是否加入成功,如果数据表中已经存在该城市了,那么就提示已经存储过了,就不需要再次的存储了,点击完成收藏就可以完成当前的收藏操作,继续进行选择城市查看天气的操作了,收藏城市不只是在直接进入城市选择的时候有,在收藏夹中也是可以进入的,点击菜单,再点击添加城市就可以进入到城市的选择界面,当然是从选择省份开始的,在这里是重用了之前的城市选择的界面,进入的界面就是那个,但是当点击省份的时候却直接进入到了城市的收藏界面,而不是城市的选择界面,在这里是做了特殊的处理,在这里用到了Se

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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