Estoy estudiando ahora la API de Android bluetooth, y me encontré con el ejemplo de BluetoothChat. http://developer.android.com/resources/samples/BluetoothChat/index.htmlBluetoothChat synchronized onResume Método del ciclo de vida de la actividad, ¿por qué?
Contiene muchos errores, en primer lugar, el simple hecho de que utiliza API 11 pero el manifiesto no fuerza esta API mínima.
Otra cosa interesante es el uso de la palabra clave sincronizada en los métodos del ciclo de vida de actividad, al igual que en onResume:
@Override
public synchronized void onResume() {
super.onResume();
if(D) Log.e(TAG, "+ ON RESUME +");
// Performing this check in onResume() covers the case in which BT was
// not enabled during onStart(), so we were paused to enable it...
// onResume() will be called when ACTION_REQUEST_ENABLE activity returns.
if (mChatService != null) {
// Only if the state is STATE_NONE, do we know that we haven't started already
if (mChatService.getState() == BluetoothChatService.STATE_NONE) {
// Start the Bluetooth chat services
mChatService.start();
}
}
}
Por qué se usa esta palabra clave allí? ¿Hay alguna explicación razonable, o simplemente el que escribió el código no sabía que onResume se llamará siempre por el mismo hilo? ¿O extraño algo?
¡Gracias de antemano!
Realmente me gustaría saber la respuesta a esta pregunta ... –