Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Roboguice未注入对象并导致空指针异常_Java_Android_Dependency Injection_Sharedpreferences_Roboguice - Fatal编程技术网

Java Roboguice未注入对象并导致空指针异常

Java Roboguice未注入对象并导致空指针异常,java,android,dependency-injection,sharedpreferences,roboguice,Java,Android,Dependency Injection,Sharedpreferences,Roboguice,我正在尝试创建(注入)一个SharedReferences对象,这会导致NullPointerException,但我似乎不知道为什么 AndroidStudio中的错误: java.lang.NullPointerException 位于com.tom.android.common.TomApplication.getLoggedIn(TomApplication.java:110) 我如何注射: public class TomApplication extends Application

我正在尝试创建(注入)一个SharedReferences对象,这会导致NullPointerException,但我似乎不知道为什么

AndroidStudio中的错误:

java.lang.NullPointerException 位于com.tom.android.common.TomApplication.getLoggedIn(TomApplication.java:110)

我如何注射:

public class TomApplication extends Application {

    @Inject
    private SharedPreferences sharedPreferences;
给出错误的第(110)行:

Boolean loggedIn = sharedPreferences.getBoolean(PrefsHelper.LOGGED_IN, false);
这是我的app/build.gradle文件:

应用插件:“com.android.application”

安卓{ 编译DK10版 buildToolsVersion“20.0.0”

依赖关系{

compile 'com.android.support:support-v4:20.0.0'

compile 'org.roboguice:roboguice:2.0'

compile files('libs/android-sqlite-asset-helper.jar') 

}
最后,这是我的模块:

package com.tom.android.common.module;

import com.google.inject.AbstractModule; 
import roboguice.inject.SharedPreferencesName;

public class TomModule extends AbstractModule {

@Override
protected void configure() {
 bind(String.class).annotatedWith(SharedPreferencesName.class).toProvider(PreferencesNameProvider.class);
}

}

关于我做错了什么有什么想法吗?

您应该在构造函数中添加以下内容:

RoboGuice.injectMembers(context, this);
检查
RoboGuice.injectMembers(context, this);