抖音猪头特效苹果7p-shadow2531.com

google seo -> telegram: @ehseo6

">Newsnet 2022-10-01 15:54
  • home  >   /北京医改迈出“一大步” 取消药品加成、挂号费  >   抖音猪头特效苹果7p
  • 抖音孕妇照影子 抖音火山版怎么注销
    抖音拖下巴怎么拍 抖音跳转微信
    天空之镜茶卡盐湖抖音 how about 抖音猪头特效苹果7p?
    What's the 抖音猪头特效苹果7p phone number? What is 抖音猪头特效苹果7p contact information ?
    Online consultation 抖音猪头特效苹果7p The picture of the 抖音猪头特效苹果7p
    抖音猪头特效苹果7pof the video Is 抖音猪头特效苹果7p for real ?
    抖音猪头特效苹果7p's website A map of 抖音猪头特效苹果7p
    抖音猪头特效苹果7p of tiktok 抖音猪头特效苹果7pmusic
    抖音猪头特效苹果7p of news 抖音猪头特效苹果7papp
    抖音猪头特效苹果7pcompany Customer service of 抖音猪头特效苹果7p company

    抖音如何转发视频app『网址:ff00.co』 -国庆抖音最美新娘-F2F4Y5L8- app下载安卓版V6.3.3-铮? U  M  H

    看抖音如何赚钱app『网址:ff00.co』 -抖音玩具跳跳跳 男孩-F2F4Y5L8- app下载安卓版V6.3.3-铮? V  M  E

    2011
    01/26
    23:09
    你的位置:首页 > ASP教程 > Android 分享两个你学习android 平台开发必须碰到的几个知识点的组件【天气预报、日期】View 组件

    抖音上评论怎么发截图app『网址:ff00.co』 -人民网抖音运营-F2F4Y5L8- app下载安卓版V6.3.3- 铮?X? ? P 铮?Z

    发布时间:2022-10-01 23:09:41

    原标题:Android 分享两个你学习android 平台开发必须碰到的几个知识点的组件【天气预报、日期】View 组件

      本篇文章将分享两个VIEW组件,一个天气组件和一个日期组件,这两个组件本来是一个App Widget 后来,我看着好玩,将他们弄成一个VIEW的组件,可以像使用Windows Phone 7 的用户控件一样拖放到你想要的项目中。本篇将演示这两个组件的编写过程,工程文件如下:

      

      包名介绍:

    • com.terry.weather  程序的入口包
    • com.yaomei.adapter  天气预报组件使用到的数据源
    • com.yaomei.model  天气预报使用到的模型包
    • com.yaomei.util  获取天气信息的工具包
    • com.yaomei.widget  天气预报组件、日期组件的存放位置

      从包名可以看出,编写一个天气预报所需要的代码量比编写一个日期VIEW所需要的代码量要多得多 ,那么我们先把天气预报的一些实现思路跟大家讲讲。

      首先,本实例使用的天气预报是一个可以自己国际化的天气组件VIEW,可以看上图,将所需要的URL都放入ANDROID 自己的国际化文件夹里面,比如中文的话就这样写:

    <string name="googleWeatherApi">
     <![CDATA[http://www.google.com.shadow2531.com/ig/api?hl=zh-cn&weather=]]>
        </string>

     

     

    那么是英语环境的就只需要在默认的VALUES里面的string.     <string name="googleWeatherApi">
     <![CDATA[http://www.google.com.shadow2531.com/ig/api?hl=en&weather=]]>
        </string>

     

      这是本篇一个要注意的一点,另外还有需要注意的是,这个天气组件提供可供用户选择更新频率,这里比如我们使用3个小时更新一次,那么当用户退出程序时,再打开是否还要再去Google 上面读天气呢?答案是NO,因为既然用户选择了更新频率,那么在一定的时间内,我们最好不要自动去更新,除非用户自己点击更新才去执行。那么要如何得到之前的数据呢?

      这里使用到的是SharePreference 将一些天气的信息保存进去,连同天气的图片也一并保存。保存天气图片是将google 天气的图片使用Base64转成字符串,然后保存进Sharepreference ,如果更新频率条件未满足则进去SharePrference 将天气预报数据取出来 。因为Android 并未提供将图片转成字符串的API,这里使用到的是apache 的一个Jar包,可在这里下载:点击这里

      思路上面给出了,下面给出天气预报组件VIEW的核心代码,其他附属代码可在后面的附件下载得到,代码如下:

      

    package com.yaomei.widget;import java.io.ByteArrayInputStream;import com.terry.weather.R;public class WeatherView extends LinearLayout {    private static final String Hour_COMPARE = "hour_compare";    private ImageView iv_weather;    WeatherMdoel model;    /**    public boolean getAutoLoad() {    public void setAutoLoad(boolean isLoad) {    /**    public String getCityName() {    public void setCityName(String cityName) {    /**    public int getUpdateHour() {    public void setUpdateHour(int hour) {    public WeatherView(Context context) {    public WeatherView(Context context, AttributeSet attrs) {            case R.styleable.WeatherView_CityName:        View view = LayoutInflater.from(getContext()).inflate(        tv = (TextView) view.findViewById(R.id.tv_temperature);        gv = (GridView) view.findViewById(R.id.grid);        if (getAutoLoad()) {    /**            @Override                SharedPreferences share = getContext().getSharedPreferences(                        if (time_cop >= getUpdateHour()                        } else if (time_cop < getUpdateHour()) {                                weatherList.add(model);                } else {                else {    /**        SharedPreferences.Editor shareEditor = getContext()            shareEditor.putString(DAY_OF_WEEK + i, model.getWeek());            String ImageBase64 = new String(Base64.encodeBase64(baos    /**    /**}

     

     

      学习这个类,你能够学到的知识点为:为应用程序添加属性,编写组件,SharePreference 的使用,Timer和Handler 异步处理UI等知识点。

     

     

      日期VIEW显示VIEW组件,是一个显示当前系统时间的组件,当第一次运行时,得到当前的秒数在以60秒减去当前秒,得到第一次运行时下一次运行需要的秒数,当这一次更新完毕后,下一次每次60秒更新一次时间,这个组件也是以分更新UI的操作,学习本类,你可以学到两个Handler 是如何协作处理UI,代码如下:

    package com.yaomei.widget;import java.util.Calendar;import android.content.Context;import com.terry.weather.R;public class DateView extends FrameLayout {    private TextView tv_date_time, tv_week, tv_date;    int second;    Handler handler = new Handler() {    public DateView(Context context) {    public DateView(Context context, AttributeSet attrs) {        View view = LayoutInflater.from(getContext()).inflate(        tv_date_time = (TextView) view.findViewById(R.id.tv_date_time);    void init() {}

     

     

    上篇运行效果如下:

     

      由于没有为其提供背景颜色,使用的同学可以自己为它们加上一个好看的背景颜色,效果会更加。

      上面的天气组件,其实可以使用AsyncTask也是起到同样的效果,AsyncTask使用起来会觉得优雅一点,这里也顺便把一些AsyncTask在使用上一些注意事项跟大家谈一谈:

    • 在doInBackground 里面不要直接操作UI,比如设置UI的可见性操作。
    • 在doInBackground 所在的操作只负责帮你得到数据,然后把UI处理都放在onPostExecute 里面。
    • 同时启动几个AsyncTask 注意线程加锁,使用synchronized
    • 必须每次都创建一个新的AsyncTask 对象,否则会提示“a task can be executed only once” 的错误信息。

    本篇的所有源码下载地址:组件

     

    作者: Terry_龙 发表于 2022-10-01 19:47 原文链接

    评论: 0 查看评论 发表评论


    最新新闻:
    · 从HTML1到HTML5,回首HTML发展历史(2022-10-01 22:56)
    · Android 的应用中支付即将到来,被推迟是因为开发商很忙(2022-10-01 22:55)
    · Android平台Firefox(Fennec:移动版火狐代号)开发入门(2022-10-01 22:45)
    · Qt 移动版 1.2 技术预览(2022-10-01 22:44)
    · 搜狗地图推收费站统计功能(2022-10-01 22:44)

    编辑推荐:魏武挥:谷歌易帅

    网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库

    原标题:Android 分享两个你学习android 平台开发必须碰到的几个知识点的组件【天气预报、日期】View 组件

    关键词:Android

    转载请保留本文网址: http://www-shaoqun-com.shadow2531.com/a/4253.html
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。
    您可能感兴趣的文章
    排列三开555前后关系 大古pc蛋蛋预测网站 福彩排列五开奖 福彩3d试机导 关注号 金码 06年大乐透走势图
    海南排列五开奖历史 酒鬼152期大乐透推荐号码预测专家 排列五开奖号码走势图带连线 江苏快三大小稳赚技巧 3d福彩黄金缩水器
    王立君大乐透预测18004 体彩排列五今晚预测号码 玩pc蛋蛋彩票软件 峡西快三 pc蛋蛋预测55单双预测
    内蒙快三高手 体彩排列3赢钱计划 17108期双色球预测号码是多少 双色球16027期推荐汇总 pc蛋蛋1314高倍网站