Android:如何在连续的服务调用中存储一个对象?

标签 android service remoteview storing-data

我多次调用 Service,Service 执行其工作然后自行停止。

我需要的是在同一服务的连续调用之间存储一个对象,

这样:

  • 每次调用服务时,它都会检索使用的对象

  • 并在停止以在下一次调用中使用它之前再次保存它。

有问题的对象是一个 RemoteViews 对象。

最佳答案

使用可以使用单例模式:

public class SingletonClass{
   private YourObject objectToStoreBetweenSession;
   private SigletonClass instance;
   private SingletonClass(){
       objectToStoreBetweenSession = new YourObject();
   }

   private static SingletonClass getInstance(){
      if(instance==null)
         instance = new SingletonClass();
      return instance;
   }
   public void setObject(YourObject obj){
      objectToStoreBetweenSession = obj;
   }
   public YourObject getObject(){
      return objectToStoreBetweenSession;
   }
}

进入您的服务:

YourObject objectToStoreBetweenSession = SingletonClass.getInstance().getObject();
if(objectToStoreBetweenSession.value==0){
   //First time that Service is called.
}else{
   //Do whatever you want
   SingoletonClass.getInstance().setObject(new YourObject("value"));
}

关于Android:如何在连续的服务调用中存储一个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15731557/

相关文章:

java - 创建自定义外观的 android Activity

java - Kinvey:离线时从 AppData 获取最近保存的实体?

android - 使用 "No Java virtual machine has been registered"时出现 "mediacodec"错误

spring - Struts 和 Spring 一起吗?

ubuntu - 使用 upstart 在 ubuntu 上运行 Python 服务

javascript - AngularJS 中 $http 的竞争条件

android - RemoteViews setImageViewBitmap() 不工作

android - fragment 和 activity 的核心区别是什么?哪些代码可以写成 fragment ?

Android - 如何在 Honeycomb 之前在 AppWidget 中导航 ViewFlipper

java - 将字符串转换为颜色 int