77228

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

Курсовая

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

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

Русский

2015-02-02

430.36 KB

3 чел.

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

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

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

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

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


 

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

49144. ФИНАНСЫ ОРГАНИЗАЦИЙ. МЕТОДИЧЕСКИЕ УКАЗАНИЯ 611 KB
  Теоретические методические и нормативно-правовые аспекты изучения оборотных средств организации предприятия Сущность состав и классификация оборотных средств предприятия Обзор нормативно-правовой базы в сфере учета и анализа оборотных средств Аналитический обзор состояния оборотных средств российских предприятий...
49145. IDEF–моделирование мандатного (полномочного) разграничения доступа 763.5 KB
  Суть ее такова что в СЗИ вводятся уровни безопасности или иначе уровни секретности. Работники с самым высоким уровнем безопасности могут работать с документами самой высокой степени секретности. В любой компьютерной системе которая предоставляется для множества пользователей необходимо тщательно продумать политику безопасности для обеспечения трех основных концепций защиты информации: конфиденциальность информации целостность информации доступность информации; Основу для установки анализа и применения политик безопасности в...
49147. Маркетинг в интернете 736.5 KB
  Мы благодарим наших американских друзей за поддержку и помощь в осуществлении идеи выпустить в России одну из первых книг по электронному бизнесу с компетентными и емко представленными данными. Выражаем также признательность авторам объявлений и новостных сообщений, представляющих свои труды во Всемирной Сети.
49148. История болезни 478.5 KB
  История болезни – документ, отражающий жалобы больного, развитие его основного заболевания, наличие сопутствующих заболеваний, объективное состояние на момент поступления, тактику обследования и терапии, динамику патологического процесса в течение периода наблюдения и лечения...
49149. Проектирование информационных систем 1.61 MB
  Преимущества использования системы: уменьшатся срок формирования регистров отчетности и отчета клиенту; расширяются возможности по получению информации в различных разрезах по площадкам стратегиям клиентам договорам ДУ; увеличивается скорость прохождения информации между специалистами компании; автоматизируется документооборот связанный со сделками с ценными бумагами. Система интегрирована с внешней системой LOISCpitlMrket для загрузки данных о сделках с ценными бумагами которые совершаются брокером на бирже. Отчёт Регистр...
49150. Программа, выполняющая перенос значения ячейки памяти с сохранением знакового разряда 153 KB
  Трансляция программы в исполняемый машинный код производится ассемблером от англ. Обеспечение максимального использования специфических возможностей конкретной платформы что также позволяет создавать более эффективные программы с меньшими затратами ресурсов. 3 РАЗРАБОТКА СТРУКТУРЫ ПРОГРАММЫ Для реализации поставленной задачи необходимо загрузить в аккумулятор значение ячейки памяти по адресу 6000Н затем непосредственно в аккумуляторе выполнять требуемые операции. Кодирование 5 ОТЛАДКА И ВЕРИФИКАЦИЯ ПРОГРАММЫ Начальное и итоговое состояния...