Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка мобильных приложений

Покупка
Основная коллекция
Артикул: 643518.01.99
Доступ онлайн
300 ₽
В корзину
Основной целью пособия является введение в разработку нативных мо- бильных приложений на платформах J2ME и Android. Описана краткая исто- рия развития мобильных технологий, представлена существующая классифи- кация мобильных приложений и изложены основные этапы их разработки с использованием языка программирования Java. Предназначено для студентов, обучающихся по направлению 230100 «Информатика и вычислительная техника» и магистерской программе 230113 «Сети ЭВМ и телекоммуникации».
Соколова, В. В. Разработка мобильных приложений: Учебное пособие / Соколова В.В. - Томск:Изд-во Томского политех. университета, 2014. - 176 с.: ISBN 978-5-4387-0369-3. - Текст : электронный. - URL: https://znanium.com/catalog/product/701720 (дата обращения: 19.04.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ 
Федеральное государственное бюджетное образовательное учреждение  
высшего профессионального образования 
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ 
ТОМСКИЙ ПОЛИТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ» 

 

 
 
 
 
 
В.В. Соколова  
 
 
 
 
 
 
РАЗРАБОТКА  
МОБИЛЬНЫХ ПРИЛОЖЕНИЙ 

 
Допущено Учебно-методическим объединением вузов 
по университетскому политехническому образованию 
в качестве учебного пособия для магистров, обучающихся 
по направлению «Информатика и вычислительная техника» 
 
 
 
 
 
 
 
 
 
 
 
Издательство 
Томского политехнического университета 
2014 

УДК 621.395.7(075.8) 
ББК  32.884.1я73 
С59 
 
Соколова В.В.  
С59  
Разработка мобильных приложений: учебное пособие / 
В.В. Соколова; Томский политехнический университет. – Томск: 
Изд-во Томского политехнического университета, 2014. – 176 с. 
 
ISBN 978-5-4387-0369-3 
 
Основной целью пособия является введение в разработку нативных мобильных приложений на платформах J2ME и Android. Описана краткая история развития мобильных технологий, представлена существующая классификация мобильных приложений и изложены основные этапы их разработки 
с использованием языка программирования Java. 
Предназначено для студентов, обучающихся по направлению 230100 
«Информатика и вычислительная техника» и магистерской программе 230113 
«Сети ЭВМ и телекоммуникации». 
 
УДК 621.395.7(075.8) 
ББК 32.884.1я73 
 
 
 
 
Рецензенты 

Кандидат технических наук, доцент  
заместитель заведующего кафедрой КИБЭВС по НР ТУСУРа 
Р.В. Мещеряков  

Генеральный директор ООО «Аксимедия Софт» 
Г.Г. Сапунков 

Кандидат технических наук, доцент ТПУ 
Е.И. Громаков  

 
 
 
 
ISBN 978-5-4387-0369-3 
© ФГБОУ ВПО НИ ТПУ, 2014 
 
© Соколова В.В., 2014 
 
© Оформление. Издательство Томского  
политехнического университета, 2014 

ОГЛАВЛЕНИЕ 

ВВЕДЕНИЕ  ...................................................................................................  5 

1. МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ И ТЕХНОЛОГИИ  .............................  6 
1.1. Классификация мобильных устройств  ............................................  6 
1.2. Коммуникационные технологии  ....................................................  12 
1.2.1. Стандарт GSM  ........................................................................  13 
1.2.2. Технология Wi-Fi  ...................................................................  16 
1.2.3. Cтандарты передачи данных IEEE 802.11  ..........................  17 
1.2.4. Протокол Bluetooth  ................................................................  19 
1.2.5. Организация беспроводных сетей  .......................................  20 
1.3. Программные платформы  ...............................................................  21 
1.3.1. Платформа Android  ................................................................  21 
1.3.2. Java 2 Micro Edition (J2ME)  ..................................................  24 
1.4. Типы мобильных приложений  .......................................................  26 
1.5. Архитектура мобильных приложений  ...........................................  28 
Вопросы для самопроверки  ...................................................................  41 

2. РАЗРАБОТКА МОБИЛЬНЫХ ПРИЛОЖЕНИЙ 
НА ПЛАТФОРМЕ J2ME  ............................................................................  42 
2.1. Конфигурации и профили J2ME  ....................................................  42 
2.1.1. Конфигурация Connected,  
Limited Device Configuration  .................................................  43 
2.1.2. Конфигурация Connected Device Configuration  ..................  46 
2.1.3. Профиль Foundation  ...............................................................  47 
2.1.4. Профиль Personal  ...................................................................  48 
2.1.5. Профиль RMI  .........................................................................  49 
2.2. Профиль Mobile Information Device  ...............................................  50 
2.2.1. Модель состояний мидлета  ..................................................  52 
2.2.2. Процесс разработки приложений MIDP  .............................  55 
2.2.2.1. Проектирование и кодирование  ..............................  55 
2.2.2.2. Компиляция  ...............................................................  58 
2.2.2.3. Предварительная проверка  ......................................  59 
2.2.2.4. Упаковка  ....................................................................  60 
2.2.2.5. Pacкpытиe и выполнение  .........................................  63 

2.2.3. Модель компонентов 
пользовательского интерфейса MIDP  .................................  65 
2.2.4. Высокоуровневое API 
пользовательского интерфейса MIDP  .................................  68 
2.3. Система управления записями  .......................................................  89 
2.4. Взаимодействие с сетью  .................................................................  96 
Вопросы для самопроверки  .................................................................  110 

3. СОЗДАНИЕ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ 
НА БАЗЕ ОС ANDROID  ..........................................................................  111 
3.1. Основные инструменты разработки  ............................................  111 
3.1.1. Создание виртуальных устройств  
для Android (AVD)  ...............................................................  111 
3.1.2. Компоненты Android-приложения  .....................................  111 
3.1.3. Первое Android-приложение  ..............................................  112 
3.1.4. Структура Android-приложения  .........................................  117 
3.1.5. Архитектура Android GUI  ...................................................  121 
3.2. Создание пользовательского интерфейса  ...................................  122 
3.2.1. Объект View  .........................................................................  122 
3.2.2. Компоновка  ..........................................................................  123 
3.2.3. Обзор основных виджетов  ..................................................  129 
3.2.4. Обработка событий пользовательского интерфейса  .......  129 
3.2.5. Создание меню  .....................................................................  137 
3.3. Связывание деятельностей с помощью намерения  ....................  141 
3.3.1. Фильтры Intent  .....................................................................  141 
3.3.2. Запуск и завершение Activity  .............................................  143 
3.3.3. Пример использования Intent  .............................................  144 
3.4. Хранение данных и контент-провайдеры  ...................................  152 
3.5. Разработка сервисов  ......................................................................  165 
3.6. Телефония и SMS  ...........................................................................  169 
Вопросы для самопроверки  .................................................................  172 

ЗАКЛЮЧЕНИЕ  .........................................................................................  173 

СПИСОК ЛИТЕРАТУРЫ  ........................................................................  174 
 

ВВЕДЕНИЕ 

На протяжении последних нескольких лет мобильные технологии 
стремительно развиваются, за счет совершенствования беспроводной 
связи, расширения функциональности мобильных устройств и появления мобильных платформ с открытым исходным кодом.  
В настоящее время мобильные устройства могут использоваться не 
только для коммуникации, но и в коммерческих целях на предприятиях. 
Для поддержки этих возможностей разрабатываются различные мобильные приложения. 
Данное учебное пособие предназначено для разработки программного обеспечения для мобильных устройств. Оно рассчитано на пользователей, которые уже имеют опыт создания Java-приложений. Основной целью пособия является введение в разработку мобильных 
приложений на платформах J2ME и Android. Однако это не справочное 
руководство. Актуальную и полную документацию по разработке приложений можно найти на официальных сайтах http://java.sun.com/j2me/docs 
и http://developer.android.com/index.html.  
В первой главе изложена краткая история развития мобильных устройств, дано описание мобильных технологий, которые способствуют 
развитию мобильного программного обеспечения, представлена существующая классификация мобильных приложений. 
Во второй главе описаны основные этапы разработки мобильных 
приложений на платформе J2ME. В частности описана конфигурация 
CLDC и профиль MID, которые поддерживают независимые мобильные 
устройства с непостоянным (прерывистым) подключением к сети, такие 
как мобильные телефоны. 
В третьей главе рассматриваются вопросы разработки нативных 
мобильных приложений для платформы Android. Рассмотрена структура мобильного приложения, описаны существующие компоненты 
и представлены примеры разработки приложений в Eclipse. 

1. МОБИЛЬНЫЕ ПРИЛОЖЕНИЯ  
И ТЕХНОЛОГИИ 

Под мобильными устройствами понимаются легкие, небольшого 
размера (карманные) устройства, которые могут автономно подключаться к сетям связи с помощью беспроводных технологий. 
В настоящее время пользователям доступен широкий спектр мобильных устройств для решения разных задач. Он варьируется от очень 
недорогих мобильных телефонов до профессиональных карманных персональных компьютеров (КПК) и смартфонов. Наряду с форм-фактором 
имеются различия в функциональности и производительности, которые 
эти устройства обеспечивают. 

1.1. Классификация мобильных устройств 

Существуют основные категории мобильных устройств: сотовые 
телефоны, пейджеры, смартфоны, карманные персональные компьютеры (КПК) и коммуникаторы. 
Сотовым телефоном называется портативное устройство, основным 
назначением которого является предоставление услуг голосовой связи посредством сотовой сети. Сотовые телефоны управляются операционной 
системой, которая не предназначена для запуска прикладных программ.  
В настоящее время сотовые телефоны являются беспроводными устройствами, которые чаще всего используются на рынке мобильных устройств. В некоторых европейских странах более 75 % населения имеет 
мобильный телефон. В большинстве случаев используется голосовая 
связь, но с появлением беспроводного протокола передачи данных (WAP) 
и возможности обмена текстовыми сообщениями стали более распространенными и другие приложения по обработке и передаче данных. 
Обычно такой телефон имеет небольшой по размеру дисплей (как 
правило, от 4 до 12 строк текста) с типовой 12-кнопочной клавиатурой 
для ввода данных. Эти ограничения делают сотовые телефоны неподходящими для веб-поиска, т. к. объемы данных, которые могут быть получены или выведены на экран, весьма ограничены. Основным преимуществом сотовых телефонов является их широкое использование, что 
делает их очень подходящими для разработки конкретных приложений, 
ориентированных на широкий круг пользователей. Например, такими 
приложениями могут быть: просмотр котировок акций, отчеты о трафике, покупка билета и чтение новостей. Во всех этих приложениях требу
ется ограниченный набор данных, необходимых для получения ожидаемого ответа. Однако, если планируется внедрение корпоративных 
приложений, таких как продвижение продаж или автоматизация обслуживания, лучшим выбором будут более мощные устройства.  
Сотовые телефоны имеют встроенные беспроводные модемы, что 
обеспечивает легкое подключение к беспроводным сетям. После подключения пользователь может использовать модем как для голосовой 
связи, так и для приложений или посредством беспроводной телефонной 
связи (WTA), поддерживаемой в WAP, одновременно передавать данные 
и голосовую связь. Кроме того, сотовые телефоны идеально подходят для 
обмена текстовыми сообщениями. Поскольку длина этих сообщений не 
превышает 160 символов, то возможности ввода этих устройств являются 
достаточными. С другой стороны, преимуществом является длительное 
время работы батареи телефона. Ограниченная мощность сотовых телефонов позволяет экономить заряд аккумулятора (батареи), что приводит 
к более длительной работе по сравнению с более сложными устройствами, такими как смартфоны и карманные персональные компьютеры. Основной целью этих устройств является голосовая связь, поэтому качество 
голосовой связи, подключения к сети и передачи пакетов имеет приоритет при их выборе. 
Пейджеры нужны для обмена короткими текстовыми сообщениями между пользователями. Очень часто эти приложения загружаются производителями и не модернизируются. Эти устройства выполняют большую работу по подкачке данных, но часто не подходят 
для более сложных приложений. Это утверждение верно для большинства пейджеров, но есть некоторые исключения. Например, RIM 
и Motorola предлагают более продвинутые устройства, которые предоставляют возможности, подобные КПК. Обе компании начинали с 
использования собственных операционных систем, но с появлением 
платформы J2ME перешли на нее. Были расширены основные возможности подкачки данных устройств RIM Blackberry и пейджеров 
Motorola Timeport с приложениями для управления персональной информацией и беспроводными интернет-приложениями. Кроме того, 
пользователям предлагаются продвинутые возможности ввода посредством стандартной клавиатуры QWERTY, поддерживающей ввод 
большими пальцами рук.  
Для этих устройств доступно несколько микробраузеров, которые 
часто предоставляются компанией, обеспечивающей беспроводное 
подключение. Данные браузеры основаны на WAP с использованием в 
качестве языка разметки WML, хотя также доступны некоторые 
HTML-браузеры. Поскольку эти устройства имеют удобное средство 

для ввода данных, они способны запускать беспроводные приложения, 
направленные на сбор данных.  
Одной из самых удобных функций пейджеров является то, что они 
всегда подключены к беспроводной сети, следовательно, всегда есть 
доступ к приложению. Достаточно открыть приложение, которое будет 
по мере необходимости передавать данные. Это возможно, поскольку 
устройства используют сети с коммутацией пакетов при явной передаче 
данных, а не ежеминутную передачу, как в сетях с коммутацией каналов. Эта особенность требуется при получении страниц, электронной 
почты и других видов сообщений, а также является удобной при использовании беспроводных интернет-приложений. Кроме того, учитывая, что эти устройства всегда подключены к сети, батареи могут работать нередко в течение недели без подзарядки. 
Простые смартфоны называются так потому, что они обеспечивают возможность запуска локальных приложений, а также выполнения 
звонков. Как и веб-телефоны, это, прежде всего, голосовые устройства, 
поэтому выбор должен быть основан на возможностях голосовой связи. 
Поддержка приложений несколько лимитирована  из-за ограниченного 
объема хранения, мощности обработки и размеров отображения. Они 
похожи на веб-устройства по форме и размеру дисплея, но позволяют 
приложениям работать локально, не требуя подключения к сети.  
Одной из главных особенностей смартфонов является их простота. 
Можно использовать устройство, не беспокоясь о расширении конфигурации. Кроме того, поскольку устройства имеют очень небольшие процессоры и мало памяти, они способны работать несколько дней на одном заряде аккумулятора.  
У пользователей есть возможность расширить возможности устройства путем загрузки новых приложений. Производители мобильных телефонов и беспроводных устройств создают электронные витрины, на которых разработчики могут представить свои приложения для загрузки. Для 
этих устройств в основном используется платформа Java 2 Micro Edition 
(J2ME), на базе которой разрабатываются мобильные приложения. 
На рынке беспроводных приложений идет движение в сторону более совместимых устройств в виде высококачественных профессиональных смартфонов. Ведущие производители сотовых телефонов, 
включая HTC, Nokia, Sony Ericsson и Motorola, разрабатывают устройства, которые ориентированы на корпоративный рынок, обеспечивают 
возможность для голосовой связи и интеллектуальных клиентских 
приложений. Это делает их хорошим выбором для пользователей, которые не хотят носить с собой несколько устройств для поддержки 
различных приложений. 

