Android, Разработка приложений для чайников - Фелкер Донн (2012)
-
Год:2012
-
Название:Android, Разработка приложений для чайников
-
Автор:
-
Жанр:
-
Оригинал:Английский
-
Язык:Русский
-
Издательство:ДИАЛЕКТИКА
-
Страниц:201
-
ISBN:978-5-8459-1748-5
-
Рейтинг:
-
Ваша оценка:
•Рады приветствовать вас в Android! Овладейте навыками создания современных приложений для Android, использования инструментов разработки, работы с экранами портативных устройств и организовывания процесса разработки. •Вашему приложению необходимо полюбиться пользователям. Обучитесь создавать графический интерфейс приложения визуально примечательным и пригодный для использования.
•Обучитесь программированию приложений. Познакомьтесь с жизненным кругом приложения и обычными библиотечными классами Android. Обучитесь применять в своих интересах эмулятор портативных устройств и отладчик Eclipse. •Важна не только база. Овладейте знаниями, как создавать приложения, отображающие информацию на многих экранах и которые могут взаимодействовать с базами данных SQLite. •Обозначьте цену и продайте плод своего упорного труда. Обучитесь публиковать их в онлайн-магазине Adroid Marketдля продажи миллионам пользователей и обозначать правильную цену собственным приложениям.
Android, Разработка приложений для чайников - Фелкер Донн читать онлайн бесплатно полную версию книги
Вы как разработчик должны не допустить появления этого окна при работе своего
приложения.
Чтобы отключить отладчик, щелкните на кнопке Disconnect (Отсоединить), пока-
занной на рис. 5.20. Вернитесь в окно редактора Java и снимите символы комментария
в строке 3 (см. листинг 5.7) файла MainActivity.java. Вы ведь не хотите оставить в
приложении ошибку, с которой экспериментировали в окне отладки.
154 Часть II. Создание и публикация приложения Android
Android Application Development For Dum.indb 154 08.11.2011 12:23:58
Рис. 5.21. Диалоговое окно принудительного закрытия приложения вследствие ошибки вре-
мени выполнения
Логические ошибки
Любой компьютер делает только то, что программист заложил в него. Это же спра-
ведливо и для устройства Android. Ни устройство, ни приложение не знают, что долж-
но быть сделано; они делают лишь то, что вы им приказали. Они никогда не ошиба-
ются, ошибиться можете только вы. К счастью, большинство ошибок вылавливает
компилятор, но те, которые остаются (они называются логическими ошибками), — са-
мые трудные. Пример логической ошибки приведен в листинге 5.8.
Листинг 5.8. Код не всегда правильно идентифицирует режим звонка
/**
* Переключение изображения при изменении режима звонка
* с громкого на бесшумный или наоборот
*/
private void toggleUi() {
ImageView imageView =
(ImageView) findViewById(R.id.phone_icon);
Drawable newPhoneImage;
if (mPhoneIsSilent) { 11
newPhoneImage =
getResources().getDrawable(R.drawable.phone_silent);
Глава 5. Кодирование приложения 155
Android Application Development For Dum.indb 155 08.11.2011 12:23:58
} else {
newPhoneImage =
getResources().getDrawable(R.drawable.phone_on);
}
imageView.setImageDrawable(newPhoneImage);
}
@Override
protected void onResume() {
super.onResume();
//checkIfPhoneIsSilent(); 26
toggleUi();
};
11. Оператор if проверяет, работает ли телефон в бесшумном режиме.
Об этом сигнализирует значение булевой переменной mPhoneIsSilent.
Если оно равно true, телефон находится в бесшумном режиме, а при
значении false включен режим громкого звонка.
26. Чтобы метод toggleUi() отобразил правильный рисунок в поль-
зовательском интерфейсе, приложение должно знать текущий ре-
жим звонка. В строке 26 я “случайно” закомментировал вызов ме-
тода checkIfPhoneIsSilent(), который обновляет переменную
mPhoneIsSilent на уровне класса. Поскольку обновления не происхо-
дит в методе Resume(), возможна следующая ситуация. Пользователь
выходит из приложения Silent Mode Toggle, изменяет режим звонка с
помощью параметров мобильного телефона и возвращается в прило-
жение Silent Mode Toggle. Выполняется метод Resume(), но значение
mPhoneIsSilent не изменяется, т.е. теперь оно неправильное. С помо-
щью отладчика можно установить точку прерывания в первой строке
метода toggleUi() и проверить значения разных переменных. В этот
момент вы увидите, что переменная mPhoneIsSilent имеет значение
null, из чего нетрудно понять, что это произошло вследствие логиче-
ской ошибки.
Выход за границы приложения
Иногда устройство решает задачи, внешние по отношению к данному приложе-