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


 

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

53343. Doing housework (Робота по дому) 143 KB
  How are you? Are you ready for the lesson? Please, mark your mood before starting our lesson. If you are fine, raise green cards. If you’re so-so, raise yellow cards. If you’re bad, raise red cards. (Учні підіймають свої картки відповідного кольору.) Cl: We are fine. We are ready for the lesson. Teacher: I am glad to hear you are fine. Today we are happy to have our English lesson in this classroom where you will do a lot of different tasks.
53344. Изготовление из бумаги макетов архитектурных сооружений. Творческий проект 351.5 KB
  Поэтому предлагаю выполнять полуобъемные макеты которые просты и удобны в изготовлении. Такие макеты удобны тем что их можно переносить и хранить в тетради в книге они не мнутся и хорошо складываются. Можно пофантазировать и готовые макеты скомпоновать между собой склеить. На уроках изобразительного искусства и художественной культуры можно выполнять подобные макеты нескольких видов разделив класс на группы.
53345. Сценарій спортивно – розважальної гри «Хрестики – Нулики» 91 KB
  Вчитель фізкультури у початкових класах Сценарій спортивно розважальної гри Хрестики Нулики Мета: розвивати у дітей рухові здібності увагу кмітливість уміння швидко реагувати на поставлені запитання і чітко давати відповідь; виховувати почуття дружби взаємоповаги та взаємо підтримки один за всіх всі за одного; зміцнювати здоровя дітей. Загальні відомості про гру Хрестикинуликиâ матеріал взято з Вкіпедії Хрестикинулики гра для двох гравців. Тому у хрестикинулики частіше всього грають малі діти. Існує 26 830 можливих...
53346. Історичне значення запровадження християнства 48.5 KB
  Історичне значення запровадження християнства Очікуванні результати: визначити історичні корені хрещення Київської Русі; визначити значення хрещення для історії держави та людства; розвивати вміння логічного мислення; порівнювати історичні факти; впроваджувати в практику щоденного життя моральноетичні і духовні цінності християнства; виховувати повагу до історичних постатей та православної віри. Тип уроку: комбінований Форма уроку: урокподорож Обладнання: відеофільм Хрещення Русі портрет В. Великий почав князювати Яку...
53347. Основні принципи будови та функціонування World Wide Web, протокол НТТР, адресація в мережі 395.5 KB
  Для учнів які мають уявлення про мову HTML: розшукати історичні відомості про мову НТМL. Але для того щоб створити Webсторінку необхідно знати мову гіпертекстової розмітки тобто HTML. Отже тема уроку: âСтворення структури HTML документа. На попередньому уроці учням було завдання відшукати історичну довідку про створення мови HTML.
53349. Берегиня вроди – хустка 219 KB
  Впродовж століть хустка була на Україні найдорожчим подарунком який уособлював для кожної людини рідну Україну рідний дім рідну матір. Де ж вона сьогодні щира українська хустка що її серед тисячі інших вирізняє щось невимовно рідне Де весела та барвиста хустка щедро оспівана в народних піснях та іграх Хочеться щоб вона сьогодні стала не просто модною деталлю на деякий час а одним з національних символівоберегів. І учениця: Українська хустка з давніхдавен це основний і улюблений головний убір української молодиці.
53351. ХВИЛИНКИ КАЛІГРАФІЇ НА УРОКАХ УКРАЇНСЬКОЇ МОВИ 62 KB
  Поясніть правопис слова весна. Що означає слово купава Чи є тут слова вжиті в переносному значенні Опишіть образ весни яку ви побачили. Чи зрозуміли ви про що йдеться у вірші Знайдіть слова з ненаголошеними голосними. Назвіть слова правопис яких слід перевірити за словником.