我是Android应用开发的先驱,我在Java开发方面的经验也很少。
我正在开发一个非常基本的上下文感知应用程序,我想了解如何通知我的活动类某些自定义事件? (与onClick()不同)。所以,如果我有一个负责监控某些资源的类。 (为简单起见,让我们假设一个Timer类,它监视时间并每小时通知Activity类)。
我的活动课如何订阅'并从Timer类中侦听此类事件?
如果您提供一些代码示例以及可能在Android / Java中如何处理事件,我将非常感激。感谢您的时间和帮助!
答案 0 :(得分:4)
使用Broadcast
Intents通知侦听器系统或应用程序/自定义事件..
使用Broadcast
方法发送sendBroadcast
。
Intent intent = new Intent(NEW_Intent);
intent.putExtra(“Test”,Test1);
sendBroadcast(intent);
要创建新的广播接收器(将侦听您的事件/广播),请扩展BroadcastReceiver
类并覆盖onReceive
事件处理程序。onReceive
方法将在执行时执行收到Broadcast
Intent,该Intent与用于注册接收者的Intent Filter匹配。
在Manifest文件或代码中注册您的接收器..
//在xml中
<receiver android:name=”.ReceiverName”>
<intent-filter>
<action android:name=”com.paad.action.NEW_INTENT”/>
</intent-filter>
</receiver>
//代码..
IntentFilter filter = new IntentFilter(NEW_INTENT);
ReceiverName r = new ReceiverName();
registerReceiver(r, filter);
答案 1 :(得分:0)
你可以使用Intent类来做到这一点: http://developer.android.com/reference/android/content/Intent.html