Intereting Posts
AdjustResize не работает после отклонения клавиатуры нажатием внешней клавиатуры Динамическое добавление представлений в цикле for приводит к беспорядочному позиционированию – Android 3.2 проблема установки платформы sdk. "Готово. Ничего не было установлено " Почему метод onNewIntent (намерение намерения) вызывается дважды? Поведение статической переменной android при сбое приложения Android RecyclerView, который находится во Фрагменте, который находится в ViewPager, не перезагружает / обновляет представления, если установлено setOffscreenPageLimit Какой видеоформат будет воспроизводиться на всех устройствах Android? В андроиде, просмотр превью камеры на просмотр Как читать свойства Android с помощью Java Проблемы с Android Sdk Revision 22? Анимация, которая не является частью вашего приложения Android Froyo настройка мелодии звонка Android ListView – остановить прокрутку в позиции «целое» Приложение зависает / замерзает при использовании функции camera.open () – требуется перезапуск устройства Как построить макет подсказок клавиатуры в android

Создание GoogleApiClient для нескольких действий

Я разрабатываю приложение для Android с API Google+. У меня есть несколько действий, каждый из которых требует одного экземпляра GoogleApiClient.

Как я понимаю из этого сообщения, можно вызвать тот же экземпляр GoogleApiClient для каждого вида деятельности. Мой вопрос: как мы создаем копии GoogleApiClient?

Снова ли мы построим с помощью .addApi (), .addscope () и снова реализуем метод onConnected и OnConnectedFailedListener? Потому что это кажется повторяющимся и неэффективным. И не будут ли эти методы отменять одни и те же методы из других видов деятельности?

Solutions Collecting From Web of "Создание GoogleApiClient для нескольких действий"

Не стоит создавать несколько экземпляров GoogleApiClient . Фактически это поможет с эффективностью, если вы используете не только один API. Только услуги, которые вы запрашиваете, будут заправлены. Поэтому, если в одном из видов деятельности используется Plus, а другой – на Диске, услугу Plus не нужно закручивать, когда вы находитесь в активности Диска.

Чтобы быть ясным, рекомендуется создать отдельный экземпляр GoogleApiClient для каждого созданного GoogleApiClient Activity, Fragment, Loader, Service или Application (возможно, даже некоторых других, которые я тоже забыл).

Если вы действительно этого не хотите, используйте контекст приложения вместо активности или фрагмента для создания GoogleApiClient и сохраните ссылку на него в объекте Application.

У меня была такая же дилемма. Чтобы обойти это, я использовал BaseGameUtil … не уверен, что если вы используете это, но если вы тогда, то это просто, вы можете просто активировать каждый вид деятельности BaseGameActivity, добавить необходимые методы, а затем создать объекты GoogleApiClient obj и getApiClient, которые затем Дать вам возможность использовать GoogleApiClient во втором действии.

 mGoogleApiClient = getApiClient(); 

Если вы не используете BaseGameUtil, тогда я думаю, что вам нужно будет создать его, как вы делаете выше, что боль, по крайней мере basegameutil делает это для вас, плюс вы всегда можете изменить что-то в BGU, поскольку они больше примеров, чем библиотеки.

Надеюсь это поможет.