在我的Android应用中,服务在后台运行,并将GPS读数记录到数据库中。用户看到一个活动,向他们展示单选按钮。我还想将他们当前选中的单选按钮记录到数据库中。
如何从服务中访问单选按钮对象?
答案 0 :(得分:3)
执行此操作的一种简单方法(假设您的服务在与活动相同的过程中运行)是使用共享首选项文件。每当更改单选按钮时,活动都可以写入首选项文件,并且服务可以在首选项上注册侦听器,也可以在写入数据库时检查状态。
避免首选项的更复杂的方法是使用Context.startService()启动服务(即使Activity不在,它也会保持运行),然后让Activity调用Context.bindService() (如果它没有运行则启动服务)返回它可以与之通信的IBinder存根。对于这种方法,我建议您查看Service API Demos。