Реализация мобильного приложения "Новостной портал города Гомеля" на платформе Android

Структура и архитектура платформы Android. Основные достоинства и недостатки операционной системы Android. Среда разработки Eclipse, платформа Java. Подготовка среды разработки. Вкладка "Погода", "Курс валют", "Новости". Просмотр полной новости.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 11.07.2014
Размер файла 1,0 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ

Учреждение образования

«Гомельский Государственный Университет имени Франциска Скорины»

Математический факультет

Кафедра математических проблем управления

Допущена к защите

Зав. кафедрой __________ В. С. Смородин

«____» ____________ 2014 г.

Реализация мобильного приложения «Новостной портал города Гомеля» на платформе Android

Дипломная работа

Исполнитель:

студент группы ПО-51 ________ О. В. Герасименко

Научный руководитель:

доцент кафедры МПУ, к.т.н. _________ А. В. Клименко

Рецензент:

старший преподаватель кафедры АСОИ ________ Н. А. Шаповалова

Гомель 2014

Содержание

Введение

1. Новостной портал

1.1 Основные понятия

1.2 Основные принципы

2. Платформа Android

2.1 Структура платформы Android

2.2 Архитектура платформы Android

2.3 История

2.4 Применение

2.5 Достоинства системы Android

2.6 Интересные факты

3. Среда разработки Eclipse

3.1 История Eclipse

3.2 Преимущества Eclipse

3.3 Платформа Java

4. Разработка новостного приложения

4.1 Подготовка среды разработки

4.2 Создание нового приложения

4.3 Вкладка «Погода»

4.4 Вкладка «Курс валют»

4.5 Вкладка «Новости»

4.6 Просмотр полной новости

Заключение

Список использованных источников

Приложение А

Введение

С появлением мобильных телефонов, планшетов, посещать сайт и смотреть новости стало не актуальным. Поэтому для просмотра новостей начали использовать новостные приложения. У них есть свои преимущества перед сайтом:

- увеличено быстродействие;

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

- никакой рекламы;

- более удобный интерфейс для просмотра;

- более удобный функционал.

Задание, полученное на дипломную работу - разработать программное обеспечение для системы Android: информационное приложения для жителей города Гомеля, с возможностью просмотра новостей, курса валют и погоды.

Операционная система Android - одна из самых популярных платформ для мобильных устройств. Причем, не дешевый аналог продукта от Apple, а альтернатива, его основной конкурент с высокой динамикой развития. Платформа разработана на ядре Linux. Гибкость настроек системы Андроид чрезвычайно удачно сочетается с удобным инструментарием, что является идеальным решением для создания новых приложений. Основным источником ПО для андроид-устройств является Android Market.

Данная работа посвящена изучению новостного приложения в среде визуального объектно-ориентированного программирования Java. Для разработки дипломной работы использованы компоненты SDK Android версии 4.0.3.

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

В наше время информационный портал является одним из средств, для реализации своих идей. Цель его создания может нести самый разный характер. Поэтому создание интернет портала требует четкого определения цели. Моей целью является изучение и описание основных принципов работы новостного приложения, изучение компонент для работы с новостным приложением. В процессе написания данной работы была создана программа, служащая примером данного приложения.

1. Новостной портал

1.1 Основные понятия

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

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

1.2 Основные принципы

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

Центральная страница приложения. На хорошо видимой части узловой страницы можно разместить главные новости, последние новости, рекомендуемое пользователю содержимое, а также подборку статей из различных категорий. Актуальное содержимое из каждой группы категорий может перемещаться в узел. Заголовок группы категорий, реализованный в виде раскрывающегося меню, позволяет пользователю перейти к определенному разделу, чтобы увидеть его целиком.

Закладки и сохранение на текущем этапе. Пользователи могут сохранять статьи и делать закладки, чтобы прочитать их позже. Если в вашем приложении грамотно реализованы эти функции, пользователи будут активнее его использовать, чтобы быстро переходить к закладкам. Добавьте на центральную страницу раздел "Закладки" или "Избранное", куда пользователи смогут сохранять закладки.

Раскрывающийся заголовок. Такой заголовок также позволяет пользователям быстро перемещаться по категориям из списка. Предположим, пользователь читает статью о спорте и хочет перейти в раздел развлечений вашего приложения. Это легко выполнить с помощью раскрывающегося заголовка, как показано ниже.

Контекстное масштабирование. Контекстное масштабирование позволяет быстро перемещаться между категориями в пределах одного представления. Например, если пользователь быстро нажмет на центральную страницу и проведет вниз, он перейдет от первой новости на центральной странице к последней. Ниже приведен пример использования контекстного масштабирования для быстрого перехода между различными категориями новостей.

При реализации контекстного масштабирования нужно сделать так, чтобы пользователи могли изменять расположение категорий на центральной странице, выбирая и перемещая их. Возможность настройки центральной страницы по своему вкусу может повысить популярность вашего приложения. Например, пользователи, которым интересны статьи из категории "Наука", вероятно, захотят разместить ее над категорией "Политика". Эта функция позволяет гибко учитывать предпочтения аудитории.

Кроме того, контекстное масштабирование может использоваться для перехода между различными статьями в пределах одной категории. Контекстное масштабирование позволяет пользователям быстро перемещаться от одной статьи к другой.

Представление статьи в приложении. Представление статьи в приложении - это интерфейс, в котором отображается содержимое. Удобное и красивое представление выделит ваше приложение среди конкурентов, так как именно с представлением пользователи взаимодействуют больше всего. Поэтому кроме наглядности отображения важен еще и привлекательный внешний вид. У представления также должна быть эффективная навигация.

В представлении статьи новостного приложения должна быть горизонтальная прокрутка, чтобы пользователи могли легко перемещаться по содержимому. Кроме того, иногда есть смысл разбивать статьи на несколько страниц. Разбивка на страницы позволяет не только оценить общий объем материала, но и быстро перемещаться по тексту.

У каждого типа устройств есть свои оптимальные варианты представления содержимого. Например, при чтении новостей на планшетах используется как книжная, так и альбомная ориентация, в то время как на полноразмерном ноутбуке или настольном компьютере пользователи, вероятнее всего, читают новости в альбомной ориентации. Следовательно, при проектировании представления нужно учесть обе ориентации. Кроме того, для планшета следует предусмотреть навигацию касанием. Как упоминалось выше, рекомендуется разбивать содержимое на несколько страниц. При сенсорном управлении добавление страниц выполняется при помощи точек прикрепления в пределах статьи для создания "контрольных точек". С их помощью пользователь при быстрой прокрутке сможет понять, на каком фрагменте статьи он сейчас находится.

В представлении статьи можно показывать комментарии и схожие по теме статьи, чтобы пользователи заинтересовались и дольше работали с приложением. Ниже представлена возможная реализация.

Навигация по статьям. Пользователи обычно интересуются определенной темой или новостной категорией и могут просматривать множество статей, связанных с ними. Если объем содержимого в вашем приложении небольшой, реализуйте в конце статьи прокрутку вправо для перехода к следующей статье и прокрутку влево для перехода к предыдущей. Вы также можете реализовать в данном представлении контекстное масштабирование, которое обеспечивает более быструю навигацию по статьям.

Если публикации или статьи довольно большие по объему, добавьте кнопки "предыдущая статья" и "следующая статья" на верхней панели приложения для упрощения перехода к другим статьям. Данные кнопки могут дополнять упомянутую выше прокрутку между предыдущей и следующей статьями. Такие кнопки могут иметь различное оформление. Например, отображение эскизов предыдущей и следующей страниц позволяет пользователям просмотреть содержимое, прежде чем переходить к нему. Вы также можете использовать стандартные значки "Назад" и "Вперед", но при этом сделать верхнюю панель приложения полупрозрачной или прозрачной, чтобы она не отвлекала внимания пользователя. Ниже приведен пример таких кнопок на верхней панели приложения.

Актуальность содержимого. В новостных приложениях очень важно отслеживать актуальность содержимого и вовремя его обновлять.

Отображение информации о "последнем обновлении" повышает доверие пользователей к новостям. Такая информация должна отображаться непосредственно на полотне, но не быть навязчивой. Применяйте для нее информационный стиль третьего уровня (9 точек) из таблицы шрифтов.

Отображение времени публикации статьи - это еще один распространенный способ информирования пользователей об актуальности содержимого. Для таких меток времени применяется информационный стиль третьего уровня из таблицы шрифтов, а также соответствующий цвет и вес для отделения от другого содержимого с тем же стилем.

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

2. Платформа Android

2.1 Структура платформы Android

Платформа Android представляет собой программный стек операционной системы на основе Linux, предназначенный для управления устройством (аппаратурой), памятью и процессами. Различные компоненты этого стека представляют собой несколько уровней иерархии и, в целом, обеспечивают функционирование мобильного устройства. Одни из этих компонентов необходимы для работы непосредственно с оборудованием устройства, другие обеспечивают функции связанные с телефонией, позиционированием, мультимедиа и так далее, а третьи предоставляют приложениям фреймворк для реализации многочисленных возможностей мобильного устройства. Другими словами, платформа Android включает в себя непосредственно операционную систему, программное обеспечение промежуточного уровня (middleware) и набор приложений (как встроенных, так и сторонних)[1].

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

- Аппаратура - набор элементов, обеспечивающих функционирование устройства.

- Linux Kernel (+Drivers) - ядро операционной системы Linux и набор драйверов, которые обеспечивают базовые механизмы управления оборудованием и распределения памяти, управления задачами, обеспечения безопасности и так далее.

- Библиотеки (C/C++), используемые различными компонентами операционной системы.

- Dalvik Virtual Machine (DVM) - виртуальная машина Dalvik, которая обеспечивает среду выполнения Android приложений и компонентов операционной системы (ОС).

- Core Library - основные Android библиотеки, содержат большинство функций доступных в ядре библиотеки языка Java (Java API), а так же специальные функции операционной системы Android.

- Application Framework (каркас приложений) - набор Java классов (API), предоставляющий приложениям интерфейс к функциям операционной системы и библиотекам.

- Встроенные и пользовательские приложения.

2.2 Архитектура платформы Android

Архитектуру Android можно разделить на шесть уровней: уровень оборудования; уровень ядра Linux; уровень нативных библиотек; уровень среды выполнения Android; уровень каркаса приложений (Application Framework); уровень приложений. На рисунке 2.1 показана архитектура платформы Android.

Рисунок 2.1 - архитектура платформы Android.

Ядро Linux и набор драйверов. Центром платформы Android является ядро операционной системы Linux (версии 2.6.25 - 3.0.31, в зависимости от версии Android), которое отвечает за решение основных задач операционной системы и взаимодействие с оборудованием.

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

- драйвер межпроцессного взаимодействия (IPC Driver).

- драйвер управления энергопотреблением (Android Power Management).

- набор драйверов для оборудования, входящего в состав мобильного устройства[2].

Хотя операционная система Android и основано на ядре Linux, между ними (Android и Linux в чистом виде) существуют некоторые различия. Так Android, например, содержит свои механизмы распределения памяти, взаимодействие между процессам и др.

Драйвер IPC. Приложения и службы в Android работают в отдельных (защищенных) процессах, которые могут взаимодействовать между собой и имеют доступ к общей памяти. Платформа Android обеспечивает механизм IPC (Inter-process Communication), который является основным механизмом взаимодействия между процессами в системе. Драйвер IPC обеспечивает функции взаимодействия процессов, создания и обработки пулов потоков в процессах, подсчета и отображения ссылок на объекты в процессах, синхронных запросов между процессами.

Управление энергопотреблением. Система управления энергопотреблением (Android Power Management) представляет собой оптимизированный для мобильных устройств (с учетом их специфических особенностей), стандартный драйвер управления питанием Linux. Основная функция этой системы заключается в экономном использовании заряда батареи мобильного устройства за счет поддержки режимов пониженного энергопотребления.

Драйверы оборудования. Программный стек Android был разработан с учетом колоссальной гибкости, необходимой при выборе аппаратной конфигурации устройств. Другими словами концепция архитектуры программного стека Android предусматривает возможность использования многих различных аппаратных компонентов и средств, которые могут предоставлять дополнительную функциональность мобильным устройствам[3].

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

Нативные библиотеки. Следующий уровень над ядром Linux включает набор библиотек (написанных на C/С++), которые используются различными компонентами ОС. Библиотеки этого уровня по своему функциональному назначению можно разделить на следующие группы:

- Системная библиотека Bionic (libc), написанная на языке C (библиотека времени выполнения).

- Менеджер поверхностей.

- Функциональные библиотеки С/С++.

Системная библиотека Bionic (libc). Системная библиотека базируется на лицензии Berkeley Software Distribution (BSD) и разработана для мобильных устройств на основе Linux. Компания Google разработала свою собственную версию этой библиотеки (libc Bionic) по следующим причинам:

- Экономия памяти. Так как эта библиотека загружается в каждый процесс, её размер должен быть как можно меньше. Библиотека Bionic имеет размер всего около 200 Кбайт.

- Максимальное быстродействие. Библиотека Bionic оптимизирована для работы на мобильном устройстве.

Библиотека Bionic имеет встроенную поддержку важных для Android системных служб в частности поддержку службы регистрации системных событий. Библиотека Bionic не совместима с GNU libc и стандартом POSIX.

Менеджер поверхностей. Система Android использует композитный менеджер поверхностей, похожий на Compiz (композитный менеджер окон для X Window System, использующий для ускорения 3D графики OpenGL). Менеджер поверхностей обрабатывает весь рендеринг (отрисовку) поверхности на фреймовый буфер[4]. Менеджер может объединить 2D- и 3D- поверхности и поверхности от нескольких приложений. Вместо того чтобы производить отрисовку графики напрямую в буфер дисплея, система посылает поступающие команды отрисовки в закадровый буфер, где они накапливаются вместе с другими, составляя некую композицию, а потом выводятся на экран. Этот процесс можно увидеть на рисунке 2.2.

Рисунок 2.2 - Обработка графической информации менеджером поверхностей

Функциональные библиотеки. Библиотеки, используемые различными компонентами операционной системы Android. Некоторые из них перечислены ниже:

- Media Framework - обеспечивает поддержку функций мультимедиа (воспроизведение аудио и видео) и поддержку различных медиа форматов (MPEG4, H.264, MP3, WMA, WAV, AAC, AMR, JPG, PNG).

- SQLite -- библиотека поддержки реляционной базы данных SQLite.

- OpenGL ES - движок для работы с 3D-графикой.

- FreeType - библиотека шрифтов, предназначенная для работы с растровыми и векторными шрифтами.

- LibWebCore - обеспечивает работу web-браузера (движок WebKit).

- SGL - поддержка 2D графики. Android также содержит собственную графическую 2D-библиотеку Skia, которая написана на С/С++ (Skia также формирует ядро популярного браузера Google Chrome).

- SSL (Secure Sockets Layer) - библиотека предназначена для работы с сокетами в безопасном (защищенном) режиме.

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

Среда выполнения Android (Android Runtime). Android Runtime Environment состоит из набора базовых (основных) библиотек Android и виртуальной машины Dalvik. Именно этот уровень обеспечивает среду выполнения для приложений Android.

Базовые библиотеки обеспечивают большую часть низкоуровневой функциональности, доступной библиотекам ядра языка Java (Java API), а так же специальные функции операционной системы Android. Эти библиотеки являются основной платформой разработки Java-приложений для Android.

Dalvik Virtual Machine (DVM). Основанная на регистрах виртуальная Java машина, разработанная и написанная Дэном Борнштейном (англ. Dan Bornstein) и другими, как часть мобильной платформы Android.

Виртуальная машина Dalvik оптимизирована для низкого потребления памяти, это нестандартная регистр ориентированная виртуальная машина, хорошо подходящая для исполнения на RISC-архитектурах процессоров, часто используемых в мобильных и встраиваемых устройствах, таких, как коммуникаторы и планшетные компьютеры. Большинство виртуальных машин, используемых в настольных системах, являются стек ориентированными, включая стандартную виртуальную машину Java от Oracle.

Программы для Dalvik пишутся на языке Java. Несмотря на это, стандартный байт-код Java не используется, вместо него Dalvik VM исполняет байт-код собственного формата. После компиляции исходных текстов программы на Java (при помощи javac) утилита dx из «Android SDK» преобразует .class файлы в формат .dex, пригодный для интерпретации в Dalvik.

В общем можно сказать, что Dalvik это среда для выполнения компонентов операционной системы (уровня приложений) Android и пользовательских приложений. Каждый процесс выполняется в своём, изолированном адресном пространстве. Когда пользователь запускает приложение (либо операционная система запускает один из своих компонентов), Ядро виртуальной машины Dalvik (Zygote Dalvik VM) создает отдельный, защищенный процесс в общей памяти, в котором непосредственно разворачивается VM, как среда для запуска приложения. Другими словами, изнутри Android выглядит как набор виртуальных машин Dalvik, в каждой из которых исполняется прикладная задача (приложение).

Уровень каркаса приложений (Application Framework). Уровень каркаса приложений является связующим звеном между уровнем нативных библиотек и среды выполнения Android и уровнем приложений. Этот уровень предоставляет приложениям интерфейсы (набор Java классов, API) к функциям операционной системы. На этом уровне находятся основные службы Android для управления жизненным циклом приложений, пакетами, ресурсами и т. д. Пользовательские приложения имеют полный доступ к тем же API, что и системные приложения.

Библиотеки и службы этого уровня являются основой для всех приложений (как системных, так и пользовательских) в операционной системе Android и включают в себя:

- Богатый и расширяемый набор элементов пользовательского интерфейса (представлений, Views). Это текстовые поля, кнопки, списки, таблицы, встраиваемый web браузер и т.д., элементы, которые используются практически во всех приложениях.

- Activity Manager - управляет жизненным циклом приложений и стеком Activity (история запусков Activities). Обеспечивает систему навигации между Activity.

- Package Manager - менеджер пакетов управляет установкой и развертыванием пакетов прикладных программ на устройстве.

- Resource Manager - содержит функции для доступа к ресурсам приложения (строкам, значениям, графике, макетам пользовательского интерфейса и др.).

- Content Providers - провайдеры контента, позволяют приложениям получать доступ к данным других приложений или предоставлять доступ к своим данным.

- Telephony Manager - менеджер телефонии, предоставляет доступ (API) к основным функциям телефонии (получение информации о сотовой сети, звонки и т.д.).

- Location Manager - менеджер местоположения, предоставляет приложениям функции для работы с информацией о текущим местоположении и его изменении.

- Notification Manager - менеджер уведомлений, предоставляет API для работы с системой уведомлений Android.

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

Уровень приложений. Мобильное устройство на платформе Android поставляется с набором основных или, другими словами системных приложений (таких как телефон, почта, сообщения, контакты, браузер, карты и т.д.). Так же существует возможность добавлять (устанавливать) сторонние (или пользовательские) приложения в систему. Все эти приложения написаны на языке Java. Важным фактом является то, что в Android нет разницы между системными и сторонними приложениями. Это означает в частности, что любое системное приложение можно заменить альтернативным (сторонним) приложением.

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

2.3 История

android операционный система разработка

В июле 2005 года корпорация Google купила компанию Android Inc. 5 ноября 2007 года компания официально объявила о создании Open Handset Alliance (OHA) и анонсировала открытую мобильную платформу Android, а 12 ноября 2007 года альянс представил первую версию пакета для разработчиков Android «Early Look» SDK и эмулятор Android.

23 сентября 2008 года официально вышла первая версия операционной системы, а также первый полноценный пакет разработчика SDK 1.0, Release 1. С момента выхода первой версии платформы произошло несколько обновлений системы. Эти обновления, как правило, касаются исправления обнаруженных ошибок и добавления новой функциональности в систему.

В 2009 году было представлено целых четыре обновления платформы. Так, в феврале вышла версия 1.1 с исправлением различных ошибок[10]. В апреле и сентябре вышли ещё два обновления - 1.5 «Cupcake» и 1.6 «Donut» соответственно. Обновление «Cupcake» привнесло существенные изменения: виртуальная клавиатура, воспроизведение и запись видео, браузер и другие. В «Donut» впервые появились поддержка различных разрешений и плотности экрана и сетей CDMA. В октябре того же года вышла версия операционной системы Android 2.0 «Eclair» с поддержкой нескольких аккаунтов Google, поддержкой браузером языка HTML5 и других нововведений, а также после небольшого обновления в пределах версии «Eclair» (2.1) появились «живые обои», видоизменён экран блокировки.

В середине 2010 года Google представила Android версии 2.2 под наименованием «Froyo», а в конце 2010 года Android 2.3 «Gingerbread». После обновления «Froyo» стало возможно использовать смартфон в качестве точки доступа, использовать традиционную блокировку смартфона цифровым или буквенно-цифровым паролем и другие изменения, а обновление «Gingerbread» привносит более детальный контроль над функциями «Вставка и Копирование», улучшение управления питанием и контроля за приложениями, поддержка нескольких камер и т. д.

22 февраля 2011 года была официально представлена платформа Android 3.0 «Honeycomb», главная особенность которой её планшетоориентированность.

Android 4.0 «Ice Cream Sandwich», вышедшая 19 октября 2011 года, первая универсальная платформа, которая предназначена как для планшетов, так и для смартфонов.

2012 год принёс обновление операционной системы до версии под названием «Jelly Bean». Она была представлена в июне с порядковым номером 4.1, сменившая свой номер на 4.2 после небольшого обновления в конце октября.

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

2.4 Применение

Первым устройством, работающим под управлением Android, стал разработанный компанией HTC смартфон HTC Dream (официально выпущен сотовым оператором T-Mobile под названием T-Mobile G1), презентация которого состоялась 23 сентября 2008 года. Вскоре последовали многочисленные заявления других производителей смартфонов о намерении выпустить устройства на базе Android. В России первым Android-смартфоном поступившим в продажу (июль 2009 года) стал Highscreen PP5420. С выходом Android третьей версии (Honeycomb), ориентированной на планшеты, всё больше производителей стали объявлять и о выпуске планшетов на этой платформе. Также компания Google в сотрудничестве с разными гигантами мобильной индустрии выпускает собственные устройства в серии «Google Nexus». Именно эти устройства первыми получают обновления до новых версий. Кроме смартфонов и планшетов, операционную систему Android устанавливают и на другие устройства. Так, в конце 2009 года появилась в продаже первая фоторамка, работающая на Android. В июне 2011 года итальянская компания Blue Sky анонсировала выпуск интеллектуальных наручных часов i'mWatch под управлением ОС Android. В августе 2012 года Nikon представила первую в мире фотокамеру, которая также работает на Android. В серии «Google Nexus» присутствуют не только смартфоны и планшеты, но и медиаплеер Nexus Q, работающий на Android.

Кроме того, энтузиасты портировали Android на ряд известных устройств, среди которых, например, смартфоны на платформе Windows Mobile HTC Touch Dual и HTC TyTN II, на которых Android был запущен в режиме эмуляции. Также было осуществлено полноценное портирование на такие устройства, как интернет-планшеты, работающие на Maemo - Nokia N810 и Nokia N900 (порт под названием Nitdroid), на смартфоны Nokia N9, работающий на платформе MeeGo, и HTC HD2, работающий на операционной системе Windows Mobile, на котором ОС Android можно запускать как с microSD-карты, так и с внутренней NAND-памяти. При этом установленная система имеет полную, ничем особо не ограниченную функциональность. Помимо этого есть удачный опыт установки Android на некоторые устройства Apple - iPhone, iPod Touch и iPad с помощью специальной программы под названием Openiboot, которая предназначена для запуска на данных устройствах разнообразных ОС, в том числе и Android. Появляются предварительные прошивки с ограниченной функциональностью на устройствах на операционной системе Bada. Компания Koolu не только занялась портированием Android на Neo FreeRunner, но и строила свой бизнес на продаже этих смартфонов с предустановленной мобильной платформой от Google. Первый официальный и общедоступный бета-релиз порта Android на Neo FreeRunner от Koolu состоялся в декабре 2008 года.

В октябре 2012 года исполнительный директор компании Ларри Пейдж сообщил о более 500 миллионов активированных смартфонов и планшетов на базе операционной системы Android и о ежедневной активации 1,3 миллиона устройств.

2.5 Достоинства системы Android

- Некоторые обозреватели отмечают, что Android проявляет себя лучше одной из своих конкуренток, Apple iOS, в ряде особенностей, таких как: веб-сёрфинг, интеграция с сервисами Google Inc. и прочих. Android, в отличие от iOS, является открытой платформой, что позволяет реализовать на ней больше функций.

- В отличие от iOS и Windows Phone 7, в Android заявлена полноценная реализация Bluetooth-стека, позволяющая в том числе передачу и приём файлов. Присутствует реализация FTP-сервера, режима точки доступа к сети (службы PAN) и групповой одноранговой сети через Bluetooth (службы GN).

- В Android-аппаратах, как правило, присутствует MicroSD-кардридер, позволяющий быстрый перенос файлов с компьютера на телефон. Кроме того, в iOS и Windows Phone 7 невозможна прямая передача каких-либо файлов с телефона и на телефон, кроме как через программы синхронизации (iTunes и Zune), в то время как телефоны на Android экспортируют файловую систему карты памяти как USB mass storage device (в версиях старше 3.0 на усмотрение производителя) или с помощью Media Transfer Protocol.

- Несмотря на изначальный запрет на установку программ из «непроверенных источников» (например, с карты памяти), это ограничение отключается штатными средствами в настройках аппарата, что позволяет устанавливать программы на телефоны и планшеты без интернет-подключения (например, пользователям, не имеющим Wi-Fi-точки доступа и не желающим тратить деньги на мобильный интернет, который обычно стоит дорого), а также позволяет всем желающим бесплатно писать приложения для Android и тестировать на своём аппарате.

- Android доступен для различных аппаратных платформ, таких как ARM, MIPS, x86.

- Существуют альтернативные Google Play магазины приложений: en:Amazon Appstore (англ.), en:Opera Mobile Store (англ.), Yandex.Store, GetUpps.

2.6 Интересные факты

- Кодовое имя каждой версии операционной системы Android, начиная с версии 1.5, представляет собой название какого-либо десерта. Первые буквы наименований в порядке версий соответствуют буквам латинского алфавита: 1.5 Cupcake («кекс»), 1.6 Donut («пончик»), 2.0/2.1 Eclair («эклер» или «глазурь»), 2.2 Froyo (сокращение от «замороженный йогурт»), 2.3 Gingerbread («имбирный пряник»), 3.0 Honeycomb («медовые соты»), 4.0 Ice Cream Sandwich («брикет мороженого»), 4.1/4.2 Jelly Bean («желейные бобы»), 5.0 Key Lime Pie («лаймовый пирог»), Licorice («лакрица»), Marshmallow («маршмэллоу») и Nougat («нуга») (курсивом выделены будущие и/или неподтверждённые версии).

- Специально для платформы Android было создано семейство шрифтов Droid и Roboto.

- На официальных сайтах Android до сих пор не указаны минимальные требования к аппаратным средствам для запуска операционной системы (присутствуют только требования к аппаратным средствам для пакета разработки под Android).

- По данным на февраль 2011 года устройства с ОС Android уверенно лидировали в списке самых популярных смартфонов Великобритании, оставив позади iPhone 4 c iOS. По прогнозам экспертов, это первый шаг ОС Android к глобальному лидерству на рынке мобильных операционных систем.

- Во всех версиях Android есть скрытая мини-игра. Чтобы её запустить, нужно зайти в «Настройки», потом зайти в «Информация о Android», найти функцию «Версия Android», и нажимать на неё несколько раз[6]. После появится в середине экрана изображение; чтобы активировать мини-игру, нужно несколько раз нажать на изображение.

- В 4.2 по умолчанию отключены инструменты разработчика, для включения нужно семь раз нажать на номер сборки.

- Если несколько раз нажать на строку номера версии в настройках, откроется логотип версии.

- Если на официальном сайте Android навести курсор на робота в нижнем левом углу, то он начнёт выполнять разные движения, а при нажатии он помашет рукой.

