Android(安卓)Handler(五)
16lz
2021-01-25
自定义的线程类
java代码:
/** * 自定义的线程类,通过传入的Handler,和Total 定期执行耗时操作 *
@author linzijun * */
public class TimerThread extends Thread {
public int Total=60;
public Handler handler;
/** * 初始化构造函数
* @param mhandler handler 用于发送消息
* @param total 总周期
*/
public TimerThread(Handler mhandler,int total) {
super();
handler=mhandler;
Total=total;
}
@Override
public void run() {
while(true) {
Total--;
if(Total<0) break;
try { Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} Message msg=new Message();
Bundle date = new Bundle();
// 存放数据
date.putInt("time", Total);
msg.setData(date);
msg.what=0;
Log.d("ThreadId", "Thread:" + String.valueOf(Thread.currentThread().getId())); handler.sendMessage(msg);
}
super.run();
}
}
这里继承了Thread类,也可以直接实现 Runnable接口。
关于POST
Post的各种方法是把一个Runnable发送给消息队列,它将在到达时进行处理。
POST
java代码:
public class PostHandler extends Activity implements OnClickListener, Runnable {
private TextView txt;
private Button btnStart, btnStop;
private Handler myHandler;
private Timer timer;
private int total = 60;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt = (TextView) findViewById(R.id.txt);
btnStart = (Button) findViewById(R.id.btnStartTime);
btnStop = (Button) findViewById(R.id.btnStopTime);
java代码:
/** * 自定义的线程类,通过传入的Handler,和Total 定期执行耗时操作 *
@author linzijun * */
public class TimerThread extends Thread {
public int Total=60;
public Handler handler;
/** * 初始化构造函数
* @param mhandler handler 用于发送消息
* @param total 总周期
*/
public TimerThread(Handler mhandler,int total) {
super();
handler=mhandler;
Total=total;
}
@Override
public void run() {
while(true) {
Total--;
if(Total<0) break;
try { Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} Message msg=new Message();
Bundle date = new Bundle();
// 存放数据
date.putInt("time", Total);
msg.setData(date);
msg.what=0;
Log.d("ThreadId", "Thread:" + String.valueOf(Thread.currentThread().getId())); handler.sendMessage(msg);
}
super.run();
}
}
这里继承了Thread类,也可以直接实现 Runnable接口。
关于POST
Post的各种方法是把一个Runnable发送给消息队列,它将在到达时进行处理。
POST
java代码:
public class PostHandler extends Activity implements OnClickListener, Runnable {
private TextView txt;
private Button btnStart, btnStop;
private Handler myHandler;
private Timer timer;
private int total = 60;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt = (TextView) findViewById(R.id.txt);
btnStart = (Button) findViewById(R.id.btnStartTime);
btnStop = (Button) findViewById(R.id.btnStopTime);
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- 使用Http协议请求网络
- android通过webservice验证用户 .
- StrictMode总结
- Eclipse下Android开发,如何查看 API源代码、私有库源代码 文件 (a
- android用户界面-组件Widget-常用组件
- Android如何防止apk程序被反编译
- RippleDrawable 触摸反馈 ---- java 代码编写
- android里设置图片透明。