Android-根据服务器响应(JSON)创建和启动活动

时间:2019-03-02 20:01:53

标签: android json android-activity

我从服务器收到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生成活动。

因此,我需要为从服务器获得的每种“类型”创建一个新的Activity,然后自动启动它们。 每个Activity都是完全相同的(因此我实例化了相同的类),只是内容不同(我从JSON获得的内容)。 唯一的问题是,我不知道我会得到多少个“类型”,因此我需要创建多少个Activity,而且我无法使用Fragments(这将是一个简单的解决方案),因为我拥有在这些活动中使用片段。

最佳的设计方法是什么?

从第一个活动(有点长的“启动画面”)开始,我应该使用startActivityForResult()启动ACTIVITY_TITLE_1活动,完成后,从该“启动画面”启动ACTIVITY_TITLE_2?

还是我应该从ACTIVITY_TITLE_1开始ACTIVITY_TITLE_2活动,并且在ACTIVITY_TITLE_1内以某种方式从数据库中获取信息,还有更多基于JSON数组的活动等待开始,然后从那里开始下一个活动?

对我来说,看起来都不是'专业'解决方案...:D

编辑我正在开发一种简单的“仪表盘”,并且每10分钟就有来自服务器的新数据以上述JSON形式出现。因此,我只需要显示最新的JSON响应(这是活动的“蓝图”),并自动一个接一个地显示它们...在上面的示例中,将在几秒钟内自动交替显示两个活动...但是,如果30分钟后我收到服务器响应,其中包含3个活动(类型),则我需要生成并依次显示3个。始终基于上一个JSON响应。 因此,我将立即将我的JSON响应保存到数据库,但是在下一个自动“回合”中,我现在必须显示3个活动。所以我需要立即生成并开始激活我创建的内容...:D

1 个答案:

答案 0 :(得分:0)

好。您不需要为每个json响应创建新的活动。只需举行一项活动,然后根据您的响应加载内容。只需从初始屏幕(本身就是活动/片段)将数据发送到您将生成的新活动。如果您需要保存所有响应,请保存一个本地数据库(Sqlite,Realm或其他),然后根据所需的值更改内容。