77228

Разработка приложения для платформы Google Аndroid

Курсовая

Информатика, кибернетика и программирование

Цель курсовой работы – разработка приложения Underworld, многопользовательской игры, для платформы Google Android, предоставляющего удобный геймплей с использованием мощной функциональности, предоставляемой платформой.

Русский

2015-02-02

430.36 KB

4 чел.

Санкт-Петербургский государственный университет

Математико-механический факультет

Кафедра системного программирования

разработка приложения для платформы

google android

Курсовая работа студента 444 группы

Морозкова Михаила Андреевича

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

Замышляев Александр

Выпускник кафедры системного программирования

математико-механического факультета.

Санкт-Петербург

2009

  1.  Постановка задачи

Цель курсовой работы – разработка приложения Underworld, многопользовательской игры, для платформы Google Android, предоставляющего удобный геймплей с использованием мощной функциональности, предоставляемой платформой.

Основная задача – разработка клиента игры, основанной на определении местоположения, так что перемещение в игровом мире происходит одновременно с движением в реальном мире посредством сервиса гео-локации, используя одну из современных технологий для мобильной связи (EDGE, 3G, Wi-Fi).

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

  1.  Проблемы

В целях защиты авторских прав и для дальнейшего использования приложений в Android. Market каждое приложение должно быть подписано уникальным ключом и зарегистрированно на официальном сайте. Нечто похожее необходимо и для MapActivity – класса, предоставляемого платформой Android для отображения Google Maps. Для этого используется алгоритм хеширования MD5. Приложения, неподписанные зарегистрированным MD5-отпечатком, не смогут быть установлены и/или запущены на Android-устройствах. Возможно подписание отладочным ключом (debug key), но такие приложения невозможно будет опубликовать в системе распространения Android.Market.

Существует 2 типа подписки: отладочная (debug mode) и релизная (release mode). Для получения уникального ключа и подписания приложения используются 2 стандартные JDK утилиты Keytool и Jarsinger.

Пример генерации уникального ключа и подписание им приложения:

keytool –genkey –v –keystore <name>.keystore –alias <alias_name> –keyalg RSA –validity 100

jarsinger –verbose –keystore <name>.keystore <application name>.apk <alias_name>

 Подробнее о получении ключа и подписке приложения на [1] и [2].

А вот так выглядит в общем виде команда получения необходимого отпечатка сертификата MD5:

 keytool –list –alias <alias_name> -keystore <keystore_name>.keystore 

 Затем полученный ключ должен быть зарегистрирован по адресу [3].

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

 

В то же самое время платформа Android  в отличие от iPhone предоставляет возможность доступа к уникальному номеру устройства (DeviceID), который используется в качестве логина при взаимодействии с сервером и получении с него данных.

Платформа Android – очень молодая, ей чуть больше года, что сказывается на помощи начинающим разработчикам: недостаточно примеров кода, документации по особенностям  и основным концепциям. Фактически – это только [4]. Но система предоставляет возможность легкого управления данными, посредством четко выстроенной иерархии.

Ресурсы отделены от исходников кода и представлены в виде XML, Bitmap или Raw файлов, которые компилируются в бинарные во время компиляции приложения с помощью aapt (Android Asset Packaging Tool, компилятор ресурсов в Android). В начальной стадии генерируются обозначения для ресурсов, так чтобы их можно было использовать в коде. Это позволяет компилятору затем удостовериться, что код соответствует объявленным ресурсам.

У каждого приложения должен быть AndroidManifest.xml – файл, предоставляющий системе всю необходимую о приложении информацию, которая необходима до выполнения кода. Здесь указываются пакет, компоненты (Activities – представляют пользовательский интерфейс; Services – фоновые процессы; Recievers – прием/отправка оповещений; ContentProviders – управляют наборами данных, доступных другим приложениям; Intents – содержат информацию о намерениях объекта, который его вызвал). Такое объявление позволяет Android-системе понимать когда какие компоненты и при каких условиях запускать. Так же манифест содержит информацию о разрешениях, которыми должно обладать приложение для доступа к некоторым API, а также взаимодействия с другими приложениями. Помимо разрешений там указываются связанные библиотеки и необходимые Android API.

  1.  Результаты

Разработан интерфейс различных возможных экранов приложения. Переходы между экранами соответствуют предоставленному iPhone-прототипу, будучи адаптированными на платформу Android:

Предоставленная в спецификации диаграмма последовательности экранов начала игры:

