मैं अभी ब्लूटूथ एंड्रॉइड एपीआई का अध्ययन कर रहा हूं, और मैं ब्लूटूथ उदाहरण में भाग गया। http://developer.android.com/resources/samples/BluetoothChat/index.htmlBluetoothChatResume गतिविधि जीवन चक्र विधि पर सिंक्रनाइज़ किया गया, क्यों?
इसमें कई त्रुटियां हैं, यह सबसे सरल तथ्य है कि यह एपीआई 11 का उपयोग करता है लेकिन मैनिफेस्ट इस न्यूनतम एपीआई को मजबूर नहीं करता है।
अन्य दिलचस्प बात यह है 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();
}
}
}
क्यों इस कीवर्ड वहाँ प्रयोग किया जाता है? क्या कोई उचित स्पष्टीकरण है, या बस कोड लिखने वाले व्यक्ति को यह नहीं पता था कि रेस्यूम हमेशा एक ही धागे से बुलाया जाएगा? या मुझे कुछ याद आती है?
अग्रिम धन्यवाद!
मैं वास्तव में इस प्रश्न का उत्तर भी जानना चाहता हूं ... –