对我来说有趣的是如何使用纯java来编写简单的Android Handler类来将信号从一个线程发送到另一个线程?
我看到了源代码:http: //grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/2.1_r2/android/os/Handler.java
但是,例如如何编写可以从一个线程向另一个线程发送例如int值的类(Handler类)(不使用共享数据(如Android Handler?))?
如果你的线程与接收消息的处理程序的方法相同,你可以这样做:
final Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
// do something
}
}
final Thread th = new Thread() {
public void run() {
// do something than send an integer - x in our case
int x = 0;
final Message msg = Message.obtain(handler, x, null);
handler.dispatchMessage(msg);
}
};
th.start();
Run Code Online (Sandbox Code Playgroud)
如果无法直接从线程访问您的处理程序,则创建一个扩展Thread的类并将处理程序传递给类的构造函数.
| 归档时间: |
|
| 查看次数: |
4985 次 |
| 最近记录: |