当前位置:首页 > 黑客教程 > 正文内容

android天气论文(Android天气)

hacker3年前 (2022-10-05)黑客教程138

本文目录一览:

android开发 怎么显示天气

本经验将介绍Android如何获取天气预报主要使用了中国天气网的接口,使用webView显示。

工具/原料

Android Studio

*** /步骤

首先我们打开下载安装好的Android Studio然后新建一个项目,我这里为了方便就直接添加一个Activity了

然后我们添加界面布局代码,布局如下:

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns:android=""

android:orientation="vertical"

android:gravity="center_horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

LinearLayout

android:orientation="horizontal"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

Button

android:id="@+id/bj"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/bj" /

Button

android:id="@+id/sh"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/sh" /

Button

android:id="@+id/heb"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/heb" /

Button

android:id="@+id/cc"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/cc" /

Button

android:id="@+id/sy"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/sy" /

Button

android:id="@+id/gz"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/gz" /

/LinearLayout

WebView android:id="@+id/webView1"

android:layout_width="wrap_content"

android:layout_height="0dip"

android:focusable="false"

android:layout_weight="1"

/

/LinearLayout

然后我们添加后台代码:

package com.basillee.asus.demo;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.webkit.WebChromeClient;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.Button;

public class MainActivity7 extends Activity implements OnClickListener {

private WebView webView; //声明WebView组件的对象

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main_activity7);

webView=(WebView)findViewById(R.id.webView1); //获取WebView组件

webView.getSettings().setJavaScriptEnabled(true); //设置JavaScript可用

webView.setWebChromeClient(new WebChromeClient()); //处理JavaScript对话框

webView.setWebViewClient(new WebViewClient()); //处理各种通知和请求事件,如果不使用该句代码,将使用内置浏览器访问网页

webView.loadUrl(" "); //设置默认显示的天气预报信息

webView.setInitialScale(57*4); //放网页内容放大4倍

Button bj=(Button)findViewById(R.id.bj); //获取布局管理器中添加的“北京”按钮

bj.setOnClickListener(this);

Button sh=(Button)findViewById(R.id.sh); //获取布局管理器中添加的“上海”按钮

sh.setOnClickListener(this);

Button heb=(Button)findViewById(R.id.heb); //获取布局管理器中添加的“哈尔滨”按钮

heb.setOnClickListener(this);

Button cc=(Button)findViewById(R.id.cc); //获取布局管理器中添加的“长春”按钮

cc.setOnClickListener(this);

Button sy=(Button)findViewById(R.id.sy); //获取布局管理器中添加的“沈阳”按钮

sy.setOnClickListener(this);

Button gz=(Button)findViewById(R.id.gz); //获取布局管理器中添加的“广州”按钮

gz.setOnClickListener(this);

}

@Override

public void onClick(View view){

switch(view.getId()){

case R.id.bj: //单击的是“北京”按钮

openUrl("101010100T");

break;

case R.id.sh: //单击的是“上海”按钮

openUrl("101020100T");

break;

case R.id.heb: //单击的是“哈尔滨”按钮

openUrl("101050101T");

break;

case R.id.cc: //单击的是“长春”按钮

openUrl("101060101T");

break;

case R.id.sy: //单击的是“沈阳”按钮

openUrl("101070101T");

break;

case R.id.gz: //单击的是“广州”按钮

openUrl("101280101T");

break;

}

}

//打开网页的 ***

private void openUrl(String id){

webView.loadUrl(""+id+" "); //获取并显示天气预报信息

}

}

然后我们点击Android Studio上面的运行按钮:

这里要访问 *** 我们要添加权限:

uses-permission android:name="android.permission.INTERNET" /

6

我们然后可以在模拟器上面可以看到获取的天气情况

android怎样使用天气预报接口 实现天气预报

使用搜索引擎可以得到很多的天气预报接口,这里以某个api为例

参数为city=城市名称

尝试获取南昌的天气预报

南昌

得到下面xml数据

?xml version="1.0" encoding="utf-8"?

resp

  city南昌/city

  updatetime16:55/updatetime

  wendu5/wendu

  fengli3级/fengli

  shidu90%/shidu

  fengxiang北风/fengxiang

  sunrise_106:54/sunrise_1

  sunset_117:19/sunset_1

  sunrise_2/

  sunset_2/

  environment

    aqi26/aqi

    pm2513/pm25

    suggest各类人群可自由活动/suggest

    quality优/quality

    MajorPollutants/

    o344/o3

    co1/co

    pm1014/pm10

    so24/so2

    no227/no2

    time16:00:00/time

  /environment

  yesterday

    date_14日星期五/date_1

    high_1高温 11℃/high_1

    low_1低温 7℃/low_1

    day_1

      type_1阴/type_1

      fx_1无持续风向/fx_1

      fl_1微风/fl_1

    /day_1

    night_1

      type_1小到中雨/type_1

      fx_1北风/fx_1

      fl_13-4级/fl_1

    /night_1

  /yesterday

  forecast

    weather

      date5日星期六/date

      high高温 7℃/high

      low低温 5℃/low

      day

        type中到大雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type小到中雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date6日星期天/date

      high高温 10℃/high

      low低温 5℃/low

      day

        type阴/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type多云/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date7日星期一/date

      high高温 13℃/high

      low低温 6℃/low

      day

        type多云/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type晴/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date8日星期二/date

      high高温 13℃/high

      low低温 7℃/low

      day

        type晴/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type多云/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

    weather

      date9日星期三/date

      high高温 13℃/high

      low低温 10℃/low

      day

        type小雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /day

      night

        type小雨/type

        fengxiang无持续风向/fengxiang

        fengli微风级/fengli

      /night

    /weather

  /forecast

  zhishus

    zhishu

      name晨练指数/name

      value不宜/value

      detail有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。/detail

    /zhishu

    zhishu

      name舒适度/name

      value较舒适/value

      detail白天有雨,人们会感到有些凉意,但大部分人完全可以接受。/detail

    /zhishu

    zhishu

      name穿衣指数/name

      value较冷/value

      detail建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。/detail

    /zhishu

    zhishu

      name感冒指数/name

      value极易发/value

      detail将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。/detail

    /zhishu

    zhishu

      name晾晒指数/name

      value不宜/value

      detail有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。/detail

    /zhishu

    zhishu

      name旅游指数/name

      value较不宜/value

      detail天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。/detail

    /zhishu

    zhishu

      name紫外线强度/name

      value最弱/value

      detail属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。/detail

    /zhishu

    zhishu

      name洗车指数/name

      value不宜/value

      detail不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。/detail

    /zhishu

    zhishu

      name运动指数/name

      value较不宜/value

      detail有较强降水,建议您选择在室内进行健身休闲运动。/detail

    /zhishu

    zhishu

      name约会指数/name

      value不适宜/value

      detail较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,更好在室内促膝谈心。/detail

    /zhishu

    zhishu

      name雨伞指数/name

      value带伞/value

      detail有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。/detail

    /zhishu

  /zhishus

/resp

得到数据后使用XML解析数据即可,更好是建立一个实体类来存储数据

下面是使用DOM方式解析部分数据代码

DocumentBuilder builder = DocumentBuilderFactory.newInstance().newDocumentBuilder();

//is是 *** 连接得到的输入流

Document doc = builder.parse(is);

if(doc==null) throw new Exception();

Element element = doc.getDocumentElement();

NodeList childList = element.getChildNodes();

for(int i=0; ichildList.getLength(); i++){

Element e = (Element) childList.item(i);

String tag = e.getTagName();

String text = e.getTextContent();

if("city".equals(tag)){

                //城市

}else if("updatetime".equals(tag)){

//更新时间

}else if("wendu".equals(tag)){

//即时温度

}else if("fengli".equals(tag)){

//风力

}else if("shidu".equals(tag)){

//湿度

}else if("fengxiang".equals(tag)){

//风向

}

}

android, 开发天气app需要哪些知识??

安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报app编程为例:

public class WebServiceUtil

{

// 定义Web Service的命名空间

static final String SERVICE_NS = "";

// 定义Web Service提供服务的URL

static final String SERVICE_URL = "";

public static List getProvinceList()

{

// 需要调用的 *** 名(获得本天气预报Web Services支持的洲、国内外省份和城市信息)

String methodName = "getRegionProvince";

// 创建HttpTransportSE传输对象

HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);

httpTranstation.debug = true;

// 使用SOAP1.1协议创建Envelop对象

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

// 实例化SoapObject对象

SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);

envelope.bodyOut = soapObject;

// 设置与.Net提供的Web Service保持较好的兼容性

envelope.dotNet = true;

try

