77范文网 - 专业文章范例文档资料分享平台

(完整版)基于Android平台的天气预报系统的设计与开发毕业论文(4)

来源:网络收集 时间:2018-12-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

用户不单击城市选择按钮的时候,则会显示的是南京近两天的天气情况。如图4.3所示。第一次运行时,我是通过在手机文件系统中判断是否存在一个名为shared_prefs的文件来判断是否为第一次运行,如果存在则不是第一次运行,系统会继续执行向下执行代码,如果系统中不存在该文件,则为第一次运行该程序,程序弹出对话框告诉用户。

图 4.3 第一次运行效果图

在主程序界面,我运用的主要是ViewFlipper组件,通过该组件可以实现滑动显示界面,不过在设置滑动界面之前我们要先设定滑动的动画。该动画实在res\\anim中设置,如图4.4所示为左右滑动效果布局

图 4.4 界面滑动布局

其中left_in中的代码为:

其他四个与此基本相似,在此不再列出。

当我们定义了滑动效果之后还要在main.xml中把想要滑动的布局包含进去。

android:id=\ layout=\/>

\有了这个布局之后我们就可以在主程序界面调用界面进行切换了。主程序实现触屏监听接口,监听触摸时的x,y坐标,以及当手指离开时的坐标,如果两者之间的距离大于或小于100像素,则认为想要实现滑动。

public boolean onTouch(View v, MotionEvent event) {

if(event.getAction()==MotionEvent.ACTION_DOWN){

touchDownX = event.getX(); return true;

}else if(event.getAction()==MotionEvent.ACTION_UP){

touchUpX = event.getX();

if(touchUpX-touchDownX>100){//从左往右滑动

viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,android.R.anim.sli

de_in_left));

viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,android.R.anim.sli

de_out_right));

viewFlipper.showPrevious();

}else if(touchDownX-touchUpX>100){

viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,

R.anim.right_in));

viewFlipper.setAnimation(AnimationUtils.loadAnimation(this,R.anim.left_out)); }

}

return false;

}

return true;

viewFlipper.showNext();

获取天气信息并显示

天气预报系统最重要的当然是如何才能有效的获取天气信息了,要想获取实时的天气信息,我们就要访问专门提供天气信息的网站把网站返回的信息解析出想要的信息并显示在手机上。通过网上的搜索,我找到了一个提供webservice的网站: 通过向这个网站提供参数就可以获取指定城市的天气信息了,该网站是从中央气象台接收的信息,数据准确可靠。每隔两个小时更新一次天气情况,具有很好的实时性。

Webservice的出现成功的解决了不同平台和语言之间进行数据交换的问题,它主要使用XML文档来传递消息,并将该消息发送给任何请求对象,由于不同系统对XML的完美支持,因此从根本上完善了跨平台服务,任何时刻、任何平台我们可以使用任何语言来访问该Webservice服务。对于Webservice使用者而言,webservice API与任何操作平台无关,它只是以XML语言作为数据交换格式。

Webservice平台主要涉及到的技术是SOAP(Simple Object Access Protocol),WSDL(Web Service Description Language)

SOAP依赖于XML文档来构建,一条SOAP消息就是一份特定的XML文档,SOAP主要包含三个方面的主要元素:

(1) 根元素,该元素是必填的。其中SOAP消息用来传递的数据的XML文档以该元素作为根元素

(2) 元素,该元素是选填的。它包含了SOAP消息的头信息

(3) 元素,该元素是必填的。它包含所有的调用和相应的内容

Java本身提供了很丰富的Web Service支持,比如Sun公司制定的JAX-WS 2规范,Apache开源组织提供的Axis1,Axis2,CXF等。我们可以

使用Google公司为Android平台开发的专门处理Webservice信息的ksoap2-android进行客户端的开发。使用该第三方包的方法为:

1.创建HttpTrasportSE对象

2.创建SoapSerializationEnvelope对象

3.创建SoapObject对象,创建该对象时需要传入所要调用Web Service的命名空间

4.如果有参数需要传给WebService服务器端,调用SoapObject对象的addProperty(String name,Object value)方法来设置参数,该方法的name参数指定参数名,value指定参数值

5.调用SoapSerializationEnvelope的setOutputSoapObject()方法,或者直接对bodyout属性赋值,将前两步创建的SoapObject对象设 SoapSerializationEnvelope的传出SOAP消息体

6.调用对象的call()方法,并以SoapSerializationEnvelope作为参数调用远程的WebService

7.调用完成后,访问SoapSerializationEnvelope对象的bodyin属性,该属性返回一个SoapObject对象,该对象就代表了Web Service的返回消息,解析该SoapObject对象,即可获取调用Web Service的返回值。 基于此编写调用webservice服务的类WebServiceUtil 返回城市列表

public static List getProvinceList()

{

// 需要调用的方法名(获得本天气预报Web Services支持的洲、国内外省份

和城市信息)

//String methodName = \

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库(完整版)基于Android平台的天气预报系统的设计与开发毕业论文(4)在线全文阅读。

(完整版)基于Android平台的天气预报系统的设计与开发毕业论文(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/381197.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: