LibKing » Книги » comp-programming » Евгений Сенько - Программирование приложений для мобильных устройств под управлением Android. Часть 1

Евгений Сенько - Программирование приложений для мобильных устройств под управлением Android. Часть 1

Тут можно читать онлайн Евгений Сенько - Программирование приложений для мобильных устройств под управлением Android. Часть 1 - бесплатно ознакомительный отрывок. Жанр: comp-programming, издательство SelfPub.rubf71f3d3-8f55-11e4-82c4-002590591ed2. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте LibKing.Ru (ЛибКинг) или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Евгений Сенько - Программирование приложений для мобильных устройств под управлением Android. Часть 1
  • Название:
    Программирование приложений для мобильных устройств под управлением Android. Часть 1
  • Автор:
  • Жанр:
  • Издательство:
    SelfPub.rubf71f3d3-8f55-11e4-82c4-002590591ed2
  • Год:
    неизвестен
  • ISBN:
    нет данных
  • Рейтинг:
    3.7/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Ваша оценка:

Евгений Сенько - Программирование приложений для мобильных устройств под управлением Android. Часть 1 краткое содержание

Программирование приложений для мобильных устройств под управлением Android. Часть 1 - описание и краткое содержание, автор Евгений Сенько, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена разработке программ для мобильных устройств под управлением операционной системы Android. Рассматривается создание приложений с использованием системных компонентов и служб Android. Приведены базовые данные о структуре приложений, об основных классах и их методах, сопровождаемые примерами кода. Часть 1 содержит шесть глав, описывающих основные принципы создания приложений, пользовательский интерфейс, полномочия приложений, а так же базовые классы: Activity, Intent, Fragment. Книга предназначена для программистов, владеющих языком программирования Java и желающих освоить написание приложений, работающих под ОС Android. Книга является переводом общедоступных бесплатных англоязычных интернет ресурсов. Во второй части книги будут рассмотрены Нотификации (Notifications), Broadcast Receivers, Потоки и асинхронное выполнение задач (Threads & AsyncTasks), Оповещения (Alarms), работа с сетью, графика и анимация, управление тачем и жестами, управление мультимедией, работа с датчиками, определение местоположения и привязка к картам, управление данными, а также классы ContentProvider и Service.

Программирование приложений для мобильных устройств под управлением Android. Часть 1 - читать онлайн бесплатно ознакомительный отрывок

Программирование приложений для мобильных устройств под управлением Android. Часть 1 - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Евгений Сенько
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать

В onCreate есть вызов setContentView со значением параметра R.layout.main. Поэтому давайте посмотрим в каталоге res/layout файл main.xml.

Этот лейаут состоит из LinearLayout с двумя подразделами. Но вместо фрагментов на сей раз подразделы – это FrameLayout. FrameLayout должен зарезервировать некоторое пространство в пользовательском интерфейсе, и мы заполним это пространство позже, когда будем добавлять фрагменты в эту Activity.

Теперь давайте вернемся к методу onCreate в QuoteViewerActivity и пройдем по - фото 44

Теперь давайте вернемся к методу onCreate в QuoteViewerActivity и пройдем по тем четырем шагам, добавляя фрагменты в Activity. Во-первых, получаем ссылку на FragmentManager. Затем вызываем метод beginTransaction. В результате получим FragmentTransaction. Затем вызываем метод add, передавая ID FrameLayout во фрагмент, который будет содержать этот FrameLayout. Это надо сделать и для TitleFragment, и для QuoteFragment. И, наконец, вызовем метод commit, чтобы зафиксировать все изменения.

Теперь мы знаем как добавить фрагменты в Activity программно Но в нашем - фото 45

Теперь мы знаем как добавить фрагменты в Activity программно Но в нашем - фото 46

Теперь мы знаем как добавить фрагменты в Activity программно. Но в нашем примере это не имело такого большого значения в том смысле, что даже при том, что мы добавили фрагменты программно, их расположение (лейаут) было статично. Всегда есть только две панели, и это никогда не изменяется.

И один из плюсов способности добавлять фрагменты на лету – то, что она позволяет динамически изменять пользовательский интерфейс во время работы программы. И если делать это правильно, это позволит рационально использовать драгоценное экранное пространство.

Рассмотрим приложение «FragmentProgrammaticLayout», которое демонстрирует некоторые разновидности динамических пользовательских интерфейсов. Приложение иногда будет показывать единственный фрагмент, а иногда – несколько фрагментов.

Сразу после запуска мы видим только TitleFragment с заголовками пьес. Если кликнуть по заголовку, вы увидите справа уже знакомую цитату из Гамлета. В этой точке приложение выводит на экран два фрагмента. Если теперь нажать кнопку "Назад", вы увидите, что мы вернулись к отображению единственного фрагмента.

Теперь рассмотрим код. На сей раз в начале мы добавим только TitleFragment, а фрагмент с цитатами будем добавлять только, если пользователь кликнет по заголовку. Предположим, пользователь действительно кликает по заголовку. Тогда будет вызван метод onListSelection. Рассмотрим этот метод.

