Обеспечение только одного экземпляра RxBleClient

Возможно, я не правильно понимаю ситуацию, но нам сказали, что важно иметь только один экземпляр RxBleClient.

Разве это не легко сделать, сделав его статическим членом класса Application?

class MyApp extends Application {
    static RxBleClient rxBleClient; 
    ...
}

Кроме того, мне трудно понять этот код (из вашего класса приложения):

   public static RxBleClient getRxBleClient(Context context) {
       RxBleApp application = (RxBleApp) context.getApplicationContext();
       return application.rxBleClient;
   }

Не могли бы вы помочь мне понять, что он делает и почему? Почему это не может просто

return rxBleClient;

1 ответ

Это можно сделать, взяв статический член класса. Хотя это более элегантно, чтобы пройти через пример RxBleApp что делает его более тестируемым (если были какие-либо тесты для части образца).

RxBleClient упоминается в RxBleApp который андроид Application, Контекст приложения можно получить из Context,

Другие вопросы по тегам