在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);
第三种代码看起来也非常的简洁,推荐使用。
分享到:
相关推荐
总结一下,本文介绍了如何在Android应用中使用`Timer`进行广告位的定时刷新,以及如何通过`FloatingActionButton`配合`CountDownTimer`或`Handler`实现3秒后自动消失的功能。这些都是Android开发中常见的实践技巧,...
Android Token 过期刷新处理是移动端应用程序中常见的问题之一。当用户的 Token 过期时,应用程序需要重新刷新 Token,以确保用户的身份验证。下面是 Android Token 过期刷新处理的方法示例,共有两种解决方案。 ...
在Android开发中,定时任务是常见的一种需求,例如定时刷新数据、定时发送验证短信等。本资源提供的示例就是利用`TimerTask`和`Handler`来实现这样的功能。`TimerTask`是Java中的一个定时任务类,而`Handler`则是...
在Android应用中,数据刷新主要有以下几种方式: 1. **监听数据源变化**:如果数据存储在内存中的`LiveData`、`Observable`或`Stream`等可观察对象中,可以通过注册观察者来监听数据变化,当数据更新时自动通知UI...
本项目“Android应用源码之自定义表格自动刷新数据”提供了一种实现方式,旨在帮助开发者了解并掌握如何在Android应用中创建自定义表格并实现数据的自动刷新功能。 首先,自定义表格通常意味着我们需要扩展Android...
接下来,ListView下拉刷新是一种常见的UI交互方式,可以让用户获取最新的信息。Android提供了SwipeRefreshLayout组件,它可以包裹一个ListView或其他可滚动视图,当用户下拉时,会触发刷新事件。开发者需要实现...
ScheduledExecutorService则是一种可以定时或延迟执行任务的线程池,特别适合于需要周期性执行任务的场景,例如定时刷新数据、定期发送心跳等。其方法`scheduleAtFixedRate`和`scheduleWithFixedDelay`可以实现定时...
Widget是Android提供的一种轻量级应用,可以在用户的主屏幕上直接显示和操作,方便用户快速查看和管理信息。桌面便签通常表现为一个小的文本框或者卡片,用户可以快速输入和查看备忘事项。 实现Android桌面便签需要...
在Android开发中,动态曲线图是一种常见的数据可视化方式,它能够直观地展示数据的变化趋势,尤其在统计、监控和分析应用中非常实用。本资源提供了一种实现动态曲线图的解决方案,代码简洁明了,适合初学者理解和...
- **更新**: 当需要更新小部件内容时(如定时刷新或接收到特定广播),`onUpdate()`会被调用。开发者可以通过`AppWidgetManager`的`updateAppWidget()`方法来手动更新。 - **删除**: 用户从主屏幕移除小部件时,`...
在Android开发中,实时曲线图是一种常见的数据可视化方式,它能直观地展示随着时间或某一参数变化的数据趋势。本文将深入探讨如何在Android应用中实现一个实时曲线更新的例子,基于提供的"实时曲线例子"项目——...
例如,在游戏应用中,可以使用计时器实现定时刷新游戏状态;在聊天应用中,可以设置心跳检测保持连接状态;在新闻阅读应用中,可以设定自动刷新新闻列表的时间间隔。 ### 5. 注意事项 使用计时器时,一定要注意...
在源码中,你可能会看到以下几个关键类: 1. `RssFeed`:表示RSS源,包含标题、链接等信息。 2. `RssItem`:表示RSS订阅中的单个条目,包含标题、描述、发布时间等。 3. `RssParser`:负责解析RSS源,返回`RssFeed`...
在Android开发中,Rss订阅是一项常见的功能,用于获取并展示来自新闻网站或者博客的更新内容。这个"Android源码——Rss订阅源码Demo.zip"是一个实例,它可以帮助开发者理解如何在Android应用中实现RSS订阅功能。接...
`Timer`类可以用于计划将来某一点或定期执行的任务,而`Handler`则常用于UI线程与后台线程之间的通信,定时刷新界面或者执行某些操作。 【多线程】在Android应用程序中是必不可少的,特别是在处理耗时操作时,如...
Android小部件是Android系统中的一种用户界面组件,它们可以在用户的主屏幕上提供快捷方式或者动态显示信息,如天气预报、时钟或者音乐播放控制。开发者可以通过Android SDK中的App Widget API来创建这些小部件。在...
Android中最常用的网络通信方式 **知识点**:Android网络开发中最常见的通信协议。 **详细说明**:在Android开发中,HTTP是最常见也是最重要的网络通信方式之一。这是因为HTTP协议简单易用,支持多种数据格式(如...
Android 实现定时器的几种方法 Android 开发中,实现定时器有多种方法,包括 Handler、Timer、Thread 和 AlarmManager。了解这些方法可以帮助开发者更好地实现定时器功能。 一、AlarmManager AlarmManager 是系统...
此外,为了提高用户体验,可能还需要添加数据刷新机制,如滑动刷新或定时刷新。 这个项目综合了硬件设计、嵌入式编程和移动应用开发,对于学习者来说,可以深入理解单片机与Android设备之间的通信,以及蓝牙协议的...