Ich entwickle eine Android App mit Google+ API. Ich habe mehrere Aktivitäten, die jeweils eine Instanz von GoogleApiClient erfordern.
Wie ich aus diesem Beitrag
Bauen wir mit den Methoden .addApi (), .addscope () erneut eine Methode und implementieren die Methoden onConnected und OnConnectedFailedListener erneut? Weil es sich wiederholend und ineffizient scheint. Und würde das Implementieren dieser Methoden die gleichen Methoden auch von anderen Aktivitäten überschreiben?
Es ist nicht teuer, mehrere Instanzen von GoogleApiClient
zu erstellen. In der Tat wird es mit Effizienz helfen, wenn Sie mehr als nur eine API verwenden. Nur die von Ihnen speziell angeforderten Dienste werden hochgespielt. Wenn eine Aktivität Plus verwendet und eine andere Google Drive verwendet, muss der Plus-Service nicht hochgespielt werden, wenn Sie die Google Drive-Aktivität ausführen.
Um es klar zu sagen, es wird empfohlen, dass Sie eine separate Instanz von GoogleApiClient
für jede von Ihnen erstellte Aktivität, Fragment, Loader, Dienst oder Anwendung erstellen (vielleicht sogar einige andere, die ich auch vergessen habe).
Wenn Sie das wirklich nicht möchten, verwenden Sie den Anwendungskontext anstelle einer Aktivität oder eines Fragments, um GoogleApiClient
zu erstellen und einen Verweis darauf in einem Anwendungsobjekt zu halten.
Ich habe gerade das gleiche Dilemma gehabt. Um das zu umgehen, habe ich das BaseGameUtil verwendet ... nicht sicher, ob Sie das verwenden, aber wenn es dann einfach ist, können Sie einfach jede Aktivität erweitern, die erforderlichen Methoden hinzufügen und dann ein GoogleApiClient-Objekt und einen GetApiClient erstellen geben Sie die Möglichkeit, den GoogleApiClient in Ihrer zweiten Aktivität zu verwenden.
%Vor%Wenn du das BaseGameUtil nicht verwendest, dann denke ich, dass du es so erstellen musst, wie du es tust, was ein Schmerz ist, zumindest macht das Basegameutil es für dich, und du kannst immer ändern was in der BGU ist, da es mehr Beispiele sind als Bibliotheken.
Hoffe, das hilft.
Tags und Links java android google-api google-plus