文档章节

android天气1

 易水寒521
发布于 2015/06/02 16:01
字数 675
阅读 25
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

WeatherActivity:

package com.weatherdemo.New;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import org.apache.http.client.ClientProtocolException;
import org.json.JSONException;
import com.weatherdemo.R;
import com.weatherdemo.WeatherDemoLogic;
import com.weatherdemo.zidingyi.CityName;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class WeatherActivity extends Activity {
 Button bt, future_bt, dangqian_bt;
 EditText cityname, dangqian_et, today_et;
 int i = 1;
 
 WeatherDemoLogic wLogic = null;
 List<WeatherDemo> list = new ArrayList<WeatherDemo>();
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.weather);
  
  
  dangqian_bt = (Button) findViewById(R.id.dangqian_bt);
  bt = (Button) findViewById(R.id.today_bt);
  future_bt = (Button) findViewById(R.id.Future_bt);
  cityname = (EditText) findViewById(R.id.cityname_et);
  dangqian_et = (EditText) findViewById(R.id.dangqian_weather);
  today_et = (EditText) findViewById(R.id.today_weather);
  wLogic = new WeatherDemoLogic();
  
  /**
   * 当前天气实况
   */
  dangqian_bt.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View arg0) {
    try {
     list = wLogic.WeatherDemo(cityname.getText().toString());
     dangqian_et
       .setText("当前温度: " + list.get(0).getwNew().getTemp()
         + "\n" + "当前风向: "
         + list.get(0).getwNew().getWind_direction()
         + "\n" + "当前风力: "
         + list.get(0).getwNew().getWind_strength()
         + "\n" + "当前湿度: "
         + list.get(0).getwNew().getHumidity()
         + "\n" + "更新时间: "
         + list.get(0).getwNew().getTime());
    } catch (ClientProtocolException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace();
    } catch (JSONException e) {
     e.printStackTrace();
    }
   }
  });
  /**
   * 今天天气
   */
  bt.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View arg0) {
    try {
     list = wLogic.WeatherDemo(cityname.getText().toString());
     WeatherNew arr = list.get(0).getwNew();
     today_et.setText("城市: " + arr.getCity() + "\n" + "日期: "
       + arr.getDate_y() + " " + arr.getWeek() + "\n"
       + "今日温度: " + arr.getTemperature() + "\n" + "今日天气: "
       + arr.getWeather() + "\n" + "风: " + arr.getWind()
       + "\n" + "穿衣指数: " + arr.getDressing_index() + "\n"
       + "穿衣建议: " + arr.getDressing_advice() + "\n"
       + "紫外线强度: " + arr.getUv_index() + "\n" + "舒适度指数: "
       + arr.getComfort_index() + "\n" + "洗车指数: "
       + arr.getWash_index() + "\n" + "旅游指数: "
       + arr.getTravel_index() + "\n" + "晨练指数: "
       + arr.getExercise_index() + "\n" + "干燥指数: "
       + arr.getDrying_index());
    } catch (JSONException e) {
     e.printStackTrace();
    } catch (ClientProtocolException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
  });
  /**
   * 未来天气
   */
  future_bt.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View arg0) {
    try {
     list = wLogic.WeatherDemo(cityname.getText().toString());
    } catch (ClientProtocolException e) {
     e.printStackTrace();
    } catch (IOException e) {
     e.printStackTrace();
    } catch (JSONException e) {
     e.printStackTrace();
    }
    List<Map<String, String>> arr = list.get(0).getList();
    if (i < 7) {
     today_et.setText("温度: "
       + arr.get(i).get("temperature_future") + "\n"
       + "天气状况: " + arr.get(i).get("weather_future")
       + "\n" + "风: " + arr.get(i).get("wind_future")
       + "\n" + "日期: " + arr.get(i).get("date_future")+" "+arr.get(i).get("week_future"));
     i = i + 1;
    } else {
     Toast.makeText(WeatherActivity.this, "抱歉!超出预测天数!!!",
       Toast.LENGTH_SHORT).show();
    }
   }
  });
  
 }
 
 class EditextAdapter extends BaseAdapter{
  Context context;
  
  public EditextAdapter() {
  }
  
  public EditextAdapter(Context context) {
   this.context=context;
  }
  @Override
  public int getCount() {
   return CityName.name.length;
  }
  @Override
  public Object getItem(int arg0) {
   return arg0;
  }
  @Override
  public long getItemId(int arg0) {
   return arg0;
  }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   HolderView holder=null;
   if(convertView==null){
    convertView=LayoutInflater.from(WeatherActivity.this).inflate(R.layout.demo, null);
    holder=new HolderView(convertView);
    convertView.setTag(holder);
   }else{
    holder=(HolderView) convertView.getTag();
   }
   holder.tv.setText(CityName.name[position].toString());
   return convertView;
  }
  
 }
 class HolderView{
  TextView tv;
  public HolderView(View v){
   tv=(TextView) v.findViewById(R.id.ctiyname_tv);
  }
 }
}

