Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android应用程序列表结构,并从全局类中查找上下文_Android_Json_Android Fragments - Fatal编程技术网

Android应用程序列表结构,并从全局类中查找上下文

Android应用程序列表结构,并从全局类中查找上下文,android,json,android-fragments,Android,Json,Android Fragments,我有两个问题 假设我正在创建一个具有三种屏幕类型的android应用程序: 首先,在列表中显示信息的一系列3个选项卡。信息的类型决定了它显示在哪个选项卡中 第二,屏幕上有关于所选列表项的详细信息 第三,一个屏幕,您可以在其中添加一个列表项,它将填充相应的列表 这个项目的良好结构是什么?现在我拥有的是一个全局类(扩展应用程序),它跟踪列表并从JSON文件导入它们,上面三个屏幕中的每个屏幕都有一个活动(和附带的片段),每个选项卡都有一个单独的片段 然而,我发现在Globals类中导入JSON文

我有两个问题

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

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

第二,屏幕上有关于所选列表项的详细信息

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


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

然而,我发现在Globals类中导入JSON文件需要上下文,我不知道如何获取上下文。在我继续之前,这是一个好的结构吗

如果是这样,我如何在全局类中获取上下文


我在Android Studio 3工作。

应用程序
是一个
上下文
。也就是说,只要在需要
上下文的任何地方使用当前实例
这个。(无需调用
getApplicationContext()

但是,支持的
上下文
尚未在
应用程序的构造函数中正确初始化和附加。
应用程序实际上是一个
ContextWrapper
,它是一个
上下文
子类,将所有方法调用委托给一个
上下文
字段,该字段在启动时由系统创建和设置。这意味着您不能在构造函数中调用任何
上下文
方法,因为在那里它仍然是空的


活动
服务
类一样,
应用程序
通常不应该有任何明确定义的构造函数。需要进行的任何初始化都可以在其
onCreate()方法中执行。那时,
上下文
字段将已设置。

“现在我拥有的是一个全局类(扩展应用程序)…在全局类中,需要上下文,我不知道如何获取”–
应用程序
是一个
上下文
。“在我进一步讨论之前,这是一个好的结构吗?”——这是基于观点的,因此离题了。一些用户喜欢使用
应用程序
作为“全局”数据存储。其他人则不然。“应用程序是一个上下文。”当我从构造函数类调用getApplicationContext()时,会得到一个nullpointerexception。我应该以另一种方式还是在另一个点上这样做?首先,
应用程序
子类不应该有任何显式定义的构造函数。在
onCreate()
中进行初始化。其次,不需要调用
getApplicationContext()
。只要使用
这个
。太好了,谢谢。这似乎解决了我的问题!您想添加它作为答案吗?