Вопервых мы проверяем был ли фрагмент с цитатами уже добавлен в layout И - фото 47

Во-первых, мы проверяем, был ли фрагмент с цитатами уже добавлен в layout. И, если нет, то мы добавим его, запуская другой FragmentTransaction.

Далее мы собираемся добавить эту транзакцию в стек задачи (Task backstack) для того, чтобы пользователь вернулся к тому состоянию экрана, который был прежде, до добавления нового фрагмента, когда он нажмет кнопку "Назад". И это надо сделать, потому что по умолчанию в стеке задач изменения фрагментов не отслеживаются.

В конце добавляем вызов FragmentManager.executePendingTransactions. Это вынуждает транзакцию выполниться сразу, а не тогда, когда система посчитает удобным это сделать, и нам пришлось бы ждать, пока обновится экран.

В главе об Activity мы говорили о том, как Activity могут обрабатывать изменения конфигурации вручную используя методы, такие как onRetainNonConfigurationInstance и getLastNonConfigurationInstance.

При изменении конфигурации устройства Android по умолчанию уничтожит Activity и воссоздаст ее. Однако, если вызвать метод setRetainInstance во фрагменте, передав в качестве параметра true, то когда произойдут изменения конфигурации, Android уничтожит Activity, но не уничтожит фрагменты, которые она содержит. Android сохранит состояние фрагмента, отсоединив фрагмент от Activity. И, кроме того, Android не уничтожит этот фрагмент и не воссоздаст его позже, когда Activity будет воссоздана. В результате фрагмент не получит вызова своих методов onDestroy и onCreate.

Давайте рассмотрим другой пример приложения, который демонстрирует это поведение. Это приложение называется «FragmentStaticConfigLayout», и его функциональность совпадает с предыдущими примерами. Различие здесь в том, что добавлен некоторый код, обрабатывающий изменения конфигурации. Когда устройство находится в альбомном режиме, лейаут выглядит так же, как и в предыдущем примере. Оба фрагмента используют большой шрифт или шрифт, независимый от масштаба. TitleFragment занимает приблизительно одну треть горизонтального пространства, в то время как QuoteFragment берет остающиеся две трети пространства. И, если заголовок будет слишком длинным, чтобы поместиться на одной строке в TitleFragment, то текст просто будет перенесен на вторую строку.

Теперь давайте повернем устройство. Когда устройство окажется в портретном режиме, лейаут немного изменится. Оба фрагмента используют меньший шрифт, TitleFragment занимает только одну четверть горизонтального пространства, в то время как QuoteFragment занимает остающиеся три четверти рабочего пространства. И, если заголовок будет слишком длинным, чтобы поместиться на одной строке в TitleFragment, то он будет все же ограничен одной строкой, и мы просто заменим часть текста замещающими знаками.

Заметьте, что даже при том, что Android уничтожил и перезапустил QuoteViewerActivity, заголовок, который был выбран во фрагменте слева, все еще остаётся выбранным, потому что был вызван setRetainInstance с параметром true в обоих фрагментах. В итоге информация о том, что некоторый элемент был выбран, сохранилась.

Давайте рассмотрим, как это работает. Код файла TitleFragment.java приложения «FragmentStaticConfigLayout» главным образом такой же, как тот, что мы видели в других примерах приложений, но есть по крайней мере два различия. Первое различие находится в методе onCreate – добавлен вызов setRetainInstance, true. Еще раз – это означает, что, когда происходят изменения конфигурации, Android не уничтожит этот фрагмент. Второе различие находится в методе onActivityCreated. В конце добавлен некоторый код, который проверяет индекс, означающий, что пользователь ранее выбрал заголовок, и что этот вызов onActivityCreated, вероятно, происходит из-за изменения конфигурации. В этом случае мы хотим удостовериться, что тот заголовок остается выбранным. Такие же изменения внесены и в класс QuoteFragment.

Классы пользовательского интерфейса

В этой главе будет рассказано о классах, с помощью которых Android позволяет создавать пользовательский интерфейс приложений:

класс View (вью, на жаргоне – вьюшка) – основа для всего, что видно на экране устройства, а также различные события, которые вьюшки могут принимать;

высокоуровневые составные представления View Groups (группы вью), которые комбинируют несколько вьюшек, чтобы создать определенный вид или поведение;

Читать дальше
Тёмная тема

Шрифт:

Сбросить

Интервал:

Закладка:

Сделать


Евгений Сенько читать все книги автора по порядку

Евгений Сенько - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Программирование приложений для мобильных устройств под управлением Android. Часть 1 отзывы


Отзывы читателей о книге Программирование приложений для мобильных устройств под управлением Android. Часть 1, автор: Евгений Сенько. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
Большинство книг на сайте опубликовано легально на правах партнёрской программы ЛитРес. Если Ваша книга была опубликована с нарушениями авторских прав, пожалуйста, направьте Вашу жалобу на PGEgaHJlZj0ibWFpbHRvOmFidXNlQGxpYmtpbmcucnUiIHJlbD0ibm9mb2xsb3ciPmFidXNlQGxpYmtpbmcucnU8L2E+ или заполните форму обратной связи.
img img img img img