我有一些使用泛型的Guice绑定代码,它可以从Eclipse的编译器编译和运行,但不能从Java(命令行)编译器编译.我升级到最新的(1.7.0_01)Java SDK但仍然收到以下错误.
[error] ...\BindCategorySelectorActivity.java:42: error: inconvertible types
[error] (Class<? extends ListAdapterDataProvider<Row<? extends DatabaseItem>>>) CategoryDataProvider.class);
[error] ^
[error] required: Class<? extends ListAdapterDataProvider<Row<? extends DatabaseItem>>>
[error] found: Class<CategoryDataProvider>
[error] 1 error
[error] {file:/.../compile:compile: javac returned nonzero exit code
Run Code Online (Sandbox Code Playgroud)
相关代码:
public interface Category extends DatabaseItem {}
public class CategoryDataProvider implements
ListAdapterDataProvider<Row<Category>> {}
public class BindListViewHandlerWithSpecificProvider extends AbstractModule {
public BindListViewHandlerWithSpecificProvider(
Class<? extends ListAdapterDataProvider<Row<? extends DatabaseItem>>>
dataProviderClass) {}
}
@SuppressWarnings("unchecked")
// Error happens here:
final BindListViewHandlerWithSpecificProvider
bindListViewHandlerWithSpecificProvider =
new BindListViewHandlerWithSpecificProvider(
(Class<? extends ListAdapterDataProvider<Row<? extends …Run Code Online (Sandbox Code Playgroud) 我想从我的Javadocs中轻松创建类,方法,字段等的链接,而不必输入完整的表达式,例如{@link AllowAllHostnameVerifier}.
在Eclipse中执行此操作的最快方法是什么?
如何使用Eclipse的内置重构工具将方法的局部变量或表达式转换为方法参数?
我正在开发一个Android应用程序.现在我正在将bbcode解析为html并将其显示在textview中,textview位于自定义列表视图中.我使用Html.ImageGetter()来显示从AsyncTask下载的图像.
它适用于少量图片.但是,如果要求应用程序下载40-50张图片,则会创建40-50个任务,这会变得一团糟.每个任务都会打开一个流来下载图像.之后,它将字节解码为位图,调整大小,将它们保存到SD卡并循环使用位图.
现在,如果应用程序同时加载所有这些图像,它会使用大量内存.我设法让它通过48 MB.16到48之间有一个很大的差距:(.我搜索了如何解决这个问题.我从谷歌下载了AsyncTask代码:
并将池大小设置为3.但这没有帮助.我真的无法弄清楚我在哪里失去了公羊.一旦我把一个大任务队列,我的公羊就疯了.收到一些图像后,它变得最糟糕.我不认为这是图像,因为我可以在显示任何图像之前达到30 mb.该应用程序本身包括视图,信息及其服务使用13 MB,其余所有泄漏在这里.
队列本身是否会进行大的ram分配?或者是Html.ImageGetter()以某种方式泄漏了大量的内存?有一个更好的方法吗?
在这里我加载图像:
public void LoadImages(String source) {
myurl = null;
try {
myurl = new URL(source);
} catch (MalformedURLException e) {
e.printStackTrace();
}
new DownloadImageFromPost().execute(myurl);
}
private class DownloadImageFromPost extends AsyncTask<URL, Integer, Bitmap> {
@Override
protected Bitmap doInBackground(URL... params) {
URL url;
Log.d(TAG, "Starting new image download");
try {
url = params[0];
HttpURLConnection connection = (HttpURLConnection) url
.openConnection();
int length = connection.getContentLength();
InputStream is = (InputStream) url.getContent();
byte[] imageData = new byte[length]; …Run Code Online (Sandbox Code Playgroud) 我只是想用ORMLite设置我的Android项目.我正在使用Roboguice进行DI.现在我的问题是,这里是否有人可以帮助那些合作.
我已经设置了我的助手类扩展OrmLiteSqliteOpenHelper.现在我想知道如何注入正确的DAO类.
一般的最佳实践将是太棒了.因为使用OrmLiteBaseActivity不应该真正适用,因为这应该由Roboguice处理.问题是:如何?
我非常感谢任何帮助,经验,最佳实践等.
我有一个活动,希望用户选择一个项目,但用户可以选择单击后退按钮而不选择项目.此"项目选择"活动以startActivityForResult()开始.
我想知道两件事.首先,当实际选择项目时,只有setResult(RESULT_OK)就足够了,即,如果我没有明确地设置它,我可以依赖结果未设置为RESULT_OK吗?
第二,如果这是不够的依靠(初始化)的结果,是没关系的用户选择后调用的setResult()多次,第一次"初始化"的结果RESULT_CANCELED,然后调用的setResult(RESULT_OK)一件物品,在完成活动之前?
给定以下Scala对象:
object ScalaObject {
val NAME = "Name"
}
Run Code Online (Sandbox Code Playgroud)
似乎Scala编译器生成一个无参数的方法来访问该NAME字段.但是,当我尝试从Java访问此字段时,看起来访问此字段的唯一方法是作为无参数方法,如:
System.out.println(ScalaObject$.MODULE$.NAME());
Run Code Online (Sandbox Code Playgroud)
有没有办法哄骗Scala编译器,允许Java val按照预期的Java习惯用法访问:
System.out.println(ScalaObject$.MODULE$.NAME);
Run Code Online (Sandbox Code Playgroud) 我的开发广泛使用机器人腿绑定问题.我知道如何解决它与PrivateModule在吉斯,但目前尚不清楚如何做到这一点与Scala的蛋糕图案来完成.
有人可以解释一下如何做到这一点,理想情况下,根据Jonas Boner在博客文章末尾的咖啡示例中的具体例子?也许有一个可以配置为左侧和右侧的加热器,注入一个方向和一个def isRightSide?
dependency-injection scala guice cake-pattern robot-legs-problem
是否存在等效于"更改方法签名"重构的Eclipse重构,它允许您修改类,枚举或接口的通用参数的"签名"?
例如,如果我想删除,重新排序或向类型引入其他泛型参数,它会相应地更改对类型的引用并添加默认值等.
我试图取消注册时,在我的一个类中遇到以下错误.
java.lang.IllegalArgumentException:缺少带注释方法的事件处理程序.[DerivedClass]是否已在com.google.common.eventbus.EventBus.unregister(EventBus.java:227)注册?"
类调用unregister(this)具有公共@Subscribe注释方法.