基于Android的天气信息提醒软件的设计与实现
- 格式:pdf
- 大小:327.03 KB
- 文档页数:3
Software Development ・软件开发Electronic Technology & Software Engineering 电子技术与软件工程・ 75招投标评标系统,能够增强评标的客观性,大大降低人为因素的影响,经实践验证,该系统能够满足建筑工程评标需求。
参考文献[1]何伯森.国际工程招投标[M].北京:水利电力出版,1996.[2] THOMAS LSAATY. Decision making-the analytic hierarchy and net work processes(AHP/ANP)[J]. Journal Of Systems Science And Systems Engineering,2004(03).[3]KANGM AO WANG, CLEMENT K WANG, CHUNHU, Analytic hierarchy process with fuzzy scoring in evaluating multidisciplinary R&D projects in China[J].IEEE Transaction On Engineering Management,2005(02).[4]张跃,邹寿平,宿芬.模糊数学方法及其应用[M].太原:煤炭工业出版社,1992.[5]陶庆,郑文堂.工程项目评标系统数学构模[J].数理统计与管理,2002,21(6):37-40.[6]姚金星,李彩霞.伙伴关系模式下层次分析法在评标中应用[J].水利与建筑工程学报,2008,12(6):84-86.[7]全国一级建造师执业资格考试用书编写委员会.建设工程法规及相关知识[M].北京:中国建筑工业出版社,2004.作者简介陈必科(1992-),男,江苏省连云港人,徐州工程学院信息与计算科学11级学生。
刘风华(1976-),女,讲师,研究方向为计算机应用、数据挖掘技术。
作者单位徐州工程学院数学与物理科学学院 江苏省徐州市 221008【关键词】安卓 天气信息 提醒机制2007年11月,Google 公司第一次公开展示了Android 操作系统,2008年10月,第一基于Android 的天气信息提醒软件的设计与实现文/刘宝 冯军 朱庆廷台Android 智能手机面世。
仅仅一年的时间,Android 操作系统的发展令人瞠目。
不过从现在来看,那也不过是一个开始。
根据国际数据公司(IDC)全球季度手机追踪的数据显示,在2013年的第四季度,Android 设备占所有手机出货量的78.1%。
在Android 蓬勃发展的态势下,依赖于Android 系统的手机应用也呈现出“病毒式”增长。
纵观整个Android 应用市场,可以发现,较之于娱乐类以及学习类应用,生活类应用因其特定的功能需求而并没有发展的尽善尽美,如天气类手机应用都陷入了一种以用户个人为中心、基于查询为主的固定模式。
基于上述考虑,本文将目光放在了天气这一与人们日常生产活动密切相关的内容上。
1 软件需求分析目前市场上一些优秀的天气查询软件,如:墨迹、天气通等,都具有及时、准确、完备的信息内容、多元化的功能、良好的UI 设计等优势。
但在需求分析过程中,根据用户反馈的信息,发现这些软件也存在一些不足,如:信息内容主要供个人使用,即使有共享,共享方式也过于单一;提醒方式过于局限;为了赢得用户青睐过分追求界面的炫丽而占用较多系统资源等。
本软件在研究和分析上述缺陷与不足的基础上,采用软件工程的方法,设计完成了基于Android 平台的天气信息提醒软件——“移动天气”的开发,最终实现了天气信息的查询、本机定时天气提醒、恶劣天气短信他人提醒、来电去电归属地天气提醒、天气信息短信一键发送的功能,此外还有一些辅助功能,如日历、记事本、分享等。
整个设计过程采用Java 编图4:评标系统界面图<<上接74页76 ・电子技术与软件工程 Electronic Technology & Software Engineering软件开发・ Software Development程语言,在Eclipse+Android ADT 环境下进行软件开发,也运用到了调用Android 组件连接新浪官网的天气API 接口获取天气信息等网络技术。
软件功能模块图,如图1所示。
2 功能与创新点目前市场上已经有了许多天气软件,并且也能够为用户提供丰富的服务。
但这些软件的天气查询功能是基于用户个人的,而“移动天气”软件的功能不仅针对用户个人,更是面向其交际圈,从而能够达到更加全面的天气信息的共享与交流。
其具体功能包括:2.1 基本的天气信息查询与显示显示当天及未来3天的天气状况;2.2 多方位信息提醒功能来电去电归属地天气提醒,本机定时天气提醒,恶劣天气短信他人提醒,天气信息短信一键发送等,使提醒范围更全面,不再局限于自身,更涵盖自己的亲友;2.3 日历、记事本功能与其它天气查询软件相比,“移动天气”软件的创新点主要体现在:2.3.1 本机定时天气提醒满足用户自身的天气提醒需求。
当设定的时间点到达时自动弹出消息框进行提醒,以闹钟加消息框的形式承载天气信息,避免用户忘记关注天气变化;2.3.2 天气信息短信一键发送用户可将天气信息通过短信形式一键发送到其它联系人,达到了天气信息共享与交流的目的;2.3.3 恶劣天气短信他人提醒自动监控关心好友所在地的天气信息,如果达到设定的提醒条件则以短信形式自动发送天气信息提醒好友注意天气变化,达不到条件则在下一次时间点到达时继续监听;2.3.4 来电去电归属地天气提醒如图2所示,用户在通话时可显示对方归属地天气状况,方便用户及时通知对方关注天气变化、防寒保暖等;2.3.5 多功能拓展日历、记事本等功能,使软件提供更全面的服务,更符合现代人对软件使用的多元化、多功能性需求。
3 软件实现由于本软件具体实现的功能较多,在此仅针对部分功能的实现方法做出阐述。
3.1 来电去电归属地天气提醒功能实现此功能的实现主要包含三个方面的内容,先是要获取到号码的归属地信息,然后再根据该信息获取各类天气信息,最后加以显示。
3.1.1 号码归属地获取这里的号码归属地信息获取实际上是通过发送HTTP 请求访问WEBXML 网站提供的API 接口来实现的。
首先使用myxml=MobileXML.getInstance().requestXML(comingNumber.toString())将通话号码设置为xml 格式,然后将其作为请求提交给服务器,服务器根据请求返回一个字符串,其具体格式为:“手机号码:省份名称 城市名称 号码类型”,而这些信息在后续使用中可以直接提取。
3.1.2 获取归属地的天气信息获得了来电或去电号码的归属地后即进行归属地天气信息的获取。
获取天气信息的过程实际上也是一个网络通信的过程,本软件采●注:基金项目:本文是国家级大学生科技创新项目“基于Android 系统的天气信息提醒软件开发”(项目编号:SZDG2012033)的成果。
图1:软件功能模块图图2来电去电归属地天气提醒Software Development ・软件开发Electronic Technology & Software Engineering 电子技术与软件工程・ 77用新浪天气提供的天气信息,通过向其天气API 接口发送查询请求,服务器接收到请求后返回特定格式的天气信息。
例如在浏览器的地址栏输入/xml.php?city=南京&password=DJOYnieT8234jlsK &day=0,点击回车后,服务器就会返回一个xml 文档并由浏览器解析呈现。
上述内容其实就是一个向API 接口发送请求,并接收显示xml 文档过程。
返回的xml 文档中包括了一些有关天气的信息,如时间、城市名称、天气状况、最高/最低温度、风向风力、紫外照射强度等信息。
浏览器的地址栏输入的内容中,“city=南京”表示查询南京的天气,也可改为其它城市名称,即查询相应城市天气状况;“day=0”表示查询当天天气信息,将数字改为1、2、3即表示查询明天、后天、大后天的天气信息。
软件获得返回的xml 文档之后,其中的信息并不能被程序直接使用,需要进一步将文档中有用的信息解析提取出来。
通常在Android 开发中,有 3种方式可用于解析xml 文档,即DOM ,SAX 和PULL 。
对本软件而言,解析xml 文档是其开发过程中至关重要的一点,不同的解析方式会带来不同的效果。
在综合分析三种解析方式特点的基础上,出于使软件内存占用最小的角度考虑,本软件采用SAX 方式进行解析,主要实现过程分三步,第一步是创建一个SAX 解析器,第二步是要初始化xml 事件处理器并对它进行绑定,最后一步则是解析xml 文档,得到最终的解析内容。
要注意的是,软件的xml 事件处理程序定义放在一个单独定义的类中。
3.1.3 天气信息显示Toast 是Android 中用来显示信息的一种机制,在来电去电归属地天气信息提醒功能的通话界面中,天气信息的显示就是采取的这种方式。
具体代码也包含两个方面,一个是Toast 显示内容代码:Toast toast=Toast.makeText(context ,msg ,Toast.LENGTH_SHORT) ;其中msg 就是所要显示的信息。
另一个则是Toast 显示位置代码:toast.setGravity(Gravity.TOP|Gravity.CENTER_HORIZONTAL ,0,0);此处是将Toast 的位置放置在了通话界面的正上方。
3.2 天气信息短信一键发送此功能的实现要点有两点,一是获取发送请求并传递该请求,二是根据请求自动创建短信文本内容。
3.2.1 功能跳转软件在“本机定时提醒”和“城市详细天气信息”都布局了一个“发送”Button ,并定义它的OnClick 方法:C l a s s B u t t o n L i s t e n e r i m p l e m e n t s OnClickListener {public void onClick(View v) {Intent intent = new Intent();//系统默认的action ,用来打开默认的短信界面i n t e n t.s e t A c t i o n (I n t e n t.A C T I O N _SENDTO);//需要发短信的号码intent.setData(Uri.parse("smsto:"));intent.putExtra("sms_body", message);startActivity(intent);}}当用户点击该按钮时即执行上述代码,跳转到短信发送界面,同时短信文本内容已经由软件编辑完成,但用户可继续编辑,下面叙述短信文本的自动生成方法。