我希望能够在除了创建googleapiclient obj(主要活动)之外的不同活动中更新我的排行榜的分数。

是什么最好的方法?

正在使obj是正确的方式?如果是这样,如果类是图书馆的一部分,你怎么能这样做。

你可以让obj静态吗?是安全吗?

关于如何实现这一目标的任何建议都会很棒。

其他提示

您可以使用应用程序类,一个面向Android型的单身模式类,它可能是您的Apiclient呼叫的基类。

这里是 api 例子以及为什么使用 over singleton 。

我的真实测试是: 1.通过将其作为Intent参数,不能将Googleapiclient作为对象传递给另一个服务或活动。 2.放开单例类解决如下: +步骤1:使单例类包括作为数据成员的GoogLeapiclient对象。请这样做:

import com.google.android.gms.common.api.GoogleApiClient;

public class MyGoogleApiClient_Singleton {
    private static final String TAG = "MyGoogleApiClient_Singleton";
    private static MyGoogleApiClient_Singleton instance = null;

    private static GoogleApiClient mGoogleApiClient = null;

    protected MyGoogleApiClient_Singleton() {

    }

    public static MyGoogleApiClient_Singleton getInstance(GoogleApiClient aGoogleApiClient) {
        if(instance == null) {
            instance = new MyGoogleApiClient_Singleton();
            if (mGoogleApiClient == null)
                mGoogleApiClient = aGoogleApiClient;
        }
        return instance;
    }

    public GoogleApiClient get_GoogleApiClient(){
        return mGoogleApiClient;
    }
}   
.

  • 步骤2:在主活动类中,初始化roogleapiclient对象,然后使用mgoogleapiclient调用getInstance作为单例基类的参数。

  • 步骤3:在您要传递googleapiclient对象的另一个服务/活动中,只需调用getInstance(null)单例baseclass,并调用get_googleapiclient来获取所需的googleapiclient对象。

如果有任何问题,请联系我thienpham2008@gmail.com。

如果您需要不断连接到roogleapiclient,那么我可能会使单例类来处理googleapiclient调用( http://en.wikipedia.org/wiki/singleton_pattern )或制作将为整个应用程序生命周期运行的后台服务( https://developer.android.com/traine/best-background.html )。

来自开发人员文档

googleapiclient与各种静态方法一起使用。一些 这些方法要求连接谷歌,有些意志 在连接googleapiclient之前队列呼叫;检查具体 API文档以确定是否需要连接。

如果您不需要立即发送数据,Googleapiclient将队列队列要为您发送的数据,并在主要活动中发送。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top