Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

подскажите best practice - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Запуск и останов сервиса http://www.cyberforum.ru/android-dev/thread1685224.html
Здравствуйте, поздравляйте с почином, первое сообщение) Вопрос такой: пишу приложение с сервисом, который должен запускаться при старте приложения(какого-либо первого activity!) и заканчивать работу...
Программирование Android Устройства с Android ниже 4.0 1) Много ли устройств в продаже с ОС Android версии ниже 4.0? 2) Нужно ли вообще поддерживать все что ниже 4.0? 3) Насколько это целесообразно? http://www.cyberforum.ru/android-dev/thread1685102.html
Копирование файла в директорию Программирование Android
Есть задача скопировать файл из определённого места на карте памяти во внутреннюю память приложения. Метод имеет следующий вид: File source = new...
Удалить элемент в SQLite под определенным ID Программирование Android
cursor.moveToLast(); int a = cursor.getPosition(); sqLiteDatabase.delete(DATABASE_TABLE,null,new String{String.valueOf(a)}); // Вылетает именно тутХочу удалять последний элемент, однако вылетает. ...
Программирование Android Передача данных между Activity http://www.cyberforum.ru/android-dev/thread1685043.html
Доброго времени суток, господа. Такой вопрос: с точки зрения ООП програмирования и программирования в целом, каким образом практичнее и правильнее передавать данные? Из основных способов в...
Программирование Android Изменить цвет значка настроек в Actionbar Сабж. Каким образом это можно сделать? styles.xml: <resources> <style name="AppTheme" parent="android:Theme.Holo.Light"> <item... подробнее

Показать сообщение отдельно
Jocontacter
0 / 0 / 0
Регистрация: 15.03.2016
Сообщений: 2

подскажите best practice - Программирование Android

15.03.2016, 03:08. Просмотров 116. Ответов 0
Метки (Все метки)

Часто сталкиваюсь с такой задачей:

Например? для обращения к какому-либо сервису мне требуется? чтобы были удовлетворены 2 или более условий.
Эти условия удовлетворяются какими-либо событиями от системы. Например одно из условий - наличие интернета, а другое - включенный адаптер bluetooth.

Метод continueSomething() должен быть выполнен только после удовлетворения всех условий.
Копал в сторону
Java
1
java.util.concurrent.CountDownLatch
, но не устраивает то, что этот инструмент для синхронизации потоков. А все события выполняются в main-потоке, так что это не требуется. Тем более скорей всего будет блокировка потока.. Как правильней поступать?

Вот код для наглядности:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
boolean clauseInternet = false; // I условие
boolean clauseBluetooth = false; // II условие
 
private boolean internet()
{
    ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    boolean isConnected = activeNetwork != null && activeNetwork.isConnectedOrConnecting();
    return isConnected;
}
 
private BroadcastReceiver connectivity_receiver = new BroadcastReceiver()
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        if(internet())
        {
            clauseInternet = true;
        }
    }
};
 
private final BroadcastReceiver bluetoothState_receiver = new BroadcastReceiver()
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        if(intent.getAction().equals(BluetoothAdapter.ACTION_STATE_CHANGED))
        {
            int newstate = intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
            switch(newstate)
            {
                case BluetoothAdapter.STATE_ON:
                    clauseBluetooth = true;
                    break;
            }
        }
    }
};
 
private void continueSomething()
{
        // Здесь требуется чтобы были удовлетворены все условия!
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru