Разработка рабочего прототипа приложения, которое будет облегчать использование функции телефонии DTMF Callback на устройствах с Android

Особенности сотовой сети. Использование функции телефонии DTMF Callback на устройствах с Android. Обзор рынка VoIP связи и услуги международного роуминга. Проведение тестирования рабочего прототипа приложения с функцией телефонии DTMF Callback.

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

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

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

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

Введение

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

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

Множество операторов связи предоставляют услуги сотовой связи. Благодаря развитию интернет технологий получила популярность IP-телефония, которая имеет ряд плюсов перед обычной сотовой телефонией, например, защищённый от прослушиваний разговор или запись разговора на сервер, использование коротких номеров, связь без привлечения провайдеров.

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

Существует способ связи с VoIP сервером, который принято называть callback, когда серверу сообщается на какой номер нужно позвонить, и сервер перезванивает абоненту, соединяя с номером, на который абонент звонит. Номер этот можно передать с помощью сети интернет, SMS или тонального набора (DTMF).

Не всегда есть возможность отправить SMS или воспользоваться интернетом, особенно, если абонент находится в роуминге. Часто, единственный доступный способ связи - это «традиционный» вызов с помощью сотовой связи. Существует способ, через который можно обеспечить связь с сервером VoIP через сотовый вызов, для этого используется DTMF Callback по следующему алгоритму:

1. Абонент «A» звонит на номер сервера телефонии

Рисунок 1. Шаг 1

2. Сервер телефонии обрывает связь

Рисунок 2. Шаг 2

3. Сервер телефонии перезванивает абоненту «A» и ждёт ответа

Рисунок 3. Шаг 3

4. Абонент «A» отвечает на звонок

Рисунок 4. Шаг 4

5. В тональном наборе абонент «A» набирает номер абонента «B»

Рисунок 5. Шаг 5

6. Сервер инициализирует звонок абоненту «B»

Рисунок 6. Шаг 6

7. После инициализации сервер связывает соединение абонента «A» и абонента «B». Абонент «A» уже слышит гудки дозвона до абонента «B».

Рисунок 7. Шаг 7

Абонент «B» отвечает на звонок. Оба пользователи могут обмениваться голосовыми сообщениями.

Рисунок 8. Шаг 8

В итоге у абонента «A» и абонента «B» совершается входящий звонок, и они могут общаться друг с другом через сервер телефонии.

Существует способ Callthrough, который в отличие от Callback не требует перезвона сервера абоненту «A», но в связи с этим, абонент «A» платит за исходящий вызов.

Основание для разработки

Основной недостаток инициализации callback с помощью DTMF в том, что абоненту «A» надо вручную набирать номер абонента «B» после того как ему перезвонил сервер. В журнале вызовов на телефоне абонента «A» в исходящих звонках остаётся номер, который он набирал, то есть номер сервера, а во входящих и номер callback, который перезвонил ему. Данная информация для пользователя является малоинформативной. Сервер телефонии может быть настроен так, что абоненту «A» перезванивает callback с разных номеров. Это значит, что в журнале вызовов у пользователя будет большое количество незнакомых номеров. Данная информация является лишней, и её следует скрывать от абонента. Часто предоставляющие callback сервисы обходятся без прямого доступа по DTMF, а используют интернет подключение, SMS или специальную SIM-карту.

Цель разработки

Разработать рабочий прототип приложения, которое будет облегчать использование функции телефонии DTMF callback на устройствах с android.

Обзорно-аналитическая часть

Сотовая связь

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

Особенности сотовой сети:

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

Рисунок 9. Схема повторного использования частот (F1-F4 - частоты)

· Мобильные устройства выделяют меньше энергии на связь с башней, так как требуется менее мощный сигнал, чтобы найти её вследствие более близкого расположения башни связи

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

При расположении ячеек оптимально избегать перекрытия зон ячеек, между ячейками не должно быть пустого пространства. Поэтому геометрической формой покрытия могут быть такие фигуры, как треугольники, квадраты или шестиугольники. Форма покрытия от антенн больше всего похожа на шестиугольник [1].

Устройства, которые управляют сигналами и маршрутизируют их от одного сотового телефона к другому, называются автоматическими телефонными станциями (АТС). На данный момент почти все АТС являются электронными.

Номеронабиратель (dialer) - часть интерфейса телефонного аппарата, которая позволяет передать номер телефонного аппарата, с которым АТС должна соединить. Долгое время использовались импульсные dialer'ы, которые формировали импульсы, где каждой цифре соответствовало своё количество импульсов [2]. На телефонном аппарате находился диск с 10 дырками. Принцип соединения с АТС был таким:

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

На данный момент для набора номера используется двухтональный многочастотный сигнал (Dual Tone Multi-Frequency, DTMF). DTMF может быть использован для внутренних команд телефонной сети. В DTMF передаваемая цифра кодируется сигналом полученным суммированием двух синусоидальных напряжений определенной частоты [3]. Используется две группы по четыре частоты звукового диапазона в каждой.

Таблица 1. Соответствие частот и символов при DTMF наборе

1

2

3

A

697 Гц

4

5

6

B

770 Гц

7

8

9

C

852 Гц

*

0

#

D

941 Гц

1209 Гц

1336 Гц

1477 Гц

1633 Гц

АТС может отвечать в формате DTMF, например такие сигналы как «занято», «готовность», «контроль посылки вызова». В отличии от импульсов, DTMF можно передавать по аудиоканалу.

Таблица 2. Ответы АТС в формате DTMF

Сигнал

Частоты

«занято»

480 Гц

620 Гц

«готовность»

350 Гц

440 Гц

ringback (US)

440 Гц

480 Гц

