小编Ind*_*Nai的帖子

无法找到导入javax.inject.Inject包

我正在尝试将Dagger实现为IntelliJ项目中的依赖注入器,但我的代码失败了:

import javax.inject.Inject;
Run Code Online (Sandbox Code Playgroud)

Intellij正在寻找' javax'包,但不是' inject'包,所以它失败了.

我是Android的新手,所以我很抱歉,如果这是一个没脑子,但任何人都可以告诉我为什么没有找到注入包?

java importerror dagger

23
推荐指数
4
解决办法
5万
查看次数

Dagger项目在getApplication覆盖时无声地失败

我试图在IntelliJ中运行Dagger简单示例,但它在DemoBaseActivity类中的getApplication调用失败:

public abstract class DemoBaseActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
    ((DemoApplication) getApplication()).inject(this);
  }
}
Run Code Online (Sandbox Code Playgroud)

当它达到注入方法时,应用程序会无声地失败而没有错误.我使用基类Activity的实例而不是DemoBaseActivity构建了项目,并且它部署得很好.

有什么想法吗?

编辑:

当Activity的getApplication()调用的返回值被转换为自定义DemoApplication类型时,它似乎正在破坏.

package com.badlogic.androidgames.simple;

import android.app.Application;
import dagger.ObjectGraph;

import java.util.Arrays;
import java.util.List;

    public class DemoApplication extends Application
    {
    private ObjectGraph graph;

    @Override
    public void onCreate()
    {
    super.onCreate();
    graph = ObjectGraph.create(getModules().toArray());
    }

    protected List<Object> getModules()
    {
    return Arrays.asList(new AndroidModule(this), new DemoModule());
    }

    public void inject(Object object)
    {
    graph.inject(object);
    }
    }
Run Code Online (Sandbox Code Playgroud)

编辑:这是堆栈跟踪:

10-03 05:15:25.331:ERROR/AndroidRuntime(5035):FATAL EXCEPTION:main java.lang.RuntimeException:无法启动活动ComponentInfo {com.badlogic.androidgames.simple/com.badlogic.androidgames.simple.ui. HomeActivity}:java.lang.ClassCastException:android.app.Application无法在android.app.ActivityThread.handleLaunchActivity的android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)上强制转换为com.badlogic.androidgames.simple.DemoApplication. (ActivityThread.java:2261)在Android.app.Handler.dispatchMessage(Handler)上的android.app.ActivityThread.access $ 600(ActivityThread.java:141)android.app.ActivityThread …

android intellij-idea dagger

4
推荐指数
1
解决办法
1501
查看次数

标签 统计

dagger ×2

android ×1

importerror ×1

intellij-idea ×1

java ×1