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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Jocontacter
0 / 0 / 0
Регистрация: 15.03.2016
Сообщений: 2
#1

подскажите 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2016, 03:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос подскажите best practice (Программирование Android):

Best practice для сети с ASA - Cisco
Здравствуйте!Ребята разъясните пожалуйста кто давно вариться с ASA. Есть некая сетка надо настроить.Много уже прочитано мною.Привожу карту...

Best practice Comparator и null-значения - Java SE
Добрый вечер. В одном из учебных задач потребовалось использовать Comparator для сортировки массива. Arrays.sort(students, new...

Best practice. Сокращение программного кода - PHP
Здравствуйте. Пишу приложение для шифрования всего и вся :) Каждый метод шифрования включает в себя две опции в статике...

Programming Principles And Practice Using C++ 2nd Edition - C++
Programming Principles And Practice Using C++ 2nd Edition http://www.stroustrup.com/programming.html где взять листинги кода которые...

Отдам книжку Programming Principles and Practice Using C++ (ENG) - C++
Товарищи, энное количество лет назад, когда трава была зеленее, а доллар стоил в N раз меньше, я стал обладателем книжки . Вот такой:...

DMZ - demilitarized zone - best practice webserver и SQL Server - C# ASP.NET
Что-то не могу найти ничего путнего на тему каким образом лучше всего настроить работу вебсервера (Win) и SQL Server в DMZ. Если у кого...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2016, 03:08
Привет! Вот еще темы с ответами:

подскажите решение задач по теории вероятностей или подскажите формулы - Теория вероятностей
Задача 1. Стрелки А,В,С попадают в мишень с вероятностями 0.9, 0.8, 0.7 соответственно. Залп производится. Какова вероятность события Н,...

подскажите что делать при вводимых данных 10 25 и 5 20 программа работает не правильно должна выводить 135 подскажите что делать - C++
Вывод В выходной файл выведите одно число - сколько ударов сделали часы за этот отрезок времени.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru