我想创建一个接口(interface),其中包含一个定期调用的方法 A()。一个常见的例子是 Android 中 LocationListner 的 onLocationChanged() 方法。
如果有人实现了我的接口(interface),那么当我从服务器获得一些新读数时应该调用 A()。
我怎样才能做到这一点?
编辑:
我想创建一个方法,其功能类似于 Android 中 LocationListener
接口(interface)的 onLocationChanged
。
每当我获得新数据时,我都想将其传递给此方法,并且实现我的接口(interface)的人应该在该方法中获取新数据。
最佳答案
假设您创建了这样一个界面:
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
}
}
关于java - 在接口(interface)中创建一个定期调用的方法 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27182708/