Описана внутриигровая логика, отработаны переходы между экранами. Осуществлен удобный и интуитивно понятный интерфейс – простые элементы управления: кнопки (Buttons, ImageButtons), списки (Lists), элементы прокрутки (Scrollbars); управление при помощи сенсорного экрана. Используются стандартные адаптеры (Adapters) и слушатели (Listeners) для обработки пользовательского ввода.

Добавлена поддержка карт (Google Maps) для определения местоположения игроков, которая позволяет игрокам видеть друг друга в игровом мире. Для этого предназначен сервис определения местоположения - Geo-location (Geonames.org в данный момент).

  1.  Литература

  1.  http://developer.android.com/guide/publishing/app-signing.html
  2.  http://code.google.com/intl/ru-RU/android/add-ons/google-apis/mapkey.html
  3.  http://code.google.com/intl/ru-RU/android/maps-api-signup.html
  4.  http://developer.android.com/index.html


 

А также другие работы, которые могут Вас заинтересовать

77298. ПСИХОЛОГИЯ КАК ИНСТРУМЕНТ РАЗРАБОТКИ МАССОВЫХ И ПРОФЕССИОНАЛЬНЫХ ИНТЕРФЕЙСОВ 39 KB
  Теория деятельности связана прежде всего с именами Леонтьева и Рубинштейна. При анализе деятельности предшествующем проектированию интерфейса необходимы выявление целей деятельности способов достижения той или иной цели установление уровня понимания этой цели работником определение его мотивов. Согласно теории деятельности устанавливается иерархия: деятельность осознанные действия операции. Деятельностный подход к проектированию человеко-компьютерного взаимодействия предполагает анализ поставленной задачи и описание деятельности...
77299. К поиску психологических оснований изучения человеко-компьютерного взаимодействия 25 KB
  Рассмотрим в качестве примера проблемы возникающие в связи с использованием средств виртуальной реальности для создания специализированных систем научной визуализации. Зачастую понятие виртуальной реальности в СМИ и даже частично в научной литературе используется в смысле любого порождения современных компьютерных программ игр интернета и пр. Наиболее изученным является применение виртуальной реальности в обучающих целях когда среда виртуальной реальности используется в качестве тренажера на котором отрабатываются необходимые в...
77300. Некоторые методы многомерной визуализации 835.5 KB
  Однако если результат есть многомерное множество то в настоящее время нет ответа на вопрос как в общем случае получать визуальное представление множества для понимания его структуры. Как правило в каждой конкретной задаче исследователя интересует вполне конкретная информация о структуре численно полученного им множества M. С другой стороны исследователь часто знает априорные данные о строении множества. Поэтому есть надежда что можно разработать конкретный метод представления многомерного множества с помощью которого исследователь был бы...
77301. О Создании Методов Многомерной Визуализации 622 KB
  Перевалов Институт Математики и Механики УрО РАН Екатеринбург АННОТАЦИЯ Работа посвящена теории и практике многомерной визуализации. Разработана классификация методов визуальных представлений изложены принципы создания сложных систем многомерной визуализации. Большое внимание уделено проблемам и рекомендациям по взаимодействию разработчика системы визуализации и конечным пользователем системы.
77303. RESEARCH OF VIRTUAL REALITY USERS 17.5 KB
  The min fctor distinguishing virtul relity from trditionl threedimensionl computer grphics is the stte of presence. First of ll there re questions bout the impct of presence on mentl ctivity. Will presence distrct the user from the ctul tsk We lso need to know if the presence could be chieved t ll when working with bstrct dt. Will the user be ble to interct with the environment.
77304. ACTIVITY THEORY IN PRACTICE OF DESIGN AND DEVELOPMENT OF HUMAN-COMPUTER INTERFACES 431 KB
  The paper is devoted to the design and development of “mass” and “professional” interfaces. The approach based on Activity Theory is considered. The example of the system with the interface based on Activity Theory approach is described.
77305. Анализ подходов к отладке параллельных вычислений 19 KB
  Фактически единственным способом является поочередное подсвечивание строчек создающее иллюзию выполнения программы перед глазами пользователя. Выполнение программы отождествляется с ее исходным текстом вообще говоря статическим. Попытки же напрямую исследовать динамику выявляют огромную сложность рассмотрения реальной программы и в основном ограничиваются небольшими фрагментами кода. Кроме того выполнение программы как последовательность операторов довольно плохо поддается визуализации.