我想创建一个接口,其中包含一个定期调用的方法A()。一个常见的例子是 Android 中 LocationListner 的 LocationChanged() 方法。
如果有人实现了我的接口,那么当我从服务器获得一些新读数时,应该调用 A()。
我怎样才能做到这一点?
编辑:
我想创建一个类似于 Android 中LocationListener
界面onLocationChanged
功能的方法。每当我获得新数据时,我都想将其传递给此方法,并且实现我的接口的人应该在该方法中获取新数据。
假设您创建了一个如下所示的接口:
public interface MyListener {
public void a(int data);
}
这是您的服务器类:
public class Server {
private MyListener mListener;
public static void setListener(MyListener listener) {
mListener = listener;
}
/**
* This is the method you should call when you get new data
*/
private void doSomeWork() {
int data = 0;
// Process data
if(mListener != null)
mListener.a(data);
}
}
然后你可以像这样实现来接收数据:
public class MainActivity extends Activity implements MyListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Blah blah blah
Server.setListener(this);
}
@Override
public void a(int data) {
// You can receive the data here
}
}