• GUI搞定


    https://github.com/mlxy/NCWeather

    重写了WeatherImages类,虽然之前从来没用上过。

    现在天气图标已经可以正常变化了。

    也就是说。

    GUI已经搞定了。

    剩下的就是一些细节的修改。

    再到1.0为止的两个版本就改一改内部代码就行了。

    我发现我最近的博文已经开始不讲技术细节了……仿佛不是好现象。

    图就不发了,反正看起来和之前发的图一样。

    工程也不发了吧,反正变化不多。

    总之就是这样。

     1     /** 获取根据系统时间返回白天或夜晚的天气图片。*/
     2     public Bitmap getWeatherImage() {
     3         // 获取当前小时,24小时制。
     4         Calendar c = Calendar.getInstance();
     5         int hour = c.get(Calendar.HOUR_OF_DAY);
     6         
     7         // 根据时间获取文件夹名称。根据时间获取天气,用天气获取对应图片的文件名。
     8         String dayOrNight = null;
     9         String fileName = null;
    10         
    11         if (hour <= 6 || hour >= 18) {
    12             dayOrNight = "night";
    13             String weatherPinyin = map.get(WeatherTag.NIGHT_WEATHER_PINYIN);
    14             fileName = WeatherImages.getFileName(weatherPinyin);
    15         } else {
    16             dayOrNight = "day";
    17             String weatherPinyin = map.get(WeatherTag.DAY_WEATHER_PINYIN);
    18             fileName = WeatherImages.getFileName(weatherPinyin);
    19         }
    20         
    21         // 获取资源包。
    22         AssetManager manager = this.parent.getResources().getAssets();
    23         
    24         // 用已经得到的变量获取对应图片对象。
    25         Bitmap image = null;
    26         
    27         try {
    28             InputStream in = manager.open("weather/" + dayOrNight+ "/" + fileName);
    29             image = BitmapFactory.decodeStream(in);
    30             in.close();
    31         } catch(IOException e) {
    32             e.printStackTrace();
    33         }
    34         
    35         return image;
    36     }
    DataGetter里新加的方法
     1 package com.mlxy.property;
     2 
     3 import java.util.HashMap;
     4 import java.util.Map;
     5 
     6 
     7 public class WeatherImages {
     8     private static Map<String, String> map  = new HashMap<String, String>() {
     9         private static final long serialVersionUID = -8552791002402932770L;
    10 
    11         {
    12         put("qing", "00.png");
    13         put("duoyun", "01.png");
    14         put("yin", "02.png");
    15         put("zhenyu", "03.png");
    16         put("leizhenyu", "04.png");
    17         put("leizhenyubanyoubingbao", "05.png");
    18         put("yujiaxue", "06.png");
    19         put("xiaoyu", "07.png");
    20         put("zhongyu", "08.png");
    21         put("dayu", "09.png");
    22         put("baoyu", "10.png");
    23         put("dabaoyu", "11.png");
    24         put("tedabaoyu", "12.png");
    25         put("zhenxue", "13.png");
    26         put("xiaoxue", "14.png");
    27         put("zhongxue", "15.png");
    28         put("daxue", "16.png");
    29         put("baoxue", "17.png");
    30         put("wu", "18.png");
    31         put("dongyu", "19.png");
    32         put("shachenbao", "20.png");
    33         put("xiaodaozhongyu", "21.png");
    34         put("zhongdaodayu", "22.png");
    35         put("dadaobaoyu", "23.png");
    36         put("baoyudaodabaoyu", "24.png");
    37         put("dabaoyudaotedabaoyu", "25.png");
    38         put("xiaodaozhongxue", "26.png");
    39         put("zhongdaodaxue", "27.png");
    40         put("dadaobaoxue", "28.png");
    41         put("fuchen", "29.png");
    42         put("yangsha", "30.png");
    43         put("qiangshachenbao", "31.png");
    44         put("mai", "53.png");
    45         put("unknown", "undefined.png");
    46         }
    47     };
    48     
    49     /** 
    50      * 根据天气名称的拼音返回对应图片的文件名。
    51      * 
    52      * @param weather 天气名的拼音。
    53      * @return fileName 天气名称的拼音对应的文件名。如果找不到就返回unknown图片的文件名。*/
    54     public static String getFileName(String weather) {
    55         String fileName = map.get(weather);
    56         
    57         // 如果找不到就返回unknown图片的文件名。
    58         if (fileName == null) {
    59             fileName = map.get("unknown");
    60         }
    61         
    62         return fileName;
    63     }
    64 }
    重写的WeatherImages类

    MainActivity里的代码就很好懂了:

    取得Bitmap类型的图片:

    weatherImage = getter.getWeatherImage();

    设置进去:

    weatherImageView.setImageBitmap(weatherImage);

    就完事啦 /w

  • 相关阅读:
    MyEclipse中配置Hibernate
    struts2_对Map进行双层迭代
    Hibernate关联关系全集
    CodeIgniter+Smarty配置
    去掉php框架CI默认url中的index.php【整理】
    jquery的show方法是display:block还是display:inline呢?
    Codeigniter中的Error【转】
    去除 inlineblock 空隙终极解决方案
    jquery三级折叠菜单
    css实现页面文字不换行、自动换行、强制换行
  • 原文地址:https://www.cnblogs.com/chihane/p/3640956.html
Copyright © 2020-2023  润新知