我正在开发一款应用,可以在可穿戴的Android Wear和手机之间不断进行通信。涉及两者之间沟通的事件的基本进展如下:
我的问题是,最好使用AsyncTask执行此操作,以便UI线程不会等待响应吗?如果这是最好的解决方案,我应该在每次运行任务时创建一个新的GoogleApiClient,还是在onPreExecute()中创建一次或尝试从MainActivity获取客户端?
答案 0 :(得分:0)
正如Paresh所说,在我看来,服务要好得多,因为它可以运行直到你想要,而且每次创建AsyncTask时都没有必要创建一个新的GoogleApiClient,只需要有一个。< / p>
关于第二个问题,我在我的应用程序中做的是:创建服务,当onStartCommand(Intent intent,int flags,int startId)时,创建GoogleApiClient。连接客户端时,会向其添加相应的侦听器。
最后一部分的一个例子:
@Override //ConnectionCallbacks
public void onConnected(Bundle connectionHint) {
Log.d(TAG, "Google API Client connected");
Wearable.DataApi.addListener(mGoogleApiClient, this);
Wearable.MessageApi.addListener(mGoogleApiClient, this);
startDataExchange();
}