0

我有一个应用程序对用户进行身份验证以访问内部活动,应用程序有几个活动从以前的活动中获取数据

所以我对活动生命周期有点困惑

我在活动 OnCreate 中将 Bundle 数据读入局部变量,并根据该数据在异步任务中读取 DB。此数据库数据显示在我的应用程序上。

现在,如果我切换到另一个应用程序,我的应用程序是否会有本地变量/静态变量数据(从数据库数据中读取),

我有 SingleInstance 类,它保存用户票等信息,如果我们在两者之间接到电话,该变量是否会保存在应用程序的内存中。

我对这部分有点困惑。

正如文档建议的那样,您需要将未保存的数据存储在共享首选项中。

如果有人强调这一点会很好..

4

1 回答 1

2

好吧,首先您需要确保您根据以下句子了解新应用程序和新活动之间的区别:

现在,如果我切换到另一个应用程序,在切换回我的应用程序后,我的应用程序是否会拥有该数据库数据

如果您实际上是指不同的应用程序,答案是“在另一个应用程序中否(如果您的应用程序也是)”您无法访问另一个应用程序数据库(至少不能直接访问),唯一的方法是该应用程序是否实现了内容提供程序为了与另一个应用程序共享其数据,默认情况下,Android 应用程序就像沙盒一样,除非特别声明,否则不会与其他应用程序共享任何信息,两个应用程序之间使用相同的密钥签名还有另一条规则,但这是一个不同的故事和一个不相关的巨大高级主题对这个问题...

如果您“的意思是转到另一个应用程序(不是我的应用程序),然后尝试再次从我的应用程序中使用它”,答案是“是”,数据库中的信息可以在所有构建组件中访问,例如“活动、服务”属于同一个应用程序,即使在完全关闭应用程序后,数据库中的信息也会保留(共享偏好也是如此),但是共享偏好和数据库之间存在巨大差异,并且知道何时使用其中一个或另一个区分好与优秀开发人员,黄金法则(但不是唯一或最好的)是,DB 用于复杂查询和需要某种预处理或后处理以获得正确值的关系数据,这意味着共享偏好只是一个“键/值" 在应用程序上下文中持续存在的映射

希望这可以帮助。

问候!

于 2013-10-14T04:06:59.343 回答