Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
_bio
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 28
#1

Приложение для Android, которое отправляет USSD запросы - Программирование Android

20.01.2016, 09:36. Просмотров 825. Ответов 11
Метки нет (Все метки)

Добрый день, форумчане)
Помогите пожалуйста, для работы необходимо написать простое приложение для Android, чтобы контролировать подрядные организации на наших объектах, суть приложения следующая:
У нашей компании есть более 600 объектов, подрядчик приезжает на объект №1 и отправляет USSD запрос *123*xxxx#, где xxxx- номер объекта №1. Тем самым он регистрируется у нас в системе и мы видим, кто в данный момент на объекте.
Главная цель приложения избавиться от необходимости набирать эти запросы вручную.
С созданием приложений для Android Я дело не имел, поэтому посоветуйте с чего начать, в каких классах копать и есть ли скелеты уже созданных приложений, чтобы хотя бы посмотреть как они реализованы?)
Надеюсь на ваши советы)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 836
20.01.2016, 10:04     Приложение для Android, которое отправляет USSD запросы #2
_bio, День добрый!
Довольно таки интересное задание. Вот мое виденье основных моментов.
1. Объекты компании скорее всего будут меняются со временем, если да, то встает необходимость подгружать(синкать) их по ходу работы, следовательно нужен сервер который будет предоставлять актуальную информацию типа пары "Название объекта - Номер объекта". Храним данную инфу в БД.
2. UI приложения. Тут тоже могут быть варианты, либо список с индексами, либо что то типа search edittext, либо и то и другое(даем возможность пользователю либо искать листая список, либо искать по названию). Ну вообще прикольной фичей может быть возможность прикрутить GPS координаты и по ним автоматически выбирать ближайший объект.
3. Ну и собственно USSD запрос(чет посмотрел все жалуются что нет стандартного API у googla,но думаю с таким простым запросом сложностей не должно быть), пользователь тапнул на его текущий объект, получаем "номер объекта" и с ним уже отправляем запрос.
Как то так
Ну вполне возможно можно пойти более простым путем - создания "web-морды", но в таком случае у пользователя должен быть доступ в инет(да и не сказать что много выиграете от этого).
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
20.01.2016, 10:19     Приложение для Android, которое отправляет USSD запросы #3
Цитата Сообщение от androbro Посмотреть сообщение
с таким простым запросом сложностей не должно быть
Без рута не послать, можно только номер в звонилку подставить. Хотя тоже не плохой вариант всего-то одно дополнительное нажатие.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 836
20.01.2016, 10:30     Приложение для Android, которое отправляет USSD запросы #4
Цитата Сообщение от Spelcrawler Посмотреть сообщение
Без рута не послать
ну вполне возможно, сам не сталкивался, что наверно и логично с точки зрения безопасности.
эт получается интент с "Intent.ACTION_CALL" не прокатывает, можно только "Intent.ACTION_DIAL"?
Spelcrawler
526 / 496 / 111
Регистрация: 12.03.2014
Сообщений: 1,648
Завершенные тесты: 1
20.01.2016, 10:33     Приложение для Android, которое отправляет USSD запросы #5
androbro, если честно уже не помню давно пробовал. По моему там просто URI с USSD не парсился.
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 836
20.01.2016, 11:01     Приложение для Android, которое отправляет USSD запросы #6
Цитата Сообщение от Spelcrawler Посмотреть сообщение
если честно уже не помню давно пробовал. По моему там просто URI с USSD не парсился.
да по всей видимости давно была, щас попробовал на устройстве(Android 5.0.2), баланс в лет проверяется:
Java
1
2
3
4
5
6
7
8
9
10
    String baseUssd = Uri.encode("*") + "100" + Uri.encode("#");
    StringBuilder builder = new StringBuilder();
    builder.append(baseUssd);
 
    Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + builder.toString()));
    if (ActivityCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        return;
    }
    startActivity(intent);
еще и checkSelfPermission требует

Добавлено через 11 минут
Цитата Сообщение от androbro Посмотреть сообщение
щас попробовал на устройстве(Android 5.0.2)
на Android 4.0.4 тоже все прокатывает.
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
20.01.2016, 11:43     Приложение для Android, которое отправляет USSD запросы #7
я ведь давал кусок кода, где звонит на любой номер
при этом на экране вообще ничего не показывается
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 836
20.01.2016, 12:03     Приложение для Android, которое отправляет USSD запросы #8
Цитата Сообщение от Паблито Посмотреть сообщение
я ведь давал кусок кода, где звонит на любой номер
ну уж извините что не видели когда Вы давали, за всем не уследишь, всего не упомнишь
если приведете, лишним не будет

Добавлено через 1 минуту
Цитата Сообщение от Паблито Посмотреть сообщение
при этом на экране вообще ничего не показывается
и что прям вообще вообще ничего не показывается? прикольно на каких версиях работает, рут нужен?
Pablito
2419 / 1864 / 583
Регистрация: 12.05.2014
Сообщений: 6,604
Завершенные тесты: 1
20.01.2016, 12:21     Приложение для Android, которое отправляет USSD запросы #9
да перепутал с смс отправкой
тут показывается, но подтверждать ничего не нужно - набор сам идет
Java
1
2
3
        Intent intent = new Intent(Intent.ACTION_CALL);
        intent.setData(Uri.parse("tel:*123*12345"));
        startActivity(intent);
или я вообще буксую и не в теме?

Добавлено через 8 минут
"показывается" я имею ввиду маленькое окошко-диалог
_bio
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 28
20.01.2016, 20:43  [ТС]     Приложение для Android, которое отправляет USSD запросы #10
androbro, Данные у меня есть в табличном варианте, два столбца "Название объекта - номер объекта". Как показывает опыт данные у нас меняться не будут, если только добавляться и то раз в год, поэтому хранить данные в БД нецелесообразно, может лучше массив? Или под андроид лучше БД?
Веб морда отпадает, тк некоторые объекты находятся далеко и сеть будет ловить очень плохо.
Фича с GPS заманчивая и интересная, но опыта в программирование мобильных приложений нет, чтобы реализовать нормально)) этот бы вариант на костылях собрать)
Вообщем конечный вариант приложения Я вижу так:
Миниатюры
Приложение для Android, которое отправляет USSD запросы   Приложение для Android, которое отправляет USSD запросы   Приложение для Android, которое отправляет USSD запросы  

Приложение для Android, которое отправляет USSD запросы  
_bio
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 28
20.01.2016, 20:48  [ТС]     Приложение для Android, которое отправляет USSD запросы #11
На один объект может быть 3 варианта USSD:
Прибытие
Проверка статуса
Убытие

Ребят, если есть более рациональная компоновка и вариант приложения скажите=)
И такой вопрос, где все таки хранить шаблоны запросов для объектов?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2016, 09:05     Приложение для Android, которое отправляет USSD запросы
Еще ссылки по теме:
Android Приложение для Android [Постер новостей]
Приложение эмуляции мыши для системы Android Android
Eclipse. Не компилируется первое приложение для Android Android
Android Узнать приложение которое запустило моё приложение

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
androbro
323 / 283 / 59
Регистрация: 17.10.2014
Сообщений: 836
21.01.2016, 09:05     Приложение для Android, которое отправляет USSD запросы #12
Цитата Сообщение от _bio Посмотреть сообщение
Как показывает опыт данные у нас меняться не будут, если только добавляться и то раз в год, поэтому хранить данные в БД нецелесообразно, может лучше массив? Или под андроид лучше БД?
ну если они данные у Вас статичны, то залейте все в БД, да и не парьтесь, это на порядок упрощает создание приложения, так как не нужен сервер для синхронизации данных. Приложение будет полностью в оффлайн режиме.
Цитата Сообщение от _bio Посмотреть сообщение
На один объект может быть 3 варианта USSD:
Прибытие
Проверка статуса
Убытие
Ребят, если есть более рациональная компоновка и вариант приложения скажите=)
ну тут необходимо более точно знать как все происходит, пользователь каждый день проделывает данную последовательность действий "приехал - перевел статус в прибытие, уехал - перевел статус в убытие" или же нет, и статусы к примеру каждый день сбрасываются...а что если он забудет выставить какой либо статус о убытии например а на следующий день выставит прибытие...может ли кто то сторонний изменить статус пользователя, если нет то статус можно запоминать локально и выводить к примеру в тулбар, что бы пользователь сразу мог видеть свой текущий статус без лишних запросов...в общем тут есть над чем подумать...
Цитата Сообщение от _bio Посмотреть сообщение
И такой вопрос, где все таки хранить шаблоны запросов для объектов?
где лучше хранить с точки зрения чего?
безопасности?
так то оно там всего как я понял 3 комбинации USSD, обычные строки.
Yandex
Объявления
21.01.2016, 09:05     Приложение для Android, которое отправляет USSD запросы
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru