Глобальная обработка ошибок в приложении Android с Roboguice
Я работаю над приложением для Android, которое использует инфраструктуру внедрения зависимостей Roboguice. Поэтому большую часть времени мы расширяем RoboActivity, RoboListActivity и тому подобное.
Теперь я хотел бы представить некоторую глобальную обработку ошибок, которая будет показывать некоторое предупреждение или активность ошибки в случае сбоя приложения.
Я сделал это раньше, реализовав базовое действие, как это:
public class BaseActivity extends Activity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Thread.setDefaultUncaughtExceptionHandler(new GeneralError(this));
}
где я определяю обработчик исключений по умолчанию и все остальные действия, производные от этого.
Теперь мне интересно, как это достигается с помощью Roboguice?
1 ответ
Вот пример грубого кода psuedo, с которого стоит начать. Он использует события roboguice, чтобы немного облегчить некоторые из этих сквозных задач.
public class GlobalErrorHandler {
// injects the current activity here
@Inject Context context;
public void onCreate(@Observes OnCreateEvent e) {
// Wires up the error handling
Thread.setDefaultUncaughtExceptionHandler(new GeneralError(context));
}
}
public class MySpecificActivity {
// required in every activity that needs error handling
@Inject GlobalErrorHandler errorHandler;
}