Direct Inward System Access (DISA) -- функция прямого доступа, возможность получения абонентом доступа к управлению телефонной станицей или сервером телефонии посредством DTMF сигналов с телефона.

Обзор рынка сотовой связи

Выручка компаний, предоставляющих сотовую связь в России, растёт, о чём свидетельствуют их отчёты [4] [5] Из тех же отчётов видно, что большая доля доходов приходится на мобильную связь. В интересах, как обычного частного пользователя, так и корпоративного игрока, является сокращение расходов на мобильную связь. Одним из способов является анализ используемых услуг за месяц и выбор наиболее подходящего тарифа у мобильного оператора.

Рынок мобильной связи в Москве состоит из трёх игроков, распределение которых можно увидеть на [6]:

Диаграмма 1: распределение крупных игроков на сотовом рынке

Сравнение местных тарифов по Москве

У трёх крупных игроков на московском рынке имеются схожие пакетные тарифы, которые можно сравнить. Например, тарифы класса «Smart» у МТС, «Всё включено» у Мегафона и «Всё за» у Билайн. Эти тарифы предлагают пакет опций и абонентскую плату за них. Сравним схожие по цене тарифы из этих классов. В пакеты услуг могут входить SMS, MMS, интернет и другие услуги, но в данном разборе они не учитываются, так как нас интересует именно цена звонка. По этой же причине нет подробного описания нюансов тарифов, если они прямо не влияют на цену, однако можно заметить, что качество связи в разных районах местности может сильно отличаться у операторов. Также нет нужды считать стоимость звонков, если превышен месячный лимит тарифа, так как человек, который контролирует расходы, будет выбирать себе тариф правильно, однако стоит отметить, что цена после превышения лимита может быть достаточна высокой. Стоит отметить, что входящие внутри России для всех трёх пакетных групп бесплатные.

Минимальными по цене являются пакетные тарифы «Smart mini» [7] - 200 ?, «Всё включено XS» [8] - 199 ? и «Всё за 200» [9] - 200 ?. Имеются некоторые особенности для звонков внутри сети оператора. В «Smart mini» и «Всё включено XS» звонки по всей России, а во «Всё за 200» только по Москве и Московской области. Цены указаны на момент 15.05.2015.

Таблица 3. Минимальные пакетные тарифы

МТС

Билайн

Мегафон

Цена тарифа, рублей в месяц

200

199

200

Звонки внутри сети. Москва и МО, бесплатные минуты

1000

Безлимит

300

Звонки внутри сети. Россия, бесплатные минуты

Звонки другим операторам. Москва и МО, рублей в минуту

1,5

1,6

2

Звонки другим операторам. Россия, рублей в минуту

10

9,9

10

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

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

Таблица 4. Минимальные пакетные тарифы(звонки за границу)

МТС

Билайн

Мегафон

СНГ, рублей в минуту

29

24 Также для Республики Крым и г. Севастополь

20

Европа, рублей в минуту

49

35

30

Остальные страны, рублей в минуту

70

60

США, рублей в минуту

35

30

Канада, рублей в минуту

35

30

Австралия и Океания, рублей в минуту

40

Азия, рублей в минуту

50

СНГ внутри сети, рублей в минуту

12

Северная и центральная Америка (без США и Канады), рублей в минуту

40

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

В следующей ценовой категории (малые пакетные тарифы) идут тарифы: «Smart» [10] - 450 ?, «Всё включено S» - 390 ? [11] и «Всё за 400» [12] - 400 ?.

Таблица 5. Малые пакетные тарифы

МТС

Билайн

Мегафон

Цена тарифа, рублей в месяц

450

400

390

Звонки внутри сети. Москва и МО, бесплатные минуты

Безлимит

Безлимит

Безлимит

Звонки внутри сети. Россия, бесплатные минуты

400

Звонки другим операторам. Москва и МО, бесплатные минуты

500

400

Звонки другим операторам. Россия, рублей в минуту Для Мегафон в Республику Крым и г. Севастополь цена 20 ?.

10

9,9

10

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

Цены на звонки в другие страны у МТС для пакетов типа «Smart» не отличаются, как и у Мегафон для пакетов «Всё включено», а вот у Билайн в пакетах «Всё за» цены на за границу немного отличаются:

· В тарифе «Всё за 400»: условия «Всё за 200» + первые 10 минут в день стоят 5 ?, если звонить в страны СНГ, Крым и Севастополь.

· В тарифе «Всё за 600»: условия «Всё за 400» + первые 10 минут в день стоят 7 ?, если звонить в Азербайджан, Беларусь и Молдову

· В тарифе «Всё за 900»: условия «Всё за 600» + первые 10 минут в день стоят 5 ?, если звонить в Европу, США и Молдову

· В тарифе «Всё за 1500»: условия «Всё за 900» + в Мальдивы, Мадагаскар, Бурунди, КНДР, Папуа-Новая Гвинея, Сейшельские острова, Сомали, Токелау, Тунис одна минута стоит 55 ?

В следующей ценовой категории (средние пакетные тарифы) идут тарифы: «Всё включено M» - 590 ? [13] и «Всё за 600» [14] - 400 ?, у МТС в данной ценовой категории пакетного тарифа нет.

Таблица 6. Средние пакетные тарифы

Билайн

Мегафон

Цена тарифа, рублей в месяц

600

590

Звонки внутри сети. Москва и МО, бесплатные минуты

Безлимит

Безлимит

Звонки внутри сети. Россия, бесплатные минуты

600

Звонки другим операторам. Москва и МО, бесплатные минуты

600

Звонки другим операторам. Россия, рублей в минуту

9,9

3

При равных местных тарифах, цена на звонки другим операторам по России у Мегафон в 3,3 раза дешевле.

