`
leili
  • 浏览: 180527 次
社区版块
存档分类
最新评论

Android中常见的几种定时刷新方式

阅读更多

在Android中常见的几种刷新方式有 Timer,Alarm和handler。在widgetapp更新中,alarm用的比较多,有人讲用alarm比较省电。

但笔者使用后发现用alarm有时候反而会使系统反应变慢了。更好的方法推荐使用handler。


第一种:Timer

Timer这种方式最为常见,起个定时刷新的任务,不用的时候cancel掉,置为空即可。

示例代码:

Timer timer = new Timer( );

TimerTask task = new TimerTask( ) {
public void run ( ) {
Message message = new Message( );
message.what = 1;
handler.sendMessage(message);
}
};

final Handler handler = new Handler( ) {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
log.e("Timer","Timer");
update( );
break;
}

第二种:Alarm

示例代码:

开始计时

Intent intent = new Intent(widgetUpdate);
refreshIntent = PendingIntent.getBroadcast(pContext, 0, intent, 0);
alarm = (AlarmManager)pContext.getSystemService(Context.ALARM_SERVICE);
alarm.setRepeating(AlarmManager.RTC, 0, 1000, refreshIntent);//每秒刷新1次

停止计时

if (alarm!=null) {
     alarm.cancel(refreshIntent);
     refreshIntent.cancel();
     refreshIntent = null;
  alarm = null;
}


第三种:handler

private Handler handler = new Handler();
    private Runnable runnable = new Runnable() {
    public void run () {
    update();
    handler.postDelayed(this,1000); 
    }
    };


开始计时

handler.removeCallbacks(runnable);
handler.postDelayed(runnable,1000); 

停止计时

handler.removeCallbacks(runnable);

第三种代码看起来也非常的简洁,推荐使用。

9
10
分享到:
评论

相关推荐

    android 广告位的Timer定时刷新和按钮的浮动显示(3秒消失)

    总结一下,本文介绍了如何在Android应用中使用`Timer`进行广告位的定时刷新,以及如何通过`FloatingActionButton`配合`CountDownTimer`或`Handler`实现3秒后自动消失的功能。这些都是Android开发中常见的实践技巧,...

    Android token过期刷新处理的方法示例

    Android Token 过期刷新处理是移动端应用程序中常见的问题之一。当用户的 Token 过期时,应用程序需要重新刷新 Token,以确保用户的身份验证。下面是 Android Token 过期刷新处理的方法示例,共有两种解决方案。 ...

    安卓短信彩信相关相关-TimerTask结合Handler实现了定时任务可以定时刷新定时验证短信等.rar

    在Android开发中,定时任务是常见的一种需求,例如定时刷新数据、定时发送验证短信等。本资源提供的示例就是利用`TimerTask`和`Handler`来实现这样的功能。`TimerTask`是Java中的一个定时任务类,而`Handler`则是...

    Android应用源码之自定义表格自动刷新数据.zip

    在Android应用中,数据刷新主要有以下几种方式: 1. **监听数据源变化**:如果数据存储在内存中的`LiveData`、`Observable`或`Stream`等可观察对象中,可以通过注册观察者来监听数据变化,当数据更新时自动通知UI...

    Android应用源码之自定义表格自动刷新数据.rar

    本项目“Android应用源码之自定义表格自动刷新数据”提供了一种实现方式,旨在帮助开发者了解并掌握如何在Android应用中创建自定义表格并实现数据的自动刷新功能。 首先,自定义表格通常意味着我们需要扩展Android...

    Android管理手机短信

    接下来,ListView下拉刷新是一种常见的UI交互方式,可以让用户获取最新的信息。Android提供了SwipeRefreshLayout组件,它可以包裹一个ListView或其他可滚动视图,当用户下拉时,会触发刷新事件。开发者需要实现...

    Android线程池管理的代码例子

    ScheduledExecutorService则是一种可以定时或延迟执行任务的线程池,特别适合于需要周期性执行任务的场景,例如定时刷新数据、定期发送心跳等。其方法`scheduleAtFixedRate`和`scheduleWithFixedDelay`可以实现定时...

    android桌面便签

    Widget是Android提供的一种轻量级应用,可以在用户的主屏幕上直接显示和操作,方便用户快速查看和管理信息。桌面便签通常表现为一个小的文本框或者卡片,用户可以快速输入和查看备忘事项。 实现Android桌面便签需要...

    android动态曲线图

    在Android开发中,动态曲线图是一种常见的数据可视化方式,它能够直观地展示数据的变化趋势,尤其在统计、监控和分析应用中非常实用。本资源提供了一种实现动态曲线图的解决方案,代码简洁明了,适合初学者理解和...

    android之appwidget

    - **更新**: 当需要更新小部件内容时(如定时刷新或接收到特定广播),`onUpdate()`会被调用。开发者可以通过`AppWidgetManager`的`updateAppWidget()`方法来手动更新。 - **删除**: 用户从主屏幕移除小部件时,`...

    android,实时曲线例子

    在Android开发中,实时曲线图是一种常见的数据可视化方式,它能直观地展示随着时间或某一参数变化的数据趋势。本文将深入探讨如何在Android应用中实现一个实时曲线更新的例子,基于提供的"实时曲线例子"项目——...

    android 计时器

    例如,在游戏应用中,可以使用计时器实现定时刷新游戏状态;在聊天应用中,可以设置心跳检测保持连接状态;在新闻阅读应用中,可以设定自动刷新新闻列表的时间间隔。 ### 5. 注意事项 使用计时器时,一定要注意...

    Android源码——Rss订阅源码Demo.7z

    在源码中,你可能会看到以下几个关键类: 1. `RssFeed`:表示RSS源,包含标题、链接等信息。 2. `RssItem`:表示RSS订阅中的单个条目,包含标题、描述、发布时间等。 3. `RssParser`:负责解析RSS源,返回`RssFeed`...

    Android源码——Rss订阅源码Demo.zip

    在Android开发中,Rss订阅是一项常见的功能,用于获取并展示来自新闻网站或者博客的更新内容。这个"Android源码——Rss订阅源码Demo.zip"是一个实例,它可以帮助开发者理解如何在Android应用中实现RSS订阅功能。接...

    android 站立会议 项目源码

    `Timer`类可以用于计划将来某一点或定期执行的任务,而`Handler`则常用于UI线程与后台线程之间的通信,定时刷新界面或者执行某些操作。 【多线程】在Android应用程序中是必不可少的,特别是在处理耗时操作时,如...

    google/Android资源,要的回复!

    Android小部件是Android系统中的一种用户界面组件,它们可以在用户的主屏幕上提供快捷方式或者动态显示信息,如天气预报、时钟或者音乐播放控制。开发者可以通过Android SDK中的App Widget API来创建这些小部件。在...

    【国开搜题】国家开放大学 一网一平台 Android网络开发技术16 期末考试押题试卷.docx

    Android中最常用的网络通信方式 **知识点**:Android网络开发中最常见的通信协议。 **详细说明**:在Android开发中,HTTP是最常见也是最重要的网络通信方式之一。这是因为HTTP协议简单易用,支持多种数据格式(如...

    详解Android实现定时器的几种方法

    Android 实现定时器的几种方法 Android 开发中,实现定时器有多种方法,包括 Handler、Timer、Thread 和 AlarmManager。了解这些方法可以帮助开发者更好地实现定时器功能。 一、AlarmManager AlarmManager 是系统...

    基于Android和蓝牙的单片机温度采集系统源码

    此外,为了提高用户体验,可能还需要添加数据刷新机制,如滑动刷新或定时刷新。 这个项目综合了硬件设计、嵌入式编程和移动应用开发,对于学习者来说,可以深入理解单片机与Android设备之间的通信,以及蓝牙协议的...

Global site tag (gtag.js) - Google Analytics