我正在寻找一些关于意图与应用程序上下文的一般建议。
当您的应用程序具有执行诸如线程网络侦听器之类的服务和/或收集位置信息以与主 Activity 在结构化集中共享的服务时,主 Activity 将不得不在用户输入时调整所述数据,什么在这些级别之间共享这些数据是最聪明的方式吗?
现在我有一个使用 Intents 的设置,但我不喜欢它,尽管它现在可能会做。我无法完整地序列化数据,所以我在这里和那里广播位。主要问题是我的 Intent 用于更新的主要数据集存储在主 Activity 中。
我想将数据集移动到我的服务中,或者将其存储在应用程序上下文中。但是我担心线程安全,因为主 Activity 偶尔会调整数据。例如,单击一次,更改布尔值,或从数据集中删除项目等...
我明白了意图的意义,但我想将意图广播为需要存储在应用程序上下文中的数据的函数的触发器,而不是作为在应用程序周围改组数据(部分数据)的工具。
我是否可以合理地使用 Application 上下文以安全的方式在 Service 和 Activity 之间更新和共享数据?我希望我的服务在后台运行,并且活动在用户返回应用程序或更改方向时拉取或更新数据集。谢谢。
更新/澄清
这个怎么样。访问绑定的服务 getter/setter 方法进行数据共享是否安全?我绑定到我的服务以通过公共方法启动/停止线程函数,(自从我跳回去并意识到我正在绑定以来已经有一段时间了)我可以以这种方式安全地调用 getter/setter 吗?