Поясните нормальным языком код

Ответить
Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Поясните нормальным языком код

Сообщение powercat » 25 дек 2012, 23:39

Код проверки запущенности alarmmanager:

Код: Выделить всё

boolean alarmUp = (PendingIntent.getBroadcast(context, 0, 
        new Intent("com.my.package.MY_UNIQUE_ACTION"), 
        PendingIntent.FLAG_NO_CREATE) != null);
1. Как я это понимаю - если объект alarmmanager не существует, то возвращается false?
2. Ответственнен за это флаг?
3. Не могу понять, как тут идут операции. Правая часть - как это !=null в конце срабатывает и в чем его смысл? Как-то в правой части возвращается флагом значение, которое потом сравнивается с null? Как разделить этот код на отдельные операции?

Аватара пользователя
neoksi
Сообщения: 712
Зарегистрирован: 26 июл 2012, 10:42
Контактная информация:

Re: Поясните нормальным языком код

Сообщение neoksi » 25 дек 2012, 23:58

Ну тут вообще-то не объект alarmmanager проверяется на существование, а наличие определенного PendingIntent на существование.
1) Если определенный PendingIntent не существует, то получаем false в противном случае true.
2) PendingIntent.FLAG_NO_CREATE говорит, что если не найдет в коллекции, то не создавать.
3) getBroadcast запрашивает объект из колекции, если он есть, то возвращается объект, если его нет, то возвращается null.

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Поясните нормальным языком код

Сообщение powercat » 26 дек 2012, 10:52

я, наверное, неправильно сформулировал задачу - я не могу понять алгоритм...т.е. как это запихнуто две операции в одну строку? т.е. присвоение булина и одновременно сравнение - можно ли это пояснить?

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Поясните нормальным языком код

Сообщение rezak90 » 26 дек 2012, 15:07

powercat писал(а):я, наверное, неправильно сформулировал задачу - я не могу понять алгоритм...т.е. как это запихнуто две операции в одну строку? т.е. присвоение булина и одновременно сравнение - можно ли это пояснить?
Java основы =) исходя из ответа сравнения будет соответствующее присваивание
R.id.team
Политика на форуме запрещена

Аватара пользователя
powercat
Сообщения: 508
Зарегистрирован: 20 июл 2012, 11:31

Re: Поясните нормальным языком код

Сообщение powercat » 26 дек 2012, 15:23

аа...Java, понятно, данкс

Ответить