Android开发学习:[25]Android获取天气预报

2025-11-18 23:13:05

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

Android开发学习:[25]Android获取天气预报

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

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/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>

Android开发学习:[25]Android获取天气预报

3、然后我们添加后台代码:

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("http://m.weather.com.cn/m/pn12/weather.htm "); //设置默认显示的天气预报信息

        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("http://m.weather.com.cn/m/pn12/weather.htm?id="+id+" "); //获取并显示天气预报信息

    }

}

Android开发学习:[25]Android获取天气预报

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

Android开发学习:[25]Android获取天气预报

5、这里要访问网络我们要添加权限:   

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

Android开发学习:[25]Android获取天气预报

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

Android开发学习:[25]Android获取天气预报

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