Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
zoleg
19 / 19 / 1
Регистрация: 10.01.2012
Сообщений: 214
#1

Вызов разных фрагментов или активити на клиенте по команде сервера - Программирование Android

09.08.2015, 09:51. Просмотров 306. Ответов 8
Метки нет (Все метки)

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

Задачи две:
1. Клиент отправляет месагу серверу (типа: хочу получить инфу о предмете), сервер отвечает "открой фрагмент/активити по кличке "кличка" и распарси для него месагу".

2. Сервер не ждет ничего от клиента и самостоятельно инициализирует месагу, клиент после выполнения отсылает ОК.


Переговоры между клиентом и сервером готовы и работают по принципу сервер<-->сервер без проблем.

Остается заставить клиента вести себя адекватно, то есть вызывать фрагмент или активити которое ему указал сервер.

Как организовать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2015, 09:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вызов разных фрагментов или активити на клиенте по команде сервера (Программирование Android):

Анимация фрагментов и активити - Программирование Android
Задаю анимацию для фрагментов и активити, но она работает на моём устройстве только в том случае, если в настройках телефона включена...

Вызов новой активити не из класса активити - Программирование Android
Есть 4 класса: 1) WelcomeActivity; 2) MainActivity; 3) PopUpActivity; 4) Client. Программа работает с сервером и получает...

Вызов активити - Программирование Android
При удачной авторизации вылетает сообщение &quot;Login Successfull&quot;, а как сделать так что бы при этом еще совершался переход на другую...

Вызов активити - Программирование Android
Доброго времени суток! Импортировал код с гитхаб, решил немного потренироваться на нем, для начала решил создать новый запускной...

Доступ к базе данных из разных активити - Программирование Android
В общем-то в теме и вопрос, как получить доступ к базе данных и разных активити? Есть класс работы с базой class DBHelper extends...

Нужно ли в клиенте указывать ip-адрес сервера или достаточно указать номер порта - C#
Доброго времени суток! :) Пытаюсь разобрать серверную программку, которая ждёт от клиента текстовое сообщение. Нужно ли в клиенте...

8
Spelcrawler
527 / 497 / 111
Регистрация: 12.03.2014
Сообщений: 1,663
Завершенные тесты: 1
09.08.2015, 13:35 #2
А почему нельзя просто получить сообщение get запросом и обработать его в приложении?
0
zoleg
19 / 19 / 1
Регистрация: 10.01.2012
Сообщений: 214
09.08.2015, 14:10  [ТС] #3
Цитата Сообщение от Spelcrawler Посмотреть сообщение
А почему нельзя просто получить сообщение get запросом и обработать его в приложении?
Сервер запитан от БД в которой данные меняются в зависимости не только от действий на клиентском андроиде, но и в зависимости от трех НЕ взаимосвязанных между собой прог на другой стороне БД.
При этом должна быть максимально синхронизированы данные. Те проги работают по принципу "кто раньше" андроиды тоже должны работать по такому же принципу.
А потому
Если (в назовем так - "базовый клиент" = БК) БК внес изменения в БД, то инфа сразу, мгновенно должна ходить на Андроид того, кого это касается.
Потому периодический опрос сервера исключается.
Если не дойдет кому месага вообще, то это меньшее зло чем когда дойдет с задержкой.

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

То есть прогой рулит не андроид, а сервер потому что все проги юзают общую БД с быстро меняющимися данные.
0
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
09.08.2015, 14:26 #4
Копать нужно в эту сторону. Тут уже интересовались этим вопросом - Концепция и реализация PUSH-уведомлений
1
zoleg
19 / 19 / 1
Регистрация: 10.01.2012
Сообщений: 214
09.08.2015, 14:43  [ТС] #5
Спасибо, есть объемчик для рытья.

Добавлено через 14 минут
Посмотрел ссылки, ничего не дали. У меня обмен месагами организован.