В конце 2012 года Google, параллельно с выходом версии Android 4.2, анонсировала выход еще двух брендовых девайсов: планшета Samsung Nexus 10 и смартфона LG Nexus 4. Возможность переключения между профилями пользователями стала доступна именно благодаря обновленной операционной системе. Это важное дополнение для планшетных ПК, ведь ими зачастую пользуются несколько членов семьи поочередно.

Можно сказать, что первая половина 2013 года ознаменовалась смартфонами с большой диагональю и сверхвысоким разрешением экрана. Еще год назад стандартом для 10-дюймовых планшетов было FullHD. Сейчас же оно является обязательным для 5-дюймовых флагманских смартфонов. Ну а планшеты поменяли привычное разрешение на матрицы 2560x1600 пикселей.

Предметом гордости для компании Google должен быть тот факт, что ее ОС установлена на более чем 1 млрд мобильных устройств мира. В течении пяти лет было разработано более 11 тысяч разнообразных моделей устройств, что работают на Android. Цифра довольно красноречивая. «Зеленые роботы» пользуются популярностью за различные форм-факторы, цену и технические характеристики.

3. Среда разработки Eclipse

3.1 История Eclipse

Eclipse - свободная интегрированная среда разработки модульных кроссплатформенных приложений. Развивается и поддерживается Eclipse Foundation.

Наиболее известные приложения на основе Eclipse Platform - различные «Eclipse IDE» для разработки ПО на множестве языков (например, наиболее популярный «Java IDE», поддерживавшийся изначально, не полагается на какие-либо закрытые расширения, использует стандартный открытый API для доступа к Eclipse Platform).

Первоначально Eclipse разрабатывалась фирмой IBM как преемник среды разработки IBM VisualAge, в качестве корпоративного стандарта IDE для разработки на разных языках под платформы IBM. По сведениям IBM, проектирование и разработка стоили 40 миллионов долларов. Исходный код был полностью открыт и сделан доступным после того, как Eclipse был передан для дальнейшего развития независимому от IBM сообществу.

В Eclipse 3.0 (2003 год) были выбраны спецификации сервисной платформы OSGi, как архитектура времени выполнения. С версии 3.0 Eclipse перестал быть монолитной IDE, поддерживающей расширения, а сам стал набором расширений. В основе лежат фреймворк OSGi и SWT/JFace, на основе которых разработан следующий слой - RCP (Rich Client Platform, платформа для разработки полноценных клиентских приложений). RCP служит основой не только для Eclipse, но и для других RCP-приложений, например Azureus и File Arranger. Следующий слой сам Eclipse, представляющий собой набор расширений RCP - редакторы, панели, перспективы, модуль CVS и модуль Java Development Tools (JDT).

С 2006 года фонд Eclipse координирует ежегодный общий релиз (Simultaneous Release), который происходит в июне. Каждый выпуск включает в себя платформу Eclipse, а также ряд других проектов Eclipse.

3.2 Преимущества Eclipse

Eclipse служит в первую очередь платформой для разработки расширений, чем он и завоевал популярность: любой разработчик может расширить Eclipse своими модулями. Уже существуют Java Development Tools (JDT), C/C++ Development Tools (CDT), разрабатываемые инженерами QNX совместно с IBM, и средства для языков Ada (GNATbench, Hibachi), COBOL, FORTRAN, PHP и пр. от различных разработчиков. Множество расширений дополняет среду Eclipse менеджерами для работы с базами данных, серверами приложений и др.

Eclipse JDT (Java Development Tools) - наиболее известный модуль, нацеленный на групповую разработку: среда интегрирована с системами управления версиями CVS, GIT в основной поставке, для других систем (например, Subversion, MS SourceSafe) существуют плагины. Также предлагает поддержку связи между IDE и системой управления задачами (ошибками). В основной поставке включена поддержка трекера ошибок Bugzilla, также имеется множество расширений для поддержки других трекеров (Trac, Jira и др.). В силу бесплатности и высокого качества, Eclipse во многих организациях является корпоративным стандартом для разработки приложений.

Eclipse написана на Java, потому является платформо-независимым продуктом, за исключением библиотеки SWT, которая разрабатывается для всех распространённых платформ (см. ниже). Библиотека SWT используется вместо стандартной для Java библиотеки Swing. Она полностью опирается на нижележащую платформу (операционную систему), что обеспечивает быстроту и натуральный внешний вид пользовательского интерфейса, но иногда вызывает на разных платформах проблемы совместимости и устойчивости приложений.

Основой Eclipse является платформа расширенного клиента (RCP от англ. rich client platform). Её составляют следующие компоненты:

- Ядро платформы (загрузка Eclipse, запуск модулей);

- OSGi (стандартная среда поставки комплектов (англ. bundles));

- SWT (портируемый инструментарий виджетов);

- JFace (файловые буферы, работа с текстом, текстовые редакторы);

- Рабочая среда Eclipse (панели, редакторы, проекции, мастеры).

GUI в Eclipse написан с использованием инструментария SWT. Последний, в отличие от Swing (который самостоятельно эмулирует графические элементы управления), использует графические компоненты данной операционной системы. Пользовательский интерфейс Eclipse также зависит от промежуточного слоя GUI, называемого JFace, который упрощает построение пользовательского интерфейса, базирующегося на SWT.

Гибкость Eclipse обеспечивается за счёт подключаемых модулей, благодаря чему возможна разработка не только на Java, но и на других языках, таких как C/C++, Perl, Groovy, Ruby, Python, PHP, Erlang, Компонентного Паскаля, Zonnon и прочих.

3.3 Платформа Java

