我是Android编程的新手,我正在尝试通过改造连接到服务器并获取一些数据。我做了一个小例子来检查它是否会返回一些数据。首先是一个问题,我不知道我是否写了代码来做我想做的事情,然后我得到错误:
"错误:(64,52)错误:不是抽象的,并且不会覆盖Callback"中的抽象方法失败(RetrofitError) 和2个错误"错误:(67,13)错误:方法不会覆盖或实现超类型的方法"
这是我的代码
public class MainActivity extends ListActivity{
public static final String ENDPOINT = "http://tinoba.hostzi.com";
List<Jelovnik> jelovnik;
Button gumb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
gumb = (Button)findViewById(R.id.gumb);
}
public void stisni(View view) {
RestAdapter adapter = new RestAdapter.Builder()
.setEndpoint(ENDPOINT)
.build();
JelovnikAPI api = adapter.create(JelovnikAPI.class);
api.getFeed(new Callback<List<Jelovnik>>() {
@Override
public void onResponse(Response<List<Jelovnik>> response, Retrofit retrofit) {
jelovnik = response.body();
gumb.setText(jelovnik.get(0).getIme().toString());
}
@Override
public void onFailure(Throwable throwable) {
}
});
}
} 和我的改造界面
public interface JelovnikAPI {
@GET("/read.php")
public void getFeed(Callback<List<Jelovnik>> response);
}
答案 0 :(得分:2)
您使用的Callback
版本来自Retrofit 2
,您仍在使用Retrofit 1.x
。 Callback有两种方法,failure
和success
。你的回调应该是
new Callback<List<Jelovnik>>() {
@Override
success(List<Jelovnik> t, Response response) {
}
@Override
public void failure(RetrofitError error) {
}
});
答案 1 :(得分:0)
将Throwable
替换为RetrofitError
:
@Override
public void onFailure(RetrofitError retrofitError) {
}