小编Jef*_*rod的帖子

sbt:如何在项目中添加本地文件系统jar?

我有一个编译为jar的库(不是sbt项目,只是jar文件),它在存储库中不可用.

有没有一种简单的方法可以直接在文件系统/项目中添加对jar的引用?

jar repository sbt

53
推荐指数
2
解决办法
3万
查看次数

使用Guice注入通用实现

我希望能够使用Guice注入通用接口的通用实现.

public interface Repository<T> {
  void save(T item);
  T get(int id);
}

public MyRepository<T> implements Repository<T> {
  @Override
  public void save(T item) {
    // do saving
    return item;
  }
  @Override
  public T get(int id) {
    // get item and return
  }
}
Run Code Online (Sandbox Code Playgroud)

在C#中使用Castle.Windsor,我可以做到:

Component.For(typeof(Repository<>)).ImplementedBy(typeof(MyRepository<>))
Run Code Online (Sandbox Code Playgroud)

但我不认为Guice中存在等价物.我知道我可以TypeLiteral在Guice 中使用来注册个人实现,但是有没有办法像Windsor那样一次注册它们?

编辑:

这是一个用法示例:

Injector injector = Guice.createInjector(new MyModule());
Repository<Class1> repo1 = injector.getInstance(new Key<Repository<Class1>>() {});
Repository<Class2> repo2 = injector.getInstance(new Key<Repository<Class2>>() {});
Run Code Online (Sandbox Code Playgroud)

虽然更可能的用法是注入另一个类:

public class ClassThatUsesRepository {
  private Repository<Class1> repository;

  @Inject
  public ClassThatUsesRepository(Repository<Class1> …
Run Code Online (Sandbox Code Playgroud)

java ioc-container guice typeliteral

47
推荐指数
2
解决办法
3万
查看次数

List <?>在java泛型中的含义是什么?

什么List<?>意思,它只是意味着一个未指定类型的对象列表?

谷歌搜索字符串<?>返回没有任何用处(:

java generics bounded-wildcard

42
推荐指数
3
解决办法
4万
查看次数

如何为Android支持库启用javadoc?

当使用Android支持库获得兼容性并尝试查看javadoc时FragmentTransaction,我得到以下错误,因为没有关联的javadoc文件:

android.support.v4.app.FragmentTransaction

注意:此元素既没有附加源也没有附加Javadoc,因此找不到Javadoc.

支持库添加在项目属性中的Android Dependencies项下,并显示Javadoc位置:(无) - 不可修改,如下所示.这有什么解决方法吗?

在此输入图像描述

android javadoc android-support-library

42
推荐指数
2
解决办法
1万
查看次数

redirect_to和render是否可以交换?

对于下面的代码,如果用render或vise verse替换redirect_to会发生什么?

def create
  @product = Product.new(params[:product])

  respond_to do |format|
    if @product.save
      format.html { redirect_to(@product, :notice => 'Product was successfully created.') }

    else
      format.html { render :action => "new" }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

似乎可以在上面的代码中替换另一个.是否只有redirect_to或render必须使用的地方?渲染除了渲染视图外什么都不做.Redirect_to向服务器发送302请求,重定向后当前参数丢失.

谢谢.

ruby-on-rails

40
推荐指数
2
解决办法
1万
查看次数

为什么要弃用观察者模式?

我注意到我的依赖注入,观察者模式繁重的代码(使用Guava的EventBus)通常比我过去编写的没有这些功能的代码更难调试.特别是在尝试确定调用观察者代码的时间和原因时.

马丁·奥德斯基和朋友们写了一篇冗长的论文,题目是"弃用观察者模式",我还没有花时间阅读它.

我想知道观察者模式的错误是什么,以及更好地引导这些聪明人写这篇论文的(建议的或其他的)替代方案.

首先,我确实在这里找到了一篇(有趣的)论文批评.

oop design-patterns observer-pattern

39
推荐指数
3
解决办法
2万
查看次数

如果我在onResume中为布局调用getMeasuredWidth()或getWidth(),则返回0

如果我在onResume中为布局调用getMeasuredWidth()或getWidth(),则返回0.我认为此时此视图尚未显示.

另外我认为我需要在绘制布局后调用的回调方法中放置getMeasuredWidth()或getWidth(),并且已知视图测量.我应该使用什么android回调方法?

layout android measurement

38
推荐指数
3
解决办法
3万
查看次数

如何在暂停时处理AsyncTask onPostExecute以避免IllegalStateException

我很欣赏有关轮换更改的AsyncTask的大量帖子.使用兼容性lib并试图解雇DialogFragmentin 时,我有以下问题onPostExecute.

我有一个片段,它触发AsyncTask显示进度DialogFragment,然后onPostExecute解散对话框然后可能抛出另一个DialogFragment.

如果在显示进度对话框时我把应用程序放到后台我得到了以下片段:

1) onPause

2) onSaveInstanceState

3)onPostExecute我尝试解雇并调用对话框.

我得到一个IllegalStateException因为我正在尝试在活动保存状态时有效地提交事务并且我理解这一点.

在轮换中,我假设(可能不正确)onPostExecute在重新创建活动之前我不会得到.但是,当把应用程序放到后台时,我假设(肯定是错误的)onPostExectute在片段/活动暂停时不会被调用.

我的问题是,我的解决方案是简单地检测onPostExecute到片段/活动暂停并简单地执行我需要做的事情onResume吗?对我来说似乎有些难看.

提前谢谢,彼得.

编辑1

需要支持2.1及以上版本

编辑2

我已经考虑过使用对话框FragmentTransaction:add,FragmentTransaction:commitAllowingStateLoss但这并非没有问题.

android android-lifecycle android-asynctask android-fragments

37
推荐指数
2
解决办法
3万
查看次数

如何在Android中播放音频时显示MediaController?

如何MediaController播放音频文件?我正在创建一个实例MediaController并调用它的show()方法,但它没有显示.可以帮我解决这个问题吗?

android

35
推荐指数
2
解决办法
5万
查看次数

Android SDK内容加载器因NullPointerException而失败

我刚刚开始在Eclipse Helios中与Android SDK和AVD Manager交互时遇到错误

我已经尝试重新安装Eclipse插件和Android SDK,但无济于事.

如果我转到"已安装的软件包"页面并单击刷新(或安装或删除软件包),我会弹出一个弹出框说

'Android SDK Content Loader' has encountered a problem. 
parseSdkContent failed 
java.lang.NullPointerException.
Run Code Online (Sandbox Code Playgroud)

这是完整的日志:

堆栈跟踪

java.lang.NullPointerException
   at com.android.ide.eclipse.adt.internal.sdk.Sdk.loadTarget(Unknown Source)
   at com.android.ide.eclipse.adt.AdtPlugin$10.run(Unknown Source)
   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Run Code Online (Sandbox Code Playgroud)

会话数据

eclipse.buildId=M20100909-0800
java.version=1.6.0_20
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_IE
Framework arguments:  -product org.eclipse.epp.package.java.product
Command-line arguments:  -os linux -ws gtk -arch x86 -product org.eclipse.epp.package.java.product
Run Code Online (Sandbox Code Playgroud)

最近有没有其他人遇到过这个?它似乎并没有影响实际的Android开发,但它只是有点烦人.

android nullpointerexception android-virtual-device

33
推荐指数
6
解决办法
5万
查看次数