Android - создание и запуск операций на основе ответа сервера (JSON) - PullRequest
0 голосов
/ 02 марта 2019

У меня есть ответ JSON от сервера, например:

{
    "types": [
                {
                    "type_name": "ACTIVITY_TITLE_1",    
                    //  ... other Activity realted data
                },
                {
                    "type_name": "ACTIVITY_TITLE_2",    
                    //  ... other Activity realted data
                }
                // ... and who knows how many more other type object...
             ]
}

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

Поэтому мне нужно создать новое действие для каждого «типа», получаемого с сервера, и автоматически запускать их одно за другим.Все действия в точности одинаковы (поэтому я создаю один и тот же класс), только содержание отличается (что я получаю из JSON).Единственная проблема заключается в том, что я не знаю, сколько «типов» я получу, поэтому сколько действий мне нужно создать, и я не могу использовать фрагменты (что было бы простым решением), потому что у меня естьиспользовать фрагменты в этих активитах.

Каков наилучший подход к дизайну для этого?

С первого действия (вид длинного «заставки») я должен начать действие ACTIVITY_TITLE_1 с startActivityForResult(), и когда я закончу, я запускаю ACTIVITY_TITLE_2 с этого «заставки»?

Или я должен запустить действие ACTIVITY_TITLE_2 из ACTIVITY_TITLE_1, и внутри этого ACTIVITY_TITLE_1 каким-то образом получить информацию из БД, чтоЕсть ли еще действия, основанные на массиве JSON, ожидающие начала и запускающие следующий?

Ни то, ни другое не выглядит слишком «профессиональным» решением для меня ...: D

РЕДАКТИРОВАТЬ : Я разрабатываю простую "панель управления", иЯ получаю новые данные с сервера каждые 10 минут в форме JSON, как указано выше.Поэтому мне нужно только отобразить последний ответ JSON, который является «планом» для действий, и показать их автоматически одно за другим ... В приведенном выше примере будет 2 действия, автоматически чередующиеся через несколько секунд ...Но если я получу ответ от сервера через 30 минут, который содержит 3 актива (типа), то мне нужно сгенерировать и показать 3 по очереди.Всегда основано на последнем ответе JSON.Итак, я немедленно сохраню в БД свой JSON-ответ, но в следующем автоматическом «раунде» мне нужно будет показать 3 действия сейчас.Поэтому мне нужно сгенерировать и запустить активацию того, что я создаю на лету ...: D

1 Ответ

0 голосов
/ 02 марта 2019

Хорошо.Вам не нужно создавать новые действия для каждого ответа json.Просто проведите одно действие и затем загрузите контент в зависимости от полученного ответа.Просто с вашего заставки, которая сама по себе является Фрагментом / Фрагментом, отправьте данные в новую сгенерированную вами активность.Если вам нужно сохранить все ваши ответы, храните локальную базу данных (Sqlite, Realm или любую другую) и просто меняйте содержимое в зависимости от того, какое значение вам нужно.

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