【发布时间】:2015-05-03 23:21:06
【问题描述】:
我需要在多个活动中使用mGoogleApiClient,所以我决定创建一个MyApplication 类,其中extends Application 类:
public class MyApplication extends Application {
public static GoogleApiClient mGoogleApiClient;
public Context mContext;
@Override
public void onCreate() {
super.onCreate();
mGoogleApiClient = new GoogleApiClient.Builder(mContext)
.addConnectionCallbacks(mContext)
.addOnConnectionFailedListener(mContext)
.addApi(Plus.API).addScope(Plus.SCOPE_PLUS_LOGIN)
.addApi(Games.API).addScope(Games.SCOPE_GAMES)
.build();
}
@Override
public void onTerminate() {
super.onTerminate();
}
}
但是这两行有问题:
.addConnectionCallbacks(mContext)
.addOnConnectionFailedListener(mContext)
因为我需要实现
GoogleApiClient.ConnectionCallbacks 和 GoogleApiClient.OnConnectionFailedListener
然后重写这些方法:
@Override
public void onConnected(Bundle bundle) {
}
@Override
public void onConnectionSuspended(int i) {
}
@Override
public void onConnectionFailed(ConnectionResult connectionResult) {
}
一般来说,Application 类是否允许 implement 和 interface,我应该这样做,还是应该从 mGoogleApiClient 中删除这两行并可能在其他活动中初始化它们?
我不知道Application 类将如何处理这些方法和连接状态,以及我是否需要在我的其他活动中再次实现这些方法。
有什么建议吗?
【问题讨论】:
标签: android interface google-play-services