Форма смартфона является средней между сотовым телефоном и 
карманным персональным компьютером. Обычно они имеют механизм 
флип-топ для отображения на весь экран и клавиатуру. В закрытом виде 
они выглядят как большой сотовый телефон с типовой 12-значной клавиатурой и небольшим экраном. В открытом виде имеют экран размером от 640 × 200 до 320 × 240. Процессоры в этих устройствах достаточно мощные, чтобы запустить сложные локальные приложения, а также 
продвинутые беспроводные интернет-приложения. Браузеры для этих 
устройств часто имеют поддержку цветной графики и мультимедиа 
с использованием либо WML-, либо HTML-языков разметки.  
Смартфоны, так же как пейджеры и сотовые телефоны, могут использоваться в течение нескольких дней на одном заряде аккумулятора. 
До недавнего времени услуги, предоставляемые для смартфонов, были 
малонастраиваемыми. Пользователь не мог добавить приложения или 
изменить содержание, доступное на устройстве. В настоящее время последние модели смартфонов предлагают полноценную операционную 
систему с доступной памятью для приложений сторонних разработчиков. 
Наиболее распространенные операционные системы в смартфонах – 
Android, iOS и Windows Phone.  
Карманный персональный компьютер (КПК) – это портативное 
устройство, на котором предустановлена операционная система, позволяющая устанавливать и выполнять прикладные программы. 
КПК, размером с ладонь (наладонные), в настоящее время занимают основное место на рынке мобильных устройств. Они предоставляют 
пользователю возможность сенсорного ввода. По форме КПК находятся 
между карманными компьютерами и смартфонами, как правило, с цветным VGA-экраном. Наладонные КПК имеют возможность мгновенно 
включаться/выключаться, т. к. они не перезагружаются перед использованием. Большинство последних устройств также имеют встроенные 
беспроводные модемы для беспроводной связи. КПК без встроенного 
модема, как правило, имеют слот, в который беспроводной модем может 
быть подключен.  
Наиболее распространенными на этом сегменте являются Palm 
и Pocket PC. В настоящее время Palm-устройства являются лидерами 
рынка в этой категории, хотя их доля сокращается, поскольку в устройства Pocket PC добавили больше возможностей, которые хорошо подходят для корпоративных пользователей. Как Palm, так и Pocket PC имеют 
сенсорные экраны со встроенной поддержкой распознавания символов. 
Palm-устройства доступны как в монохромном, так и цветном видах, 
в то время как КПК обычно предлагают цветные экраны. Palmустройства, как правило, несколько меньше, чем карманные ПК, что по
зволяет их легко носить с собой, поскольку они могут быть прикреплены к поясу или находиться в портфеле. Как правило, они весят около 
225 граммов.  
Хотя по форме Palm-устройства могут быть привлекательными, их 
производительность и возможности хранения данных часто не на должном уровне. Многие Palm-устройства базируются на операционной системе от 8 до 32 мегабайт общего объема памяти и с процессорами, работающими на 33 МГц или меньше. Поскольку эти приложения 
становятся все более совершенными, они требуют бóльшего хранилища 
данных и вычислительной мощности для удовлетворения требований 
приложений. Кроме того, поскольку Java-приложения развертываются 
на этих устройствах, они также требуют большей мощности для обработки требований виртуальной машины Java (JVM) и связанных с ней 
приложений. Новое поколение Palm-устройств, работающее на операционной системе OS 5.0, преодолело эти трудности с помощью перехода на ARM-процессоры, работающие на частоте 206 МГц.  
Большинство устройств на базе Pocket PC имеют лучшие характеристики. Последние устройства на рынке имеют достаточную оперативную память вместе с X-Scale процессорами, работающими на частоте от 400 МГц. Дополнительные вычислительные мощности требуются 
для запуска операционной системы Windows CE, которая мощнее, чем 
Palm OS. Одним из недостатков повышенной мощности является ее 
влияние на потребление энергии аккумулятора. Palm-устройства часто 
могут работать несколько дней на одном заряде батареи, в то время как 
устройства Pocket PC обычно должны заряжаться ежедневно.  
Первоначально рынок этих устройств был ориентирован на создание персонального цифрового помощника, отсюда и название 
«КПК». Palm захватил огромный рынок КПК, предлагая интуитивно 
понятный пользовательский интерфейс для доступа к общим приложениям, таким как календари, списки контактов и списки дел. Такой 
широкий спектр применения, наряду с относительно низкой стоимостью, продолжает делать Palm OS привлекательными для многих 
пользователей КПК.  
Устройства Pocket PC пришли на рынок на несколько лет позже 
Palm. Они предназначены для аудитории, которая ищет богатый пользовательский интерфейс с мультимедийными возможностями. Кроме 
того, устройства также нацелены на тех, кто собирается использовать 
пакет Microsoft Office.  
Для того чтобы более четко различать их потребительские и корпоративные предложения, Palm создали два суббренда устройств: Tungsten 
и Zire. Семейство Tungsten продукции Palm предназначено для ИТ-спе
циалистов. Эти решения сочетают мощные аппаратные и программные 
возможности для разрешения сложных задач. Семейство Zire продукции 
Palm направлено на потребительский рынок, предлагая низкие цены 
на устройства с простыми в использовании конструкциями.  
Следует отметить, что современные сотовые телефоны также позволяют выполнять прикладные программы (приложения). Разница состоит в том, что в случае с сотовым телефоном можно говорить лишь 
о работе программ с ограниченной функциональностью, запущенных 
в специально выделенной изолированной среде (так называемой песочнице). В случае со смартфонами и коммуникаторами функциональные 
возможности программ практически не ограничены, например в платформе Android, при желании, можно заменить даже программный модуль сотового телефона. 
Если разделение на КПК и телефоны является очевидным, то различие между смартфонами и коммуникаторами медленно уменьшается. 
Само же разделение произошло, исходя из того, на какой основе возникли те или иные устройства:  
 Коммуникаторы – это КПК, в которые была добавлена поддержка 