В следующей ценовой категории (пакетные тарифы выше среднего) идут тарифы: «Smart +» [15] - 900 ? и «Всё за 900» [16] - 900 ?.

Таблица 7. Тарифные пакеты выше среднего

МТС

Билайн

Цена тарифа, рублей в месяц

900

900

Звонки внутри сети. Москва и МО, бесплатные минуты

Безлимит

Безлимит

Звонки внутри сети. Россия, бесплатные минуты

Звонки другим операторам. Москва и МО, бесплатные минуты

1100

1000

Звонки другим операторам. Россия, рублей в минуту

3

9,9

При равных местных тарифах, цена на звонки другим операторам по России у МТС в 3,3 раза дешевле.

В следующей ценовой категории (большие тарифные пакеты) идут тарифы: «Smart +» [17] - 1500 ?, «Всё включено L» [18] - 1290 ? и «Всё за 1500» [19] - 1500 ?.

Таблица 8. Большие тарифные пакеты

МТС

Билайн

Мегафон

Цена тарифа, рублей в месяц

1500

1500

1290

Звонки внутри сети. Москва и МО, бесплатные минуты

Безлимит

Безлимит

Безлимит

Звонки внутри сети. Россия, бесплатные минуты

1800

Звонки другим операторам. Москва и МО, бесплатные минуты

2000

2000

Звонки другим операторам. Россия, бесплатные минуты

Данные местные тарифы имеют почти одинаковые условия.

В последней категории (максимальный тарифный пакет) оказался только Мегафон со своим тарифом «Всё включено VIP» [20] - 2500 ?. Данный тариф предлагает 5000 минут для всех звонков по России.

Вывод

Пакетные тарифы весьма выгодные, если использовать их для звонков внутри сети. У конкурирующих операторов цены держатся примерно на одном уровне. Для обычного абонента, который говорит по 20-60 минут в день такие тарифы подходят. Если человеку необходимо разговаривать больше 120 минут в день, то ему придётся брать более дорогие тарифные пакеты ценой от 1500 до 2500, что уже достаточно дорого.

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

Тарифы для звонков в другие страны

Тарифы на звонки в другие страны были условно разделены на три группы:

1. Тарифы для родственников и друзей туристов

2. Тарифы для мигрантов

3. Тарифы для бизнесменов

Тарифы для родственников и друзей туристов

Для сравнения по тарифам для родственников и друзей туристов взято пять популярных курортных направлений [21]::

1. Испания

2. Турция

3. Греция

4. Кипр

5. Италия

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

У МТС имеется тарифная опция «Выгодные международные звонки» [22]. Абонентская плата в месяц составляет 50 ?. Звонки по этим пяти направления будут стоить 10 рублей в минуту. Тарифная опция совместима с другими тарифами, например с «Smart».

У Билайн имеется тариф «Добро пожаловать» [23]. Стоимость перехода на данный тариф составляет 150 ?, ежемесячной абонентской платы за тариф нет, зато есть ежедневная плата в 4,45 ? за входящие в тариф опции. Стоимость звонков в Турцию составляет 6 ? в минуту. К сожалению, информации по другим из пяти туристических стран нет. На странице тарифа по ссылке:

http://moskva.beeline.ru/customers/products/mobile/tariffs/details/dobro-pozhalovat/

дана гиперссылка под названием «Согласно тарифам на международную связь».

Рисунок 10. Скриншот области со страницы тарифа Билайн «Добро пожаловать»

Эта гиперссылка ведёт на адрес:

http://moskva.beeline.ru/customers/products/mobile/roaming/

, переход, на который перенаправляет на адрес:

http://moskva.beeline.ru/customers/products/mobile/roaming/roaming-new/

В интерфейсе страницы, содержит три гиперссылки.

Рисунок 11. Интерфейс страницы «Роуминг, междугородная и международная связь»

«Роуминг в путешествиях по миру», «Роуминг в путешествиях по России» и «Звонки из дома в другие города и страны». Очевидно, что цены на звонки в другие страны должны быть по третьей гиперссылке. Страница по этой ссылке предоставляет интерфейс для запроса к серверу Билайн за информацией.

Рисунок 12. Скриншот со страницы «Звонки из дома в другие города и страны» после запроса «Кипр» при тарифе «Добро пожаловать»

Если проверить цену, например, на Кипр, то вместо цен на Кипр будут указаны общие условия тарифа. Отдельных условий для Кипра указанно не будет. В пункте «Звонки в остальные страны» указана гиперссылка под названием «Согласно тарифам на международную связь» с адресом:

http://moskva.beeline.ru/customers/products/mobile/roaming/

По которой данной информации нет, как было показано ранее.

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

Мегафон для звонков в другие страны предлагает опцию «Звони во все страны» [24] За первые 30 дней взимается плата 60 ?, потом ежедневная плата 2 ? в день. Звонки в Италию, Испанию, Кипр и Грецию стоят 6 ? в минуту, а в Турцию 8 ? в минуту.

Тарифы для мигрантов

В тарифах для мигрантов рассмотрены цены на страны СНГ и ближайшего зарубежья.

МТС в опции «Выгодные международные звонки» предоставляет звонки в СНГ (кроме Азербайджана и Белоруссии) по цене 15 ? в минуту и в Азербайджан и Белоруссию по цене 20 ? в минуту.

У Билайн в тарифе «Добро пожаловать» имеются специальные условия для Таджикистана. Для звонков на номера Билайн 1 минута - 7 ?, последующие минуты по 1 ?. Для звонков на номера Билайн Армении, Казахстана, Кыргызстана и на номера Киевстар Украины - 2,5 ? в минуту. Для звонков на другие номера Таджикистана, Армении, Украины, Казахстана, Кыргызстана, а также любые номера Туркменистана - 7 ? в минуту. Звонок в Азербайджан и Беларусь стоит 13 ? в минуту. На номера Узбекистана Билайн - 3 ? в минуту, остальные 4 ? в минуту.