{

// 调用Web Service

httpTranstation.call(SERVICE_NS + methodName, envelope);

if (envelope.getResponse() != null)

{

// 获取服务器响应返回的SOAP消息

SoapObject result = (SoapObject) envelope.bodyIn;

SoapObject detail = (SoapObject) result.getProperty(methodName

+ "Result");

// 解析服务器响应的SOAP消息。

return parseProvinceOrCity(detail);

}

} catch (Exception e)

{

e.printStackTrace();

}

return null;

}

public static List getCityListByProvince(String province)

{

// 需要调用的 *** 名(获得本天气预报Web Services支持的城市信息,根据省份查询城市 *** :带参数)

String methodName = "getSupportCityString";

HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);

httpTranstation.debug = true;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);

soapObject.addProperty("theRegionCode", province);

envelope.bodyOut = soapObject;

envelope.dotNet = true;

try

{

// 调用Web Service

httpTranstation.call(SERVICE_NS + methodName, envelope);

if (envelope.getResponse() != null)

{

// 获取服务器响应返回的SOAP消息

SoapObject result = (SoapObject) envelope.bodyIn;

SoapObject detail = (SoapObject) result.getProperty(methodName

+ "Result");

// 解析服务器响应的SOAP消息。

return parseProvinceOrCity(detail);

}

} catch (Exception e)

{

e.printStackTrace();

}

return null;

}

private static List parseProvinceOrCity(SoapObject detail)

{

ArrayList result = new ArrayList();

for (int i = 0; i detail.getPropertyCount(); i++)

{

String str = detail.getProperty(i).toString();

// 解析出每个省份

result.add(str.split(",")[0]);

}

return result;

}

public static SoapObject getWeatherByCity(String cityName)

{

// 根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数

String methodName = "getWeather";

HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);

httpTranstation.debug = true;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);

soapObject.addProperty("theCityCode", cityName);

envelope.bodyOut = soapObject;

envelope.dotNet = true;

try

{

// 调用Web Service

httpTranstation.call(SERVICE_NS + methodName, envelope);

if (envelope.getResponse() != null)

{

// 获取服务器响应返回的SOAP消息

SoapObject result = (SoapObject) envelope.bodyIn;

SoapObject detail = (SoapObject) result.getProperty(methodName

+ "Result");

// 解析服务器响应的SOAP消息。

return detail;

}

} catch (Exception e)

{

e.printStackTrace();

}

return null;

}

}

关于天气的议论文. 800字左右

对于于上一年,我们充满无限的怀念与感激。怀念我们的学习、工作和生活,感激我们的父母、老师和同学。对于新的一年,一个全新的起点,我们每个人都会有一种期盼:明天的我们要更精彩。

新的学期要有新的开始、要有新的希望。爱因斯坦说过“兴趣是真正的老师”。我希望同学们能够发现并培养自己的兴趣,因为兴趣才是主动学习和知识创新的真正来源,我们要抱有责任,全面发展 。刻苦学习的人并不是因为他懂得了要刻苦,而是因为他从来没有感觉到学习的苦,“刻苦”从来都是局外人对行为的概括,而不是刻苦者的自我心理感受。如果父母是破浪的帆船,老师就是雾中的灯塔;如果你是沸腾的钢水,纪律就是规整的模mu2子;如果你是冲天的雄鹰,学校就是你翱翔的天空,人生——还需要你自己来演绎。

电光一闪,一年已然过去。我们又翻开了新的篇章。昨日的失败与辉煌已经过去,关键是把握今天。我们不需要灰心,因为雄鹰翱翔于天空,难免会伤折飞翼,骏马奔驰于大地难免失蹄折骨。只有站在高处的人,才有资格跌下去,而跌下去时,你我依然有尊严,那足以让站着的人感到汗颜。

同学们,松弛的神经又该绷紧了,床头的闹钟又将激起清晨的奏鸣,久违了的灯下又该呈现我们的身影,我们很清楚,前方的路不可能平坦,只会更曲折,更艰险,随着学识的增加,竞争的压力也会日益增进,但我们决不会畏缩,每个人所受的外部压力是相等的,轻松与否是心态的不同而已,以平常心去面对,我们可以变得更强。老师用毕生的心血、汗水和智慧浇灌了我们这一棵棵树苗;我们没有理由,也不应该不茁壮成长。尊敬的老师,请您们放心,在这一个新的学习阶段里,我们一定更加努力,倍加珍惜您们的辛劳和付出,我们定向您交上一份满意的答卷!

