我想在我的Android应用上制作网络片段,以便从数据库服务器上传和下载信息。按照Developer页面上的Android networking指南和Github上相应的example project,我创建了一个测试网络连接的演示。
我从示例项目中逐字复制了文件DowloadCallback.java
(包含已实现的网络接口)和NetworkFragment.java
(网络片段线程),并在AndroidManifest.xml
中添加了必要的权限。
当我尝试将片段实现到我的活动中时,我在几个相当奇怪和违反直觉的地方出错:
代码
public class MainActivity extends FragmentActivity implements DownloadCallback {
...
@Override
public void updateFromDownload(String result) {
...
}
}
错误
类'MainActivity'必须以抽象方式声明,或者在'DownloadCallback'中实现方法'updateFromDownload(T)'
Method不会覆盖其超类
中的方法公共类说它需要一个特定的方法让类实现DownloadCallback
,但是当我添加这样的方法时,它说它在它的超类中不存在。这些错误如何共存?我该如何解决这个问题?
顺便说一下,这与示例项目中定义主活动类的方式完全相同。另外我在Github上发布了这个问题,但我希望能在这里得到更快的响应和关注。
答案 0 :(得分:1)
基于this您必须为<T>
定义DownloadCallback
在你的情况下T
是String
所以改变你的代码如下
public class MainActivity extends FragmentActivity implements DownloadCallback<String>