В опции «Звони во все страны» звонки от Мегафон в Азербайджан и Беларусь стоят 15 ? в минуту, в Украину - 10 ? в минуту, Армению, Казахстан и Кыргызстан - 8 ? в минуту, в Таджикистан и Туркменистан - 6 ? в минуту, в Узбекистан - 5 ? в минуту. Также у Мегафон есть специальная опция «Таджикистан+» для Таджикистана. Первая минута разговора стоит 7 ?, до 20 минуты минута стоит 1 ?, а с 21 минуты стоит 7 ?.

Тарифы для бизнесменов

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

1. США

2. Китай

3. Германия

4. Япония

5. Великобритания

МТС в опции «Выгодные международные звонки» предоставляет звонки в Китай по 1,5 ? в минуту, США по 5 ? в минуту, Германию и Великобританию по 10 ? в минуту, в Японию по 25 ? в минуту.

Тариф «Добро пожаловать» у Билайн предлагает звонки в Китай по 2 ? в минуту.

Мегафон в опции «Звони во все страны» предоставляет звонки в Китай по 1 ? в минуту, США по 4 ? в минуту, Германию по 6 ? в минуту, Великобританию по 11 ? в минуту, в Японию по 9 ? в минуту.

Вывод

По рассмотренным туристическим направлениям самым выгодным является опция от Мегафон «Звони во все страны». Данных по Билайн недостаточно.

По рассмотренным направлениям для мигрантов цены у Билайн и Мегафон конкурируют, МТС стоит дороже всех.

По рассмотренным направлениям для бизнесменов цены у МТС и Мегафон конкурируют, данных по Билайн недостаточно.

Роуминг

Многие операторы предоставляют услуги роуминга, когда есть возможность выходить с SIM-картой своего оператора в сеть другого оператора. Существует междугородний и международный роуминг. Междугородний роуминг может быть нужен, если абонент едет в поезде. У такого абонента может быстро менять положение на карте, поэтому он не может приобретать для каждого пункта, через который едет, местную SIM-карту у местного оператора.

Международный роуминг обычно более дорогой, чем междугородний.

Для международного роуминга МТС предлагает услугу «Ноль без границ». Абонентская плата за эту услугу составляет 60 ? в день. Для некоторых направлений входящие вызовы первые 10 минут могут быть бесплатны, но после израсходования лимита в 200 минут на месяц, каждая входящая минута будет стоить по 25 ? в минуту.

Для Греции, Германии и Турции выгоднее будет использовать услугу «Свободное путешествие». Абонентская плата составляет 100 ? в день. Услуга предлагает 60 минут в день для входящих и исходящих на российские номера.

Таблица 9. Цена на «Ноль без границ» по туристическим направлениям

Кипр

Греция

Италия

Турция

Испания

Входящие звонки (первые 10 минут), рублей в минуту

0

0

0

0

0

Входящие звонки (с 11 минуты), рублей в минуту

25

25

25

25

25

Исходящие звонки на российские номера(1 минута и начиная с 6 минуты), рублей в минуту

50

65

65

60

60

Исходящие звонки на российские номера (со 2 по 5 минуту), рублей в минуту

25

25

25

25

25

Исходящие звонки на номера страны пребывания, рублей в минуту

50

75

75

60

60

Исходящие звонки на номера остальных стран, рублей в минуту

135

135

135

135

135

Скорее всего, мигрантам не составит труда обзавестись местными тарифами, поэтому данное направление отдельно по странам СНГ рассматриваться не будет.

Для бизнесменов важно быть всегда на связи, на одном номере, поэтому они вряд ли согласятся менять SIM-карту на местную.

Рисунок 13. Цена на «Ноль без границ» по бизнес направлению

США

Япония

Германия

Великобритания

Китай

Входящие звонки (первые 10 минут), рублей в минуту

0

0

0

0

0

Входящие звонки (с 11 минуты), рублей в минуту

25

25

25

25

25

Исходящие звонки на российские номера(1 минута и начиная с 6 минуты), рублей в минуту

200

99

85

85

115

Исходящие звонки на российские номера (со 2 по 5 минуту), рублей в минуту

25

25

25

25

25

Исходящие звонки на номера страны пребывания, рублей в минуту

200

99

85

85

115

Исходящие звонки на номера остальных стран, рублей в минуту

200

155

135

135

135

Для международного роуминга Билайн предоставляет услугу «Моя планета». Стоимость подключения услуги 25 ?. По всем туристическим направлениям входящие звонки стоят 15 ? в минуту, исходящие в любые страны и внутри страны пребывания 25 ? в минуту. Такие же цены для ближайшего зарубежья и указанных ранее направлений для бизнеса, за исключением Японии, для которой входящие 19 ? в минуту, а исходящие 49 в минуту.

Для международного роуминга Мегафон предоставляет две опции: «Весь мир» и «Вокруг света». «Весь мир» предлагает 30 минут в день бесплатных входящих вызовов при абонентской плате 39 ? в стуки. «Вокруг света» подключается за 15 ? и имеет ежедневную абонентскую плату в 9 ?. Входящие и исходящие вызовы по Европе и СНГ, Турции, Абхазии и Южной Осетии стоят 6 ? за минуту, для Японии 9 ? за минуту, для США и Китая 36 ? за минуту. Для звонков в Россию Мегафон использует Callback.

Вывод

Международный роуминг в отличие от других тарифов может иметь платный входящий вызов, цены могут достигать 200 ? за минуту.

Обзор рынка VoIP связи

