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

android天气论文(Android天气)

hacker2年前 (2022-10-05)黑客教程126

本文目录一览:

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的地方刷新天气需要消耗一定的流量,刷新频率越高,消耗流量越多。

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

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

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

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

Lapsus$ 黑客入侵 T-Mobile 的系统并窃取其源代码

Lapsus$黑客组织在3月发生的一系列网络入侵事件中窃取了T-Mobile的源代码,T-Mobile在一份声明中确认了这次攻击,并说”被访问的系统不包含客户或政府信息或其他类似的敏感信息”。在一份私人信息副本中,Lapsus$黑客组织讨论了在其七名青少年成员被捕前一周针对T-Mobile的攻击。...

区块链公司 Ronin 被黑 6.15亿美元加密货币被盗

视频链接:https://n.sinaimg.cn/sinakd20211219s/138/w600h338/20211219/9907-45d93401a89f40f888b22dc250f73fab.jpg 区块链项目Ronin发布消息称,黑客从该项目窃取价值6.15亿美元的加密货币。按照R...

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

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

微软示警 PHaaS 模式:发现为网络犯罪团伙提供的大规模钓鱼服务

在今天发布的安全公告中,微软安全团队发现了一个大规模的活动:利用类似主机的基础设施向网络犯罪团伙提供钓鱼服务。该服务被称为 BulletProofLink、BulletProftLink 或 Anthrax,目前在地下网络犯罪论坛上进行宣传。微软称这项服务为“钓鱼即服务”(Phishing-as-a...

有用户怀疑 LastPass 的主密码数据库可能已被泄露

有使用LastPass的用户报告说,有多人试图使用正确的主密码从不同地点登录,表明该公司可能存在数据泄露。Hacker News论坛的多名用户报告称他们的LastPass的主密码似乎被泄露了。 目前还不知道这些密码是如何泄露的,但在用户中已经出现了一种类似的情形。 大多数报告似乎来自拥有过时的Las...

微软紧急发布带外更新 修复 PrintNightmare 高危打印漏洞

微软今天推出了一个紧急 Windows 修复补丁,以修复存在于 Windows Print Spooler 服务中的一个关键缺陷。该漏洞被称之为“PrintNightmare”,在安全研究人员无意中公布了概念验证(PoC)的利用代码后,于上周被曝光。 微软已经发布了带外安全更新以解决该漏洞,并将其评...

评论列表

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

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

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

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

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

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

发表评论

访客

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