在做Android客户端软件的时候经常需要刷新某区块内容,比如微博客户端就需要定期检测是否有新发布的微博内容,如果有新微博客户端就显示出来。Android里可以选用两种方式来实现此功能。
方式一、使用Timer(定时器)和TimerTask实现
示例代码:
public class MainActivity extends Activity {
private TextView msg;
final Handler handler = new Handler() {
public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
update();
break;
}
super.handleMessage(msg);
}
void update() {
//刷新msg的内容
}
};
Timer timer = new Timer();
TimerTask task = new TimerTask() {
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
/** Called when the activity is first created. /
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
msg = (TextView) findViewById(R.id.txtMsg);
msg.setText("你好啊!");
timer.schedule(task, 1000 * 40, 1000 * 30); //启动timer
}
@Override
protected void onDestroy() {
if (timer != null) {// 停止timer
timer.cancel();
timer = null;
}
super.onDestroy();
}
}
方式二、使用Runnable和Handler
示例代码
public class MainActivity extends Activity {
private TextView msg;
private Handler handler = new Handler();
private Runnable runnable = new Runnable() {
public void run() {
this.update();
handler.postDelayed(this, 1000 * 120);// 间隔120秒
}
void update() {
//刷新msg的内容
}
};
/
* Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
msg = (TextView) findViewById(R.id.txtMsg);
msg.setText("你好啊!");
handler.postDelayed(runnable, 1000 * 60);
}
@Override
protected void onDestroy() {
handler.removeCallbacks(runnable); //停止刷新
super.onDestroy();
}
}
第一种方式还适用于消息通知的方式实现更新,第二种方式通常是主动去检查是否需要刷新。对于定时刷新这种使用第二种方式更好

更多相关文章

  1. Android(安卓)软键盘操作
  2. Android仿qq下拉刷新及向左滑动列表----PullToRefresh, SwipeMen
  3. Android下拉状态栏快捷开关的添加
  4. Android三种实现自定义ProgressBar的方式介绍
  5. eclipse 中 Android(安卓)项目依赖文件管理
  6. win8上进行android native库开发的环境安装(陆续补充中)
  7. Android中跨进程通信方式之使用Bundle
  8. Android中Message传递参数(bundle setData方式传递)
  9. Android(安卓)Day05-网络编程之提交数据

随机推荐

  1. pandaboard ES学习之旅——5 Android Lin
  2. Android(安卓)UI开发第二十九篇——Andro
  3. Android studio project文件结构翻译
  4. Android疑惑记录-----在Adapter中配置按
  5. 安卓手机卡慢的原因,你真的想知道么?
  6. android 用 XML 自定义边框(只上下边框有
  7. 修改Android开机画面
  8. mvp过渡到mvvm(Android(安卓)架构组件)
  9. android音乐播放器实现
  10. 打开SDK Manager检查Android SDK下载和更