use*_*082 0 android sharedpreferences
Android设备上将同时运行两个独立的应用程序.我们负责App1.以下是Android设备上发生的情况:
首先启动App1,然后启动App2.
App1将显示包含消息的文件列表.
当App2启动时,它会向App1发送"连接"消息.
App1将允许用户从列表中选择一个文件.
当用户按下"运行"按钮时,App1将每隔3秒开始向App2发送消息.
App2将在收到的每个消息之后发回消息.
App1将读取App2发送的每条消息并将其记录到文件中.
App1发送的最后一条消息将导致App2向App1发送断开连接.
负责App2的小组想要使用SharedPreferences来完成所有这些.如果我们这样做,我们需要使用什么来确定App2消息何时在共享首选项中,以便App1可以读取它?
即使可以在进程之间共享共享首选项(请参阅@CommonsWare答案..),这听起来像是您描述的问题的最差设计解决方案.事实上,它闻起来像是一个可怕的想法,我相信它最终无论如何都无法发挥作用!
说SharedPreferences是解决android中不同的应用程序/进程之间的通信,就像完全忽略所有的android API和核心组件!
SharedPreferences不是设计成进程之间的某种消息队列.甚至不接近!
android为不同应用程序之间的通信提供了更优雅的解决方案,并在它们之间共享数据
例如:
Service绑定(app1启动app2可以绑定的服务)BroadcastReceiverContentProvider可以从app2访问的内容而且还有更多!
我建议你最好了解Android的核心部件(Service,BroadcastReceiver,Activity,ContentProvider)你的任何决定如何实现您的应用程序之前.我无法想象如果不使用上述至少3种方法来创建良好的功能应用程序.您可以通过阅读Android开发人员入门指南中的第一页来改变这一点 - http://developer.android.com/guide/components/fundamentals.html
链接:
http://developer.android.com/reference/android/app/Service.html http://developer.android.com/reference/android/content/BroadcastReceiver.html http://developer.android.com/reference/ android/content/ContentProvider.html http://developer.android.com/guide/components/bound-services.html
| 归档时间: |
|
| 查看次数: |
5281 次 |
| 最近记录: |