这在本机Android java中意味着什么?

时间:2015-08-22 03:15:47

标签: java android eclipse

我是Android原生开发的新手。虽然跟踪代码我找到了这段代码,但无法理解它是做什么的。

我怀疑这些是,

1.)如果我们在Activity.java中使用接口方法,我不应该让Activity.java使用implement关键字来实现Icommand Interface中提到的那些方法。

2.)如果没有那么它在做什么here.is变量onsuccess是接口的对象或实例?

请有人帮我理解这一点。

在Icommand.java

 public interface ICommand<T, S> {
public T execute(S params) throws Exception;
     }

在Activity.java

public class Activity extends BaseActivity {
 private ICommand<Void, String> onSuccess = new ICommand<Void, String>() {
    @Override
    public Void execute(String params) throws Exception {
        Activity.this.setPreferenceValue(Constants.PREF_PHONENUMBER, params);

        Activity.this.setPreferenceValue(Constants.PREF_HASPHONENUMBER, "true");
       Activity.this.finish();
        return null;  
    }
};

}

1 个答案:

答案 0 :(得分:0)

是的,你必须实现你的接口,并覆盖你所拥有的方法,就是这个功能。

它作为回调函数,所以例如你启动一个新的Thread,你可以使用CallBack并传递给你的Thread或AsyncTask然后在那个新的Class中调用接口方法。这会自动调用您从接口覆盖的活动方法。在某些任务之后更新某些UI非常有用。

当然你也可以使用内部类Callback Listener,但这不是值得推荐的。使用工具和覆盖函数代码更易读。

希望有所帮助。

问候。