Android应用列表结构,并从Global类中查找Context

时间:2018-01-25 05:22:04

标签: android json android-fragments

我有两个问题。

假设我正在使用三种类型的屏幕创建一个Android应用程序:

首先,一系列3个选项卡显示列表中的信息。信息类型决定了它显示在哪个标签中。

3-tabbed screen

Item info

Item addition

其次,有一个关于所选列表项的详细信息的屏幕。

第三,您可以在其中添加列表项的屏幕,该列表项将填充相应的列表。

这个项目有什么好的结构?现在我所拥有的是一个Global类(扩展应用程序),它跟踪列表并从上面三个屏幕中的每个屏幕的JSON文件,Activity(和附带的Fragment)导入它们,以及单个选项卡的单独片段。

但是,我发现在Globals类中导入JSON文件需要Context,我无法弄清楚如何获取。在我走得更远之前,这是一个很好的结构吗?

如果是这样,我怎样才能在Global类中获取上下文?

我在Android Studio 3中工作。

1 个答案:

答案 0 :(得分:1)

ApplicationContext。也就是说,您只需使用当前实例 - this - 只需要Context。 (无需拨打getApplicationContext()。)

但是,后备Context将无法在Application的构造函数中正确初始化并附加。 Application实际上是ContextWrapper,它是Context子类,它将所有方法调用委托给系统在启动时创建和设置的Context字段。这意味着你不能在构造函数中调用任何Context方法,因为它在那里仍然是null。

ActivityService类一样,Application通常不应该有任何明确定义的构造函数。需要完成的任何初始化都可以在其onCreate()方法中执行。那时Context字段已设置。