weather.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <EditText
        android:id="@+id/cityname_et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:hint="请输入城市名" >
        <requestFocus />
    </EditText>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >
        <Button
            android:id="@+id/dangqian_bt"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="dang qian" />
        <Button
            android:id="@+id/today_bt"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Today" />
        <Button
            android:id="@+id/Future_bt"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Next_day" />
    </LinearLayout>
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="当前天气:"/>
    <EditText
        android:id="@+id/dangqian_weather"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:ems="10"
        android:hint="当前天气实况" />
    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="今天天气或未来七天天气:"/>
    <EditText
        android:id="@+id/today_weather"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:ems="10"
        android:hint="今天天气及未来六天天气" />
</LinearLayout>

 

© 著作权归作者所有

上一篇: android天气2
下一篇: ManActivity改
粉丝 1
博文 130
码字总数 120077
作品 0
虹口
私信 提问
android基础知识02——线程安全1:定义及例子

android的UI操作不是线程安全的,同时也只有主线程才能够操作UI,同时主线程对于UI操作有一定的时间限制(最长5秒)。为了能够做一些比较耗时的操作(比如下载、打开大文件等),android提供...

迷途d书童
2012/03/23
817
0
WP7 速度挑战赛金身终破 Android 4.0拿下第一滴血

微软终于栽了,而且,还是载在他们最不屑最不齿的Android身上。 据国外媒体报道,微软自去年底开始在全世界微软主题店推广的Windows Phone速度挑战,在今天遭遇了首场失利。 一位名叫Sahas K...

虫虫
2012/03/26
3.9K
24
Android 开发者应该知道的 Kotlin 技巧

今年的 Google I/O 大会上,Google 是这样评价 Kotlin:在过去一年里,有35%的专业 Android 开发者在使用 Kotlin,其中95%的开发者都对 Kotlin 非常满意。虽然 Kotlin 正处于发展的初始阶段,...

码云Gitee
2018/05/28
0
0
Android中MVP模式的了解及实例

Android中MVP的由来 在了解MVP之前我相信很多人已经学习过MVC这个框架了!MVP的诞生可以说是建立在MVC在安卓某些不足的方面 MVC简介 .M对应Model,代表业务数据 .V对应View,代表视图 .C对应C...

九尾74
2018/05/26
0
0
RadioGroup结合RadioButton使用切换Fragment片段

界面布局activitylanqiu,代码xml设置如下:

鹭明
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

在C语言中“静态”是什么意思?

我已经在C代码的不同地方看到了static一词。 这就像C#中的静态函数/类(实现在对象之间共享)吗? #1楼 多文件变量作用域示例 在这里,我说明了静态如何影响多个文件中函数定义的范围。 交流...

javail
8分钟前
3
0
利用 FC + OSS 快速搭建 Serverless 实时按需图像处理服务

作者:泽尘 简介 随着具有不同屏幕尺寸和分辨率设备的爆炸式增长,开发人员经常需要提供各种尺寸的图像,从而确保良好的用户体验。目前比较常见的做法是预先为一份图像存放多份具有不同尺寸的...

阿里巴巴云原生
10分钟前
2
0
前端架构最佳实践

Folders-by-Feature Structure 胜过 Folders-by-Type Structure

lilugirl
21分钟前
3
0
Seata AT 模式启动源码分析

从上一篇文章「分布式事务中间件Seata的设计原理」讲了下 Seata AT 模式的一些设计原理,从中也知道了 AT 模式的三个角色(RM、TM、TC),接下来我会更新 Seata 源码分析系列文章。今天就来分...

后端进阶
22分钟前
4
0
Python中“自我”一词的目的是什么?

Python中self词的目的是什么? 我知道它是指从该类创建的特定对象,但是我看不到为什么要将它显式地作为参数添加到每个函数中。 为了说明这一点,在Ruby中,我可以这样做: class myClass ...

技术盛宴
24分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部