Программная платформа Java - ряд программных продуктов и спецификаций компании Sun Microsystems, ранее независимой компании, а ныне дочерней компании корпорации Oracle, которые совместно предоставляют систему для разработки прикладного программного обеспечения и встраивания её в любое кросс-платформенное программное обеспечение. Java используется в самых разных компьютерных платформах от встраиваемых устройств и мобильных телефонов в нижнем ценовом сегменте, до корпоративных серверов и суперкомпьютеров в высшем ценовом сегменте. Хотя Java-апплеты редко используются в настольных компьютерах, однако они в них иногда используются для улучшения функциональности и повышения безопасности при просмотре всемирной паутины[5].

Программный код, написанный на Java, виртуальная машина Java преобразует в байт-код Java. Однако есть компиляторы байт-кода для других языков программирования, таких как Ada, JavaScript, Python, и Ruby. Также есть несколько новых языков программирования, разработанных для работы с виртуальной машиной Java. Это такие языки как Scala, Clojure and Groovy. Синтаксис Java в основном заимствован из Си и C++, но объектно-ориентированные возможности основаны на модели, используемой в Smalltalk и Objective-C. В Java отсутствуют определённые низкоуровневые конструкции, такие как указатели, также Java имеет очень простую модель памяти, где каждый объект расположен в куче и все переменные объектного типа являются ссылками. Управление памятью осуществляется с помощью интегрированной автоматической сборки мусора, которую выполняет JVM.

4. Разработка новостного приложения

4.1 Подготовка среды разработки

Для разработки приложений для ОС Android требуется установить Eclipse. Для данной задачи подходит версия Classic.

Установка Android SDK. Инструменты для разработки Android SDK можно загрузить на сайте для разработчиков. При установке можно выбрать требующиеся для разработки платформы и элементы SDK.

Установка плагина ADT к Eclipse. Плагин ADT дает доступ к инструментам Android SDK в среде разработки Eclipse. Для установки плагина ADT нужно открыть диалог установки плагина Eclipse через меню «Help > Install new software» и в поле «Work with» вписать адрес загрузки плагина «dl-ssl.google.com/android/eclipse/». Далее в таблице ниже отметить пункт «Developer Tools» и нажать «Next». Плагин также можно загрузить и установить вручную по ссылке: http://developer.android.com/sdk/eclipse-adt.html.

Установка JDK и JRE. Для разработки требуется среда исполнения Java Runtime Environment (JRE), комплект разработчика Java Development Kit (JDK), которые можно загрузить с официального сайта Oracle.

Создание виртуального устройства Android. Android tools включает в себя эмулятор «Android Virtual Device» (AVD). Эмулятор AVD позволяет тестировать приложения на виртуальном мобильном устройстве с ОС Android. Эмулятор позволяет создавать несколько виртуальных устройств с разными конфигурациями. Чтобы создать виртуальное устройство Android необходимо в меню «Window > Android SDK and AVD Manager» нажать «New», вписать имя виртуального устройства и его характеристики.

4.2 Создание нового приложения

Для того, чтобы создать новое приложение заходим File | New | Project..., в списке выбираем Android | Android Application Project и нажимаем кнопку Next. Делаем необходимые изменения, выбираем тип Activity, и в результате получаем готовый проект. На рисунке 4.1 изображено создание нового проекта.

Рисунок 4.1 - Новый проект

Так как данное приложение работает с интернетом, то в файле AndroidManifest.xml добавляем следующую строчку <uses-permission android:name="android.permission.INTERNET" />

Далее создаём ещё 3 Activity, на которых будут отображаться погода, курс валют, новости. На главной Activity мы помещаем компонету TabView. Так же создаём три вкладки и подписываем их «Погода», «Курс валют» и «Новости». На новые три Activity раскидываем необходимые компоненты, добавляем всплывающее меню. На рисунке 4.2 можно увидеть начальный экран программы.

В java-файле каждого Activity создаём класс AsyncTask для работы с интернетом. Это нужно для того, что c версии Android 4.0 стоит запрет на работу с интернетом в основном потоке. В этом же классе прописываем, что бы после окончания получения данных с интернета и их обработке, менялись значения необходимых компонент.

Рисунок 4.2 - Начальный экран

4.3 Вкладка «Погода»

Для отображения погоды на layout Meteo.xml помещаем компоненты TextView и ImageView. Компоненты TextView будут отображать текстовую информацию о погоде, ImageView в свою очередь будет показывать необходимые картинки. При размещении компонеты ImageView нам откроется окно выбора существующих картинок, если же нужных картинок не нашлось, то можно загрузить необходимые изображения. Все пользовательские изображения хранятся в папке /drawable, находящейся в каталоге проекта.

Все функции и процедуры для данной вкладки описываются в файле Meteo.java. Для связи с необходимыми компонентами используем переменные того же типа, что и компоненты и стандартный метод findViewById(), где в скобках указываем id компоненты. Например, findViewById(R.id.TextView1). На рисунке 4.3 изображена вкладка «Погода».

Рисунок 4.3 - Погода

Данные о погоде получаем с сайта gismeteo. У данного интернет сайта есть ресурс в котором он предоставляет файл типа xml. В данном файле содержится информация о погоде на ближайшие 24 часа. Сами данные предоставлены виде информации о погоде с интервалом в 6 часов.

4.4 Вкладка «Курс валют»

Для отображения данных о валюте на layout Money.xml помещаем компоненты TextView и ImageView. Компоненты TextView будут отображать текстовую информацию о валюте, ImageView - показывать изображения с флагами стран. При размещении компонеты ImageView нам откроется окно выбора существующих картинок, если же нужных картинок не нашлось, то можно загрузить необходимые изображения. Все пользовательские изображения хранятся в папке /drawable, находящейся в каталоге проекта.

Все функции и процедуры для данной вкладки описываются в файле Money.java. На рисунке 4.4 изображён первоначальный вид вкладки «Курс валют».

Рисунок 4.4 - Курс валют