Помимо операторов сотовой связи существуют операторы, предоставляющие услуги Voice over IP (VoIP) телефонии. Основным отличием данной связи является использование сети интернет для соединения абонентов. Некоторые фирмы предлагают различные VoIP услуги, часто связь двух или более абонентов одной VoIP компании через интернет являются бесплатными. Такие услуги предоставляются продуктами Skype, Hangouts, Viber.

VoIP может связывать не только через сеть интернет, но и через сотовую сеть. Для этого используются GSM-VoIP шлюзы. Для VoIP-сервера можно настроить Least Cost Routing - автоматический выбор маршрута для звонка в зависимости от номера. Сервер сам выбирает наивыгодный тариф для выхода в сеть, в связи с чем, стоимость на связь падает.

Цены на VoIP могут зависеть от курса валюты или указываться в другой валюте, для сравнения все цены будут переведены в рубли по курсу на 26.05.2015 указанные на сайте Центрального банка Российской [25].Курс на данную дату:

Таблица 10. Курс валют на 26.05.2015

1 €

1 $

54,7477 ?

49,8613 ?

Skype

Skype предлагает следующие тарифы для звонков на российские номера сотовых телефонов [26]:

Таблица 11. Цены Skype на звонки в России

Минут

Долларов в месяц

Рублей в месяц

60

2,79

139,113

120

4,49

223,8772

400

17,99

897,0048

800

34,99

1744,647

Skype предлагает следующие тарифы для звонков на номера сотовых телефонов Кипра:

Таблица 12. Цены Skype на звонки в Кипр

Минут

Долларов в месяц

Рублей в месяц

60

2,79

139,113

120

5,49

273,7385

400

13,99

697,5596

Skype предлагает следующие тарифы для звонков на номера сотовых телефонов Турции:

Таблица 13. Цены Skype на звонки в Турцию

Минут

Долларов в месяц

Рублей в месяц

60

6,49

323,5998

120

12,49

622,7676

400

39,99

1993,953

800

74,99

3739,099

Skype предлагает следующие тарифы для звонков на номера сотовых телефонов и стационарных телефонов в США:

Таблица 14. Цены skype на звонки в США

Минут

Долларов в месяц

Рублей в месяц

60

1,09

54,34882

120

2,09

104,2101

400

4,99

248,8079

безлимит

6,99

348,5305

Skype предлагает следующие тарифы для звонков на номера сотовых телефонов в Японию:

Таблица 15. Цены skype на звонки в Японию

Минут

Долларов в месяц

Рублей в месяц

60

4,99

248,8079

120

9,99

498,1144

Skype предлагает следующие тарифы для звонков на номера сотовых телефонов и стационарных телефонов в Китай:

Таблица 16. Цены skype на звонки в Китай

Минут

Долларов в месяц

Рублей в месяц

120

1,19

59,33495

400

3,89

193,9605

800

7,79

388,4195

безлимит

13,99

697,5596

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

Viber

Viber Out предлагает следующие расценки:

Таблица 17. Расценки на Viber Out

Страна

Рубли в минуту

Россия

3,96

Кипр

3

Турция

8,96

Италия

3,96

Испания

3,96

Греция

2,95

США

0,95

Япония

4,91

Китай

0,65

Германия

2,95

VoIP сервер можно поставить на обычном компьютере, поэтому VoIP решения часто используются внутри фирм для связи с клиентами или для внутрисетевом общение. Данную связь может контролировать системный администратор. Он может сам настроить защищённость связи и запись разговоров. Для сервера можно настроить DISA, чтобы звонящие клиенты могли в режиме DTMF вводить команды, которые примет виртуальная АТС. Также для такого сервера можно настроить шлюз, который позволит звонить и принимать сотовый сигнал.

Вывод

Использование VoIP может сократить расходы на связь, особенно там, где есть бесплатный и стабильный интернет. С VoIP можно не заботиться о роуминге. Тарифы на VoIP не такие сложные, как у сотовых операторов.

Обзор функции телефонии callback

На практике, интернет связь имеет ограниченную зону покрытия, а сама услуга по предоставлению интернета стоит денег. При этом цены на VoIP остаются привлекательными.

Если связь по сети интернет есть, но она нестабильная, то на помощь приходит услуга Callback. На сервер VoIP отправляется номер, куда абонент желает позвонить, а сервер уже перезванивает абоненту по каналу сотовой связи, после этого начинает дозваниваться до другого абонента и соединяет этих двух абонентов. В случае если нет возможности использовать интернет, можно отправить SMS на номер VoIP сервера с номером абонента «B», которому звонит абонент «A». Существуют также SIM-карты, в которые вшиты нужные параметры для Callback телефонии. Эти операторы экономят денежные средства, используя VoIP, поэтому их тарифы дешевле.

Такие услуги предоставляет МТС [27]. К номеру абонента добавляется код *137*, а в конец #. После отправки запроса идёт входящий звонок, если на него ответить, то начнётся соединение с отправленным в запросе абонентом. Стоимость обратного звонка зависит от страны пребывания абонента.

Мегафон также предоставляет такие услуги: обратный вызов может произойти при обычном наборе номера, если подключена услуга «Вокруг Света» [28].

Существует ещё один способ передать серверу номер абонента «B» от абонента «A» - с помощью DTMF сигнала. Данный способ хорош тем, что любой современный телефон умеет генерировать DTMF сигналы, а входящий вызов у многих операторов является бесплатным.

Так как любой телефон с операционной системой Android умеет генерировать DTMF сигналы, то этот способ является самым универсальным, он требует минимального подключения дополнительных услуг и не требует наличия SIM-карты. Именно такой способ могут использовать владельцы собственных VoIP серверов для связи абонентов.

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

