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


 

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

23065. Співробітництво України з регіональними та субрегіональними організаціями в сфері безпеки 35 KB
  Україна – НАТО. Україна не забарилася з приєднанням до Ради Північноатлантичного співробітництва РПАС і залишалась активною учасницею протягом усієї історії існування цього органу. Україна бере активну участь у заходах ПЗМ як у штабквартирі НАТО так і в країнах членах Альянсу і партнерах а також влаштовувала ряд навчань в рамках ПЗМ на своїй території яворівський полігон. Налагодженно співробітництво між НАТО і Україною в галузі інформації створено Центр інформації та документації НАТО в Києві створено Державну міжвідомчу комісію з...
23066. Поняття ядерної держави, роль ядерного та без'ядерного статусу в забезпеченні національної безпеки країни 32 KB
  Безядерний статус мають ті країни які підписали договір ДНЯЗ і зобов’язалися при цьому не виробляти не придбавати ядерну зброю або інші ядерні вибухові пристрої не домагатися і не приймати допомоги у виробництві ЯЗ. Статья II ДНЯЗ: Каждое из государствучастников настоящего Договора не обладающих ядерным оружием обязуется не принимать передачи от кого бы то ни было ядерного оружия или других ядерных взрывных устройств а также контроля над таким оружием или взрывными устройствами ни прямо ни косвенно; не производить и не приобретать...
23068. Нейтральний та позаблоковий статус і їх роль у забезпеченні національної безпеки 32.5 KB
  поняття нейтралітету трохи змінюється Традиційний нейтралітет передбачає необмежене право нейтральної країни на самооборону від збройного нападу. Нейтралітет як надання рівних послуг ніяких гарантій не давав. Головним принципом нейтралітету стає принцип безсторонності. У Гаазі були прийняті дві конвенції де було кодифіковано принципи дотримання нейтралітету.
23069. Міжнародні гарантії безпеки для нейтральної країни. Права та зобов'язання нейтральної країни 20.5 KB
  Права та зобовязання нейтральної країни. Гарантії які надає нейтральний статус: 1 Територія нейтральної країни є недоторканою і не може бути перетворена в театр воєнних дій. 2 Країни відмовляються від розміщення військ на території нейтральної країни своїх військ або військових баз а також використання її повітряного та морського простору у військових цілях.
23070. Поняття, предмет та структура національної безпеки 36.5 KB
  ТЕМА: Безпека як суспільна цінність. Законність своєї держави визначається не лише станом війни або миру є ще пріоритетний стан – безпека чітко окреслений стан суспільства США. Національна безпека – стан захищеності життєво важливих інтересів особи нації суспільства і держави від внутрішніх та зовнішніх загроз. В Україні основним органом забезпечення національної безпеки є СБУ громадянська безпека забезпечення виконання і дотримання положень конституції.
23071. Сфери національних інтересів України 62.5 KB
  Сфери національних інтересів України. Конспект вельмишановного Пана Перепелиці каже про національні інтереси України – ніхера тому все що є в конспекті по національним інтересам дивіться в 3 питанні національні інтереси життєво важливі матеріальні інтелектуальні і духовні цінності Українського народу як носія суверенітету і єдиного джерела влади в Україні визначальні потреби суспільства і держави реалізація яких гарантує державний суверенітет України та її прогресивний розвиток; Стаття 6. Пріоритети національних інтересів Пріоритетами...
23072. Поняття національного інтересу 40 KB
  Сфери національних інтересів України. Формується з інтересів кожної конкретної особистості кожного соціального прошарку. Завдання еліти – продукування інтересів в суспільство. Еліта має мобілізувати націю на реалізацію національних інтересів.
23073. Поняття загроза та небезпека національним інтересам України. Види загроз національній безпеці України 38.5 KB
  ТЕМА: Загрози національній безпеці. Потенційні загрози – це становище при якому існують певні зазіхання але при цьому відсутні умови при яких вони переходять в намагання завдати шкоду національним інтересам України. Вимоги до органів мають упереджувати загрози: ефективно виявляти загрози та ефективно на них реагувати; адекватно реагувати на виникнення загрози; Методика: визначення чинників що спричиняють загрозу національним інтересам України; класифікувати загрози звідкіля виходять і в якій сфері знаходяться: політика економіка...