соединения с сетями связи. Примером коммуникаторов могут 
служить устройства под управлением операционной системы 
Windows Phone. 
 Смартфоны – это сотовые телефоны с операционной системой, 
приспособленной для запуска сторонних приложений. Классическим примером смартфонов являются устройства на основе операционной системы Android. 
На рис. 1.1 графически показано, как соотносятся эти категории 
мобильных устройств. 
 

Рис. 1.1. Категории мобильных устройств 

Основным фактором, который в настоящий момент позволяет разделить коммуникаторы и смартфоны, является различие в принципах 
ввода данных. Стандартным средством ввода данных для КПК и, соответственно, коммуникаторов является сенсорный экран. В смартфонах 
сенсорные экраны не используются, а в качестве основного исторически 
применяется клавиатурный ввод. 
Однако даже эта разница медленно, но верно исчезает: появившийся в 2007 году Apple iPhone, который на момент выпуска не поддерживал возможности установки дополнительных программ и, соответственно, мог быть отнесен к категории «телефоны», имел поддержку 
сенсорного ввода. Популярность этого телефона привела к тому, что 
крупнейшие компании, создающие смартфоны, внедрили возможность 
сенсорного ввода данных для своих платформ. В целом, использование 
особенностей форм-фактора того или иного мобильного устройства позволяет создавать многофункциональные приложения. 

1.2. Коммуникационные технологии 

Возникновение Интернета превратило персональный компьютер из 
автономного устройства, которое может работать исключительно с программами и данными в его памяти, в участника локальных и глобальной 
компьютерных сетей, которому доступны совершенно новые объемы 
данных и функциональные возможности.  
В конце 90-х годов прошлого века на рынке появились первые 
гибриды карманных персональных компьютеров и телефонов – 
Handspring Visorphone или Ericsson R380 (рис. 1.2). Чтобы иметь 
представление о том, какой путь за это время прошли мобильные устройства, необходимо отметить, что первое из указанных устройств 
было не коммуникатором, а отдельной приставкой, подключавшейся 
к КПК на основе Palm OS; а второе, хоть и работало на основе операционной системы EPOC, не позволяло установку стороннего программного обеспечения.  
 

Рис. 1.2. Ericsson R380 

Современные технологии по передаче данных рассмотрены ниже.  

Доступ онлайн
300 ₽
В корзину