Прямую реализацию приложений для DTMF Callback без привязки к оператору сложно найти.

Cуществуют реализации функций, которые могут быть полезны при использование DTMF Callback.

Одной из таких реализаций чаще всего называют префиксер. Эти программы отлавливают входящий или исходящий вызов и прибавляют к нему так называемый prefix или suffix, то есть дополняют номер телефона до номера или после, получается такой вид номера: prefix xxxxxxxxx suffix , где x - любой символ номера.

Задачей этих программ в реализации Callback будет добавлять DTMF сигнал после определённого события.

Prefixer

Наиболее приближённый к решению данной задачи является Prefixer от компании 253°Below [29]. Данная программа содержит правила, в которых можно настроить:

a. Suffix

b. Prefix

c. Расписание работы программы

d. Номер, который запишется в журнал вызовов

e. Номера, на которых будет работать правило

Как следует из интерфейса программы, правила можно настроить как для входящих, так и для исходящих звонков. То есть программа должна добавлять номер, когда пришёл входящий вызов. В теории, если послать в suffix “,” для паузы или “;” для ожидания гудка, то можно послать в DISA номер.

Рисунок 14. Скриншот prefixer'а

Для исходящих звонков программа действительно добавляет prefix и suffix, но вот для входящих, вопреки настроенным правилам, она ничего не добавляет. То есть её на практике невозможно использовать для DTMF Callback связи, но зато можно использовать для реализации Callback от МТС.

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

Gamekeyboard

Для тестирования такой возможности была использованная Gamekeyboard от компании Locnet [30]. Для использования программы нужны root права. Данная программа содержит макросы, в которые можно записать какие символы будут вводиться с каким промежутком. Можно настроить размер и положение на экране виртуальной кнопки, которая будет активировать макрос. С телефона создавать макрос для этой программы достаточно тяжело, поэтому область её применения ограничивается небольшим количеством любимых номеров. Данная программа поддерживает профили, поэтому теоретически можно разработать приложение, которое создаст макрос для набранного номера и свяжет с кнопкой. Данное решение позволит абоненту не хранить в памяти номер абонента и не набирать весь номер целиком. Однако дополнительные действия от пользователя всё равно требуются.

Root права - права на доступ ко всем функциям UNIX систем. Так как Android является UNIX-подобной операционной системой, в ней тоже предусмотрены root права, однако производители телефонов часто ограничивают доступ к ним. Производитель может программное усложнить получение root прав, сделать запрет на перепрошивку. Производитель может сам дать инструмент для получения root прав, но при отказе от гарантий пользователем, который получил root права. Несмотря на это, бывает, что единственный способ реализовать какой-то функционал - это иметь доступ root.

Вывод

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

Технологическая часть

Анализ средств разработки под Android

Основным языком для написания пользовательских приложений под Android является Java [31]. Интерфейс программирования (API) для работы с функциями Android подразумевает использование Java. Для создания приложений, написанных на Java под Android, используются Build Tools из Android Software Sevelopment Kit (SDK). Существует способ написания приложений на C/C++ для обеспечения более высокой скорости работы приложений [32]. Для этого используется Native Development Kit. Существует решение для разработки под C# под названием Xamarin [33], которое позволяет создавать кроссплатформенные приложения. Для разработки на Python под Android можно использовать одно из нескольких решений [34] указанных в таблице:

Таблица 18. Сравнение реализаций python под Android

Project

Native Python

GUI libraries

APK generation

Custom build

Python for Android

Да

Да

Да

Да

PGS4A

Да

Да

Да

Нет

Android scripting

Нет

Нет

Нет

Нет

Python on a chip

Нет

Нет

Нет

Нет

Фреймворк kivy позволяет создавать кроссплатформенные приложения. Его можно связать с python for Android. Тогда становится возможным написание кроссплатформенных приложений, которые будут запускаться на Android. Также существует способ использовать обёртку для вызова Java классов из Android API под названием PyJNIus [35].

Такие решения как kivy или Xamarin имеют преимущества, если приложение разрабатывается не только под Android, но и под другие платформы. Однако при использовании специфичных Android-функций нужно использовать Android API. Преимущества для поставленной задачи это не даёт, так как в Android своя специфика с работой телефонных функций.

Средства для разработки под Android - SDK Tools

Основной инструментарий для разработки под Android входит в пакет инструментов - SDK Tools. В этот пакет входят инструменты для работы с виртуальными устройствами. Android Virtual Device Manager (AVD) предназначены для работы и настройки эмуляторов. Для того чтобы создать эмулятор используется образ системы. Такие образы можно скачать в графическом или консольном интерфейсе программы Android SDK Manager. В интерфейсе Android SDK Manager для одной версии Android можно выбрать несколько образов, которые будут эмулировать разные устройства.

Рисунок 15. Скриншот графического интерфейса Android SDK Manager

Одним из важных инструментов является Android Debug Bridge (adb), программа, предназначенная для отладки устройств на Android. Adb запускается из командной строки и управляется через консольный интерфейс. Adb работает с разными подключёнными устройствами к компьютеру:

· Устройства, подключённые по USB

· Устройства, подключённые по Wifi

· Эмулируемые устройства

Adb позволяет:

· устанавливать или удалять приложения с устройства

· работать с командной оболочкой устройства

· работать с packet manager

· запускать Intent

· работать с LogCat

В SDK входит большой набор инструментов, которые так или иначе интегрированы в среды разработки, например Build Tools входят в Eclipse или Android Studio.

Среда интегрированной разработки Android Studio

На данный момент, официальной средой интегрированной разработки (IDE) для Android является Android Studio [36]. Данная IDE базируется на IntelliJ IDEA от JetBrains и включает в себя ряд функций:

· Скрипты Gradle для сборки apk

· Сборка вариантов и генерация множества apk

· Шаблоны кода

· Редактор слоёв (layouts)

· подпись приложений

· Встроенная поддержка Google Cloud Platform и возможность интеграции Google Cloud Messaging and App Engine

Android Studio позволяет параллельно устанавливать собранные приложения на несколько устройств подключённых по adb.

Android Studio поддерживает работу с системами контроля версий.

Редактор исходного кода в Android Studio обладает рядом функций, которые упрощают разработку:

· автозавершение слов

· подсказка об ошибках в коде

· подсветка синтаксиса java и xml файлов

· автоматический импорт из библиотеки Android, если используется класс из неё

· выделение серым цветом переменных, которые не были использованы

· комментирование строк кода

· прыжки по разным файлам проекта в поисках выделенного слова

Android Studio является мощным инструментом, который рекомендуется использовать при разработке под Android, поэтому было принято решение использовать её в разработке.

телефония callback android программирование

Обзор языка программирования Python

Python является языком высокого уровня, который сочетает в себе несколько парадигм программирования, такие как:

· Объектное ориентированное программирование. В python всё является объектами: строки, классы, числа и т.д. Если, допустим, взять число «1» и сложить с ним число «2»:

«1+2»,

то на самом деле будет вызван метод __add__ у объекта 1, который получит тип Integer, поэтому следующая запись даст такой же результат:

(1).__add__(2)

· Динамическая типизация. Тип задаётся автоматически во время выполнения программы [37]. Плюсом данного вида типизации является лёгкость написания программ и быстрое освоение программистом данного метода. В python можно самому указать тип. С помощью функции «type» можно узнать тип объекта. С помощью функции «int» и «float» можно изменить тип. Так можно число 1 представить строкой со значением 1 или числом с плавающей запятой. Пример:

>>> a = 1

>>> b = str(1)

>>> c = float(1)

>>> a

1

>>> b

'1'

>>> c

1.0

Если проверить тип переменных, то у «a» будет «int», у «b» будет «str», а у «c» будет «float»

>>> print type(a)

<type 'int'>

>>> print type(b)

<type 'str'>

>>> print type(c)

<type 'float'>

· Строгая типизация. Python принято относить к строго типизированным объектным языкам.

· Функциональное программирование. В python можно использовать рекурсии, ленивые вычисления и функции высших порядков

· Императивное программирование. Python поддерживает процедурный метод программирования, в python можно использовать модули.

Python считается достаточно простым языком, он является самым популярным языком для изучения в колледжах США [38].

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

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

· На устройстве во внутренней памяти должно быть 10мб свободной памяти для установки приложения и хранения его данных.

· Устройство должно иметь следующее ПО:

a. Android 2.2 и выше

b. OpenGL ES 2.0

Требования к внутренней памяти обусловлены тем, что установленное приложение будет в себе содержать python for android и kivy. Для работы python for android необходим OpenGL ES 2.0, который есть в Android, начиная с версии 2.2.

Обзор языка программирования Java

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

Концепция Java в плане объектной ориентации схожа с python: «В Java есть специальный суперкласс Object и все классы являются его подклассами. Поэтому ссылочная переменная класса Object может ссылаться на объект любого другого класса» [39].

Java имеет гибкую систему разграничения доступа, которая задаётся модификаторами класса private, public, protected или отсутствием модификатора:

Таблица 19. Модификаторы и доступ в Java

private

protected

public

тот же класс

да

да

да

да

подкласс в том же пакете

нет

да

да

да

независимый класс в том же пакете

нет

да

да

да

подкласс в другом пакете

нёт

нет

да

да

независимый класс в другом пакете

нет

нет

нет

да

Разработка интерфейса для упрощённого использования функции телефонии Callback

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

Интерфейс такой программы должен помогать реализовать следующие функции:

1. Callback

o Запуск приложения при инициализации звонка из контактной книги(Contacts)

o Инициализация звонка на сервер телефонии

o Приём звонка от сервера телефонии

o Определение того, что установлен канал связи

o Анализ DTMF сигналов от сервера

o Передача DTMF сигнала во время звонка

2. Работа с историей

o Возможность удалять информацию из системного журнала истории вызовов

o Возможность добавлять информацию в системный журнал истории вызовов

3. Настройки

o Включить/выключить профиль

o Возможность выбрать профиль

o Возможность настроить профиль

o Возможность добавить профиль

o Возможность удалить профиль

4. Профили

o Возможность изменять номер сервера

o Возможность задать белый список номеров сервера

o Возможность указать время ожидания обратного звонка от сервера

o Возможность указать интервал между отправляемым сигналом DTMF

Алгоритм приложения с такими функциями следующий:

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

После настройки приложения пользователь может вызвать абонента из контактной книги. В это время появится меню выбора приложения, с помощью которого можно звонить. Если пользователь выберет DTMF Callback, то номер контакта будет сохранён приложением, а само приложение инициализирует вызов с сервером. Когда сервер разорвёт связь и перезвонит, приложение ответит на звонок и наберёт в тональном наборе сохранённый номер, после этого пользователю нужно будет дождаться соединения с вызываемым абонентом.

После окончания разговора в журнале вызовов должен остаться номер абонента, которому звонил пользователь. Подсчёт времени разговора должен начинаться с момента дозвона.

Разработка прототипа, который демонстрирует возможности по упрощению использования функции Callback

Исходя их реальных возможностей и нулевого опыта разработки под Android, были разработаны минимальные требования к прототипу:

1. Прототип должен запускаться на всех современных устройствах под Android начиная от Android 2.1 и заканчивая Android 5.1

2. Прототип должен упросить набор номера абонента, когда перезвонит сервер телефонии

3. При звонке на номер абонента через прототип звонок должен инициироваться на номер сервера телефонии и одновременно запоминать номер, куда звонил абонент

Инициализация вызова на указанный номер

Первым этапом разработки стало написание приложения, которое может осуществлять вызов на прописанный в коде приложения номер. Данный метод, когда значения переменных жёстко задаются в коде, а не берутся из внешних источников, называется hard coding. Такой метод применяется специально для быстрого тестирования приложения, чтобы каждый раз не набирать номер.

Было принято решение писать на языке программирования python, так как у меня имеется опыт написания на этом языке [40]. Для реализации понадобилось подключить Java класс android.intent.action.CALL из API Android. Целью данного приложения является тестирование возможности вызова любого абонента приложением. Данная функция нужна, чтобы после вызова абонентом «A» на номер абонента «B» начался звонок на номер сервера телефонии. После реализации этой функции стало ясно, что, несмотря на мой опыт, написание приложений под python всплывает множество неочевидных проблем, а в результате готовое приложение слишком долго загружается, что достаточно критично для телефонии. Также стало очевидно, что понимать API без знания языка программирования Java будет очень тяжело. Так как всё равно требовалось понимание языка программирования Java, а итоговый результат на Java давал преимущества, было принято решение переписать функцию под Java, используя Android Studio. Вот код итоговой функции под Java:

public void Call(View view) {

mNumberTextView.setText("Вызов на " + tel.getText() + " Инициализрован");

String toDial = "tel:" + tel.getText().toString();

startActivity(new Intent(Intent.ACTION_CALL, Uri.parse(toDial)));

}

}

Приём номера из контактной книги

Для того чтобы android-приложение было вызвано из другого приложения можно использовать явные и неявные Намерения(Intent). В явном Намерении указывается, какой класс оно должно вызвать:

Intent intent_about = new Intent(MainActivity.this, AboutActivity.class);

startActivity(intent_about);

Активность AboutActivity.class прописана в Android.Manifest.xml, поэтому система знает какую активность надо запустить.

В неявном Намерении вместо класса, который надо запустить указывается действие, на которое должна среагировать система. В стандартной контактной книге(Contacts) в android, при вызове из неё происходит действие ACTION_CALL_PRIVELEGED. В это действие передаётся номер «tel:». Например, мы можем с помощью adb позвонить этим действием, написав:

adb -e shell am start -a android.intent.action.CALL_PRIVILEGED -d tel:911

,где 100 - это номер, куда позвонит телефон. Если прописать команду

adb shell am start -a android.intent.action.CALL -d tel:911

При этом звонка не будет, так как не будет привилегий позвонить на такой номер. В зависимости от надобности, разные приложения могут использовать различные действия. Если экстренных вызовов не предполагается, то будет использоваться именно ACTION_CALL. Это более частый случай для вызовов из браузера или приложения с контактным номером.

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

Чтобы программа перехватила неявное Намерение надо в AndroidManifest.xml добавить intent-filter:

<intent-filter>

<action android:name="android.intent.action.CALL_PRIVILEGED"/>

<action android:name="android.intent.action.CALL"/>

<data android:scheme="tel"/>

</intent-filter>

Так как из контактной книги нужно взять только номер в scheme указывается «tel».

Теперь операционная система Android будет предлагать каждый раз вызвать приложение, когда будет вызываться Намерение ACTION_CALL или ACTION_CALL_PRIVILEGED.

Чтобы приложение могло использовать номер, который был в «tel» надо в нужном нам классе воспользоваться методом getData():

Плавающее окошко с кнопкой

Существует библиотека под названием StandOut с помощью, которой можно создать плавающее окно [41]. Библиотека имеем открытый исходный код и примеры [42]. Данная библиотека распространяется под свободной лицензией MIT [43]. Данная лицензия позволяет свободно распространять программное обеспечение, которое содержит эту библиотек. Библиотека поставляется как есть, ответственность за вред, который она может нанести, авторы не несут.

Особенности данной библиотеки:

· Предоставление своего собственного VIEW. Лёгкая интеграция.

· Декораторы плавающих окон:

1. заголовок плавающего окна

2. кнопка, которая сворачивает плавающее окно

3. кнопка, которая закрывает плавающее окно

4. кнопка для изменения размеров окна

· Свёрнутое окно можно восстановить

· Создание окон разных типов

· Окна можно перемещать

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

Для того чтобы создать окно надо написать класс, который будет расширением класса StandOutWindow:

public class FloatingButton extends StandOutWindow {

}

Далее следует внутрь этого класса добавить метод создания окна:

@Override

public void createAndAttachView(int id, FrameLayout frame) {

LayoutInflater inflater = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);

View view = inflater.inflate(R.layout.floating_button, frame, true);

А в res/layouts слой с описанием интерфейса этого окна floating_button.xml.

Кнопка для плавающего окна


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

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

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

  • Обзор мобильной ОС Android. Выбор инструментов и технологий. Проектирование прототипа графического интерфейса. Характеристика и описание пользовательского интерфейса. Проектирование и разработка базы данных. Определение списка необходимых разрешений.

    курсовая работа [376,6 K], добавлен 13.09.2017

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

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

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

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

  • Разработка приложений для смартфонов на ОС Android для сети аптек "Фармация". Архитектура операционной системы Android. Архитектура и реализация приложения. Его функциональность. Описание работы мобильного приложения. Расчет затрат на создание продукта.

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

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

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

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

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

  • Основные понятия IP телефонии и виды строения сетей IP телефонии. Голосовые шлюзы Cisco Systems для IP-телефонии. IP IVR как средство автоматического ответа на вызовы. Преимущества построения распределенного Контакт Центра, архитектура его построения.

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

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

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

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

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

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