NullPointerException con Otto y Dagger
Soy nuevo en Otto y estoy teniendo serios problemas para resolver su funcionamiento junto con el inyector de dependencia Dagger y JobManager. Cada vez que inicie mi aplicación, sigo recibiendo el mismo mensaje de error:
"java.lang.RuntimeException: Unable to resume activity {sdos.juanjosemelero.pruebaormlite2/sdos.juanjosemelero.pruebaormlite2.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void com.squareup.otto.Bus.register(java.lang.Object)' on a null object reference" [...] "Caused by java.lang.NullPointerException: Attempt to invoke virtual method 'void com.squareup.otto.Bus.register(java.lang.Object)' on a null object reference".
La línea que reffers es ésta:
- Debug Android primavera marco: imprimir las solicitudes enviadas
- Android: Dos instancias de Media Recorder al mismo tiempo
- Conectar el teléfono a la computadora hace que Eclipse se bloquee (peor después de actualizar a ICS)
- Referencia indefinida a `__android_log_print '
- Cómo obtener registro completo del sistema de android
bus.register(this);
Esta es mi actividad:
public class MainActivity extends ActionBarActivity { @Inject Bus bus; @Override protected void onResume() { super.onResume(); bus.register(this); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.inject(this); } @Override protected void onDestroy() { super.onDestroy(); bus.unregister(this); } }
Y aquí está mi módulo de inyección de Dagger:
@Module( injects = {MainActivity.class}, library = true ) public class MyModule { private final MyApplication application; public MyModule (MyApplication application) { this.application = application; } @Provides @Singleton MyApplication provideMyApplication() { return application; } @Provides @Singleton public Bus provideBus (){ return new Bus(ThreadEnforcer.ANY); } }
Y MyApplication clase en caso de que sea interesante echar un vistazo a ella:
public class MyApplication extends Application { private ObjectGraph objectGraph; private static MyApplication application; //Constructor public MyApplication() { application = this; } @Override public void onCreate() { super.onCreate(); buildObjectGraph(); } public void buildObjectGraph() { objectGraph = ObjectGraph.create(new MyModule(this)); } public void inject(Object o) { objectGraph.inject(o); } public static MyApplication get() { return application; } }
¿Supongo que para inicializar MainActivity de alguna manera?
- ¿Cómo obtener los mensajes "printf" escritos en la aplicación NDK?
- Registro de consultas SQL en android
- Android 4.0.3 y actividad final
- ¿Cómo registrar una cuenta de desarrollador de Android para una empresa?
- ¿Cómo obtener el último registro de Sqlite?
- Adb logcat -f log.txt error: no se pudo abrir el archivo de salida: Sistema de archivos de sólo lectura
- Cómo imprimir los mensajes de registro con el marco de Android
- Cómo obtener los errores de la consola del navegador en Android-Phonegap-app, posiblemente en Eclipse?
No está inyectando MainActivity en onCreate con el gráfico de objetos. Eso es todo.
Solo llama
MyApplication.get().inject(this);
En MainActivity onCreate ().
- ¿Cómo puedo implementar un cromo como "auto-ocultar navegación" para mi aplicación de Android?
- ¿Cómo comprobar si el dispositivo tiene cámaras frontales y traseras?