Java Roboguice未注入对象并导致空指针异常
我正在尝试创建(注入)一个SharedReferences对象,这会导致NullPointerException,但我似乎不知道为什么 AndroidStudio中的错误: java.lang.NullPointerException 位于com.tom.android.common.TomApplication.getLoggedIn(TomApplication.java:110) 我如何注射: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
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);