在这里,我也想告诉高三的朋友们:你们是等待破茧的蛹,是准备接受6月洗礼的海燕,是将要地考场上实现诺曼底登陆的战士!已经等待了整整十一个春秋,今天同时是你们冲刺的时候了。夸父追日,道渴而死;精卫填海,矢志不渝。坚持到底,我们绝不放弃!

新学期,新气象,今天,我们又踏上了新的征程。让我们在这新一轮朝阳升起的时刻,为了我们的理想共同努力!

android 如何实现获取天气预报信息?

*** 步骤(以安卓5.0为例)

一、打开GPS

二、点主屏的“天气”图标

三、点右上角三个点的图标

四、点“设定”

五、在下图右侧的三个红圈处打上钩,然后点“自动刷新”。

六、根据自己的需要选择自动刷新的时间

七、点“确定”退出

八、可以随时点刷新图标来手动刷新天气。

九、提示

1.适时刷新天气需要开启GPS定位。

2.在没有WIFI的地方刷新天气需要消耗一定的流量,刷新频率越高,消耗流量越多。

阅读剩余的93%

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/210212.html

“android天气论文(Android天气)” 的相关文章

TerraMaster 操作系统漏洞可能使 NAS 设备遭到远程黑客攻击

Hackernews 编译,转载请注明出处: 研究人员披露了 TerraMaster NAS设备的关键安全漏洞的细节,这些设备可以链接到未经身份验证的远程代码执行,且具有最高权限。 埃塞俄比亚网络安全研究公司 Octagon Networks 的 Paulos yibello 在分...

SSLPing 开发者向广大用户致歉:服务积弊太久 已难起死回生

SSLPing 是一款相当实用的工具,在注册并添加了你的服务器后,它就会帮助检查证书、协议、密码和已知漏洞。从 SSL v3 到 TLS 1.2,对于一些大型服务提供商来说,如果未能在证书到期前妥善处理,后续的影响还是相当难以规避的。然而近日,这款免费工具的创作者正在发出寻求帮助的讯号。 (来自:...

西班牙政府证实首相及防长手机被通过“飞马”间谍软件窃听

法新社消息,西班牙政府2日表示,该国首相桑切斯和国防部长罗伯斯的手机在一次“非法的、外部的 ”干预中被通过“飞马”间谍软件窃听。报道还称,西班牙首相府、议会关系与民主记忆大臣费利克斯·博拉尼奥斯·加西亚也证实说,“这不是推测,是非常严重的事实,希望司法部门进行调查。” 法新社报道截图 去年7月,这...

Lapsus$ 事件调查中 伦敦警方已逮捕 7 名 16-21 岁青年

援引 BBC News 报道,伦敦警方已经逮捕了 7 名青年,怀疑他们和近期非常猖獗的黑客组织 Lapsus$ 有关。在一份提交给 The Verge 的声明中,伦敦市警方的探长迈克尔·奥沙利文表示:“伦敦市警方一直在与合作伙伴一起对一个黑客组织的成员进行调查。在调查中有 7 名年龄在 16-21...

分销网络遭黑客攻击后,伊朗加油站停止服务

伊朗国家石油产品分销公司(NIOPDC)的加油站26日停工,原因是网络攻击波及了整个分销网络。 NIOPDC网络在全国拥有3500多个加油站,80多年来一直供应石油产品。 调查机构正在查找造成破坏的原因,目前还没有公开说明幕后黑手的信息,但伊朗正在指责一个敌对国家。 并非全无线索,ISNA 通讯社首...

宜家加拿大分公司通报数据泄露事件 影响约 95000 名客户

当地时间5月6日,宜家(IKEA)加拿大公司表示已经将该公司大约9.5万名客户的个人信息数据泄露事件通报给加拿大的隐私监管机构。宜家(IKEA)加拿大公司在致受影响客户的一封信中表示,可能已被泄露的数据包括客户姓名、电子邮件地址、电话号码和邮政编码。 宜家加拿大公司已通知加拿大隐私专员,因为有95...

评论列表

瑰颈节枝
3年前 (2022-10-05)

 weather      date6日星期天/date      high高温 10℃/high      low低温 5℃/low      day        type阴/type        fengxiang无持续风向/fengxiang        fengli微风级/

澄萌做啡
3年前 (2022-10-06)

w低温 5℃/low      day        type中到大雨/type        fengxiang无持续风向/fengxiang        fengli微风级/fengli      /day 

世味悸初
3年前 (2022-10-05)

dList.getLength(); i++){ Element e = (Element) childList.item(i); String tag = e.getTagName(); String text = e.getTextContent(

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。