2014-11-07 2 views
1

Я Android/Java begginer, пытаясь понять, как работает образец Bluetooth-чата. Он использует потоки и обработчик, поэтому я несколько недель узнал об этом, и теперь у меня есть намного яснее, как работает этот образец. Класс BluetoothChatService имеет этот конструктор:Образец и контекстный параметр Bluetooth Chat

public BluetoothChatService(Context context, Handler handler) { 
     mAdapter = BluetoothAdapter.getDefaultAdapter(); 
     mState = STATE_NONE; 
     mHandler = handler; 
} 

И от основной деятельности:

mChatService = new BluetoothChatService(this, mHandler); 

Моя проблема с контекста параметра. Наведите указатель мыши на «Параметр context никогда не используется». Поэтому мой вопрос в том, почему классу BluetoothChatService нужен контекст?

Link to the source

ответ

0

Контекст не требуется, и вы можете безопасно удалить Context context,. Это также устранит предупреждение, которое вы видите.

В Android-программировании для многих вещей требуется Context, и это обычно необходимо почти везде в программе. Поэтому обычным явлением является переход на экземпляр Context, даже если вам это еще не нужно. Или нужно было в какой-то момент, но необходимость была удалена после изменения кода, и Context по-прежнему передается. Я подозреваю, что подобное произошло с примером.

Современный инструмент для Android намного лучше обнаруживает неиспользуемый код, чем древний инструмент еще в 2009 году, когда был выпущен Android 2.0 Eclair и этот пример с ним.

Смежные вопросы