При нажатии меню обновление, вызывается обработчик класса AsyncTasc onExecute(). Далее курс валют получает их таблицы курсов, предоставляемой сайтом Национального Банка Республики Беларусь, как показано на рисунке 4.5. В случае удачного завершения работы в методе класса onPostExecute() произойдёт замена шифра валют на их текущее значение. Также выводится на экран на какую дату предоставлена данная таблица курсов.

Рисунок 4.5 - Курс валют

4.5 Вкладка «Новости»

Так как мы загружаем не 1 и не 2 новости, а 10-20, то разместить их все в пределах одного экрана нет возможности. Есть один вариант, но тогда заголовки будут нечитаемые, т.к. они будут очень маленькие. Поэтому для удобства пользователя необходимо использовать ScrollView. Данная компонента позволяет прокручивать размещённую на ней информацию, если она не помещается в пределах экрана. Далее необходимо разместить компоненты для просмотра картинок и текста по одной каждого вида на строку.

Для загрузки заголовков новостей и картинок к ним в файле News.java будем снова использовать класс AsyncTasc. Для удобства загрузку картинок в данном классе мы помещаем в отдельный цикл. Просто при получении ошибки во время работы с текстом класс перейдёт к завершающему методу, и загрузка изображений будет отменена. В методе onPostExecute() данного класса мы делаем текст и картинки кликабельными, чтобы пользователь мог при нажатии либо на одно, либо на другое открыть полную новость.

При загрузке заголовков новостей также происходит загрузка даты размещения новости и ссылка на неё. В том методе, что делаем картинки и текст кликабельными необходимо прописать запуск layout содержащий полную новость. Для этого мы используем переменную Intent. Также в в одном из стандартных методов данной переменной, передаём ссылку на полную новость. Внешний вид вкладки «Новости» представлен на рисунке 4.6.

Рисунок 4.6 - Новости

4.6 Просмотр полной новости

В самом начале, перед тем как начать работать с новостью, необходимо разместить на layout 3компоненты. ScrollView, если текст будет больше, чем длина экрана, TextView - для просмотра текста и ImageView - для картинок.

Далее переходим в файл New_selected.java. В самом начале используем стандартный метод, чтобы получить ссылку на полную новость. После ещё получения вызывается обработчик класса AsyncTasc - execute(). Т.к. для вывода необходимой информации и одной из многих картинок мы используем html-страницу, то придётся написать обработчики, удаляющие html тэги и ненужные нам картинки, видео. Так же необходимо написать, чтобы html-код некоторые символов, заменялся на нормальные читаемые знаки. После обработки в финальном методе класса происходит вывод текста и картинок на экран, это можно увидеть на рисунке 4.7.

Рисунок 4.7 - Просмотр полной новости

Для того, чтобы узнать информацию о разработчике программы нужно нажать кнопку «Об авторе». На рисунке 4.8 изображена информация о разработчике.

Рисунок 4.8 - Информация о разработчике


Подобные документы

  • Характеристика работы операционной системы Android, используемой для мобильных телефонов. Создание Android проекта в среда разработки Eclipse. Общая структура и функции файла манифест. Компоненты Android приложения. Способы осуществления разметки.

    курсовая работа [1,0 M], добавлен 15.11.2012

  • Архитектура операционной системы Android, набор библиотек для обеспечения базового функционала приложений и виртуальная машина Dalvik. Объектно-ориентированный язык программирования Java как инструмент разработки мобильных приложений для ОС Android.

    дипломная работа [1,6 M], добавлен 08.07.2015

  • Архитектура и история создания операционной системы Android. Язык программирования Java. Выбор средства для реализации Android приложения. Программная реализация Android приложения. Проведение тестирования разработанного программного обеспечения.

    курсовая работа [167,8 K], добавлен 18.01.2017

  • Архитектура операционной системы Android. Инструменты Android-разработчика. Установка Java Development Kit, Eclipse IDE, Android SDK. Настройка Android Development Tools. Разработка программы для работы с документами и для осуществления оперативной связи.

    курсовая работа [2,0 M], добавлен 19.10.2014

  • Обзор особенностей операционной платформы для мобильных телефонов, смартфонов и коммуникаторов. История обновлений и модифицированные версии. Прошивка устройств. Приборы на платформе Android. Изучение основных достоинств операционной системы Android 4.2.

    реферат [885,8 K], добавлен 19.10.2015

  • Средства разработки развивающих и обучающих игр и используемой программы. Среда выполнения и Dalvik. Разработка приложения для платформы Android. Графический интерфейс и обработка касаний экрана. Разработка экранов приложения и их взаимодействия.

    дипломная работа [2,1 M], добавлен 18.01.2016

  • Разработка программного обеспечения для платформы Android версии 2.3: информационное приложения для поклонников футбольной команды, с возможностью просмотра событий, статистики и иной информации о команде и ее успехах. Листинг JsonDataManager.java.

    дипломная работа [4,1 M], добавлен 24.04.2013

  • Создание, изучение и разработка приложение на Android. Среда разработки приложения DelphiXE5. Установка и настройка среды программирования. Этапы разработки приложения. Инструменты для упрощения конструирования графического интерфейса пользователя.

    курсовая работа [1,6 M], добавлен 19.04.2017

  • Обзор существующих популярных программ для просмотра погоды на ОС Android. Операционные системы современных смартфонов. Ключевые особенности Android, технология Java. Разработка программной части, выбор языка, описание алгоритма, ее логической структуры.

    курсовая работа [911,5 K], добавлен 16.04.2014

  • Знакомство с особенностями и этапами разработки приложения для платформы Android. Рассмотрение функций персонажа: бег, прыжок, взаимодействие с объектами. Анализ блок-схемы алгоритма генерации платформ. Способы настройки функционала рабочей области.

    дипломная работа [3,4 M], добавлен 19.01.2017

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.