Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.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
在不使用ContentProvider(Android)的情况下在循环中保留单例DB数据_Android_Sqlite_Singleton - Fatal编程技术网

在不使用ContentProvider(Android)的情况下在循环中保留单例DB数据

在不使用ContentProvider(Android)的情况下在循环中保留单例DB数据,android,sqlite,singleton,Android,Sqlite,Singleton,如何在不使用内容提供商或加载程序的情况下,在屏幕旋转后在活动中保存单例数据库数据 这是一个面试问题,我被难住了 带游标加载器的ContentProvider是我的第一个想法,但他们说他们不想要那个。然后,我考虑保存从singleton DB的查询方法返回的游标,但我无法在OnSavedInstance中的out捆绑包中“放置”游标,所以我不知道 我还问他们“是否不鼓励使用单例数据库?”他们回答“是的,但这只是为了面试目的。” 也许这可以帮助将来遇到这个问题的人。“在活动中”听起来像是不允许我将所

如何在不使用内容提供商或加载程序的情况下,在屏幕旋转后在活动中保存单例数据库数据

这是一个面试问题,我被难住了

带游标加载器的ContentProvider是我的第一个想法,但他们说他们不想要那个。然后,我考虑保存从singleton DB的查询方法返回的游标,但我无法在OnSavedInstance中的out捆绑包中“放置”游标,所以我不知道

我还问他们“是否不鼓励使用单例数据库?”他们回答“是的,但这只是为了面试目的。”

也许这可以帮助将来遇到这个问题的人。

“在活动中”听起来像是不允许我将所有内容传递给应用程序类(不会在屏幕旋转时销毁)。但以防万一,这是一种选择:

您可以编写自己的类,该类从
应用程序
扩展而来。官员告诉你怎么做,但表示你基本上不需要这样做。话虽如此,这是规则中可能存在的例外情况的集合

活动
中,您可以按如下方式访问它:

MyApplication app = (MyApplication)getApplication();
但就个人而言,我会将一个
活动的数据
保存在保留的
片段
中,而不是保存在
应用程序
类中。它们在配置更改后仍然存在,但请记住它们不是后堆栈的一部分。因此,如果您有一个savedInstanceState!=null,保留的
片段可能已在其初始状态下重新创建,例如,如果应用程序已暂停一段时间


上的指南显示了如何使用保留的
片段
s

您可以使用
片段
并使用
片段#设置保留实例(true)
。所有数据都应在配置更改期间保存。请注意,保留的片段不是可视的,它将沿着
活动
片段
放置。这可能会对您有所帮助:

“在活动中”听起来像是不允许我将所有内容传递给应用程序类(不会在屏幕旋转时销毁)。所以我会使用保留片段,这很有意义,谢谢。“传递到应用程序类”是指在我存储信息的MainActivity中有类似“publicstaticmyapplicationvarname”的内容吗?(你可以回答我的问题,我会给你绿色的复选标记顺便说一句)