Сервисы слушают, правильно реагирую в лог если манипулирую ручками, а как все это натворить программно не знаю. Что это должно быть интенты. бандели, бродкасты? Что?
Я всего две недели как понял, что на Jave не очень страшно что либо писать, а потому не знаю что и как использовать для внутриандроидного взаимодействия.
ТО что присылаю как нибудь распарсю, а вот как из сервиса передать и по результату парсинга вызвать Активити или фрагмент и ему на обработку скормить то что останется токенайзере не могу сообразить.
0
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
09.08.2015, 14:55 #6
Вот тут найдёшь много полезной информации и про вызов активити, и про работу с фрагментами, и про передачу информации между активити/сервисами/фрагментами/т.д.
1
zoleg
19 / 19 / 1
Регистрация: 10.01.2012
Сообщений: 214
09.08.2015, 15:02  [ТС] #7
Цитата Сообщение от Mikalai Посмотреть сообщение
Вот тут найдёшь много полезной информации и про вызов активити, и про работу с фрагментами, и про передачу информации между активити/сервисами/фрагментами/т.д.
Был, рылся, но там везде "при нажатии кнопочки дверь и откроется ". А мне нужно программно открыть нужное активити или фрагмент по результату парсинга.

По кнопочкам я уже сделал - работает.
Вот только под каждую кнопочку приходится листнер и парсер подставлять, а выбирать их тоже кнопочкой. А программно то как?
0
Mikalai
261 / 237 / 95
Регистрация: 11.01.2015
Сообщений: 663
09.08.2015, 15:17 #8
Там достаточно информации. Возможно её нужно немного скомбинировать.
Вызвать activity из сервиса можно так:
Java
1
2
3
        Intent intent = new Intent(this, НазваниеВызываемогоАктивити.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);
0
zoleg
19 / 19 / 1
Регистрация: 10.01.2012
Сообщений: 214
09.08.2015, 16:08  [ТС] #9
У меня в заготовке так
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public void showForm(int i, Context context, String type){
        switch(i){
        case 1:
            intent = new Intent(context, loginActivity.class);
            break;
        case 2:
            intent = new Intent(context, mainActivity.class);
            break;
        case 3:
            intent = new Intent(context, workActivity.class);
            break;
        case 4:
            intent = new Intent(context, settingActivity.class);
            break;
        case 5:
            intent = new Intent(context, listViewActivity.class);
            break;
        case 6:
            intent = new Intent(context, addOrChangeListViewActivity.class);
            break;
        }
        intent.putExtra("typeListView", type);
        intent.putExtra(formController.class.getCanonicalName(), this);
        context.startActivity(intent);
    }
Но что с этим делать не знаю.

Точнее не знаю как задействовать.

Добавлено через 15 минут
Вопрос то не в том как и что делать по отдельности, а как создать цепочку

messageListner->parser(message)->НазваниеВызываемогоАктивити из parcer->tokenizer(message минус parser)-setTextView

По отдельности все понятно и вопросов нет.
0
09.08.2015, 16:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2015, 16:08
Привет! Вот еще темы с ответами:

Вызов прогресс-бара по команде - CMD/BAT
Всем привет,я новичок в этом деле начинаю с азов ,помогите пожалуйста как сделать что-бы при определенной команде вызывался прогресс бар на...

Вызов функции по команде Call - CMD/BAT
Суть вопроса: как сделать так, чтобы функции, вызывающиеся через call : , но не прописанные в самом файле работали? Например, в некоторых...

1C 8.x (тонкий) 1С 8.3. Вызов функции из общего модуля на тонком клиенте - 1С
Помогите пожалуйста разобраться новичку. Пытаюсь создать и вызвать функцию в общих модулях. В общем модуле создан модуль общиеФункции...

Отображение файлов сервера, на клиенте - C# WCF
Потребовалось написать клиент-серверную программу. Подумал, раз уж такие дела, возьму ка я WCF и разберусь. За полдня разобрался. Сделал...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

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