Страница 1 из 1

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

Добавлено: 25 дек 2012, 23:39
powercat
Код проверки запущенности 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? Как разделить этот код на отдельные операции?

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

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

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

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

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

Добавлено: 26 дек 2012, 15:07
rezak90
powercat писал(а):я, наверное, неправильно сформулировал задачу - я не могу понять алгоритм...т.е. как это запихнуто две операции в одну строку? т.е. присвоение булина и одновременно сравнение - можно ли это пояснить?
Java основы =) исходя из ответа сравнения будет соответствующее присваивание

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

Добавлено: 26 дек 2012, 15:23
powercat
аа...Java, понятно, данкс