我从这里下载alfresco android sdk 1.0.1 link然后我解压缩文件。
之后,我打开 Eclipse,创建新工作区,然后单击文件 -> 导入 -> Android -> 将现有 Android 代码放入工作区 -> 我在解压缩 sdk 中浏览的根目录 -> 全选 -> 检查将项目复制到工作区 -> 完成
然后我在 src 目录中发现了很多错误,例如这样的代码
@Override
public Loader<LoaderResult<PagingResult<ActivityEntry>>> onCreateLoader(int id, Bundle ba)
{
if (!hasmore)
{
setListShown(false);
}
// Case Init & case Reload
bundle = (ba == null) ? getArguments() : ba;
ListingContext lc = null, lcorigin = null;
if (bundle != null)
{
lcorigin = (ListingContext) bundle.getSerializable(ARGUMENT_LISTING);
lc = copyListing(lcorigin);
loadState = bundle.getInt(LOAD_STATE);
}
calculateSkipCount(lc);
ActivityStreamLoader loader = new ActivityStreamLoader(getActivity(), alfSession);
loader.setListingContext(lc);
return loader;
}
第二行出现错误标记(public Loader ...)Eclipse 说:
Multiple markers at this line
- The methode onCreateLoader(int, Bundle) of type ActivityStreamFragment must override a superclass method
- implements android.app.LoaderManager.LoaderCallbacks<org.alfresco.mobile.android.api.asynchronous.LoaderResult<org.alfresco.mobile.android.api.model.PagingResult<org.alfresco.mobile.android.api.model.ActivityEntry>>>.onCreateLoader
我想知道我应该怎么做才能解决这个错误?因为我想用该源代码构建 alfresco android..
注意:我使用alfresco-android-sdk-1.0.1,Eclipse SDK版本:3.7.2,jdk-1_5_0_22-windows-i586-p
谢谢
最佳答案
您正在使用 Java 1.5 (jdk-1_5_0_22-windows-i586-p)
要编译您的应用程序,您需要将编译器升级到 1.6,因为对 @Override 注释进行了一些更改。
In Java 5, the @Override annotation might be applied only to the methods overriding superclass ones. Since Java 6 you can use the @Override annotation also with the methods that implements the interface ones.
也有可能您已经安装了它,但未在 eclipse 中设置 - 您可以在项目属性中更改编译器版本:Java 编译器 -> 编译器合规级别。
来源:
- http://piotrnowicki.com/2012/02/override-differences-in-java-5-and-java-6/
- build settings对于 alfresco 来说,它需要 1.6 才能编译 (
<maven.compile.source>1.6</maven.compile.source>
)
关于java - Eclipse 上的 Alfresco Mobile Android 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16102061/