Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 保存对象以供以后使用_Android - Fatal编程技术网

Android 保存对象以供以后使用

Android 保存对象以供以后使用,android,Android,作为小部件的一部分,我使用摄影机对象的一个实例 这就是我想做的。用户将单击我的小部件,我得到相机的一个实例(如果它还没有存储),使用它,然后存储它。如果他们再次单击这个小部件,我想使用我以前使用过的同一个实例 这可能吗 已编辑:在用户第二次单击小部件之前,我无法释放摄像头(android.hardware.Camera)。因此,用户第一次点击小部件时,我就拿着相机,一直拿着它,直到他们再次点击小部件 我遇到的问题是,在第二次单击时,我正在尝试再次获取相机,但我无法获取,因为我当前正在使用它。不,

作为小部件的一部分,我使用摄影机对象的一个实例

这就是我想做的。用户将单击我的小部件,我得到相机的一个实例(如果它还没有存储),使用它,然后存储它。如果他们再次单击这个小部件,我想使用我以前使用过的同一个实例

这可能吗

已编辑:在用户第二次单击小部件之前,我无法释放摄像头(
android.hardware.Camera
)。因此,用户第一次点击小部件时,我就拿着相机,一直拿着它,直到他们再次点击小部件


我遇到的问题是,在第二次单击时,我正在尝试再次获取相机,但我无法获取,因为我当前正在使用它。

不,应用程序小部件不可能“存储”任意对象


如果“Camera”对象是android.hardware.Camera,那么你应该使用它并在完成后立即释放它,这样其他应用程序就可以使用它了。

好的,我想我已经解决了这个问题

如果我为widget类创建一个静态类对象,它似乎会将其保存在内存中

private static Camera=null

然后在代码中设置它

camera=camera.open()


似乎将其保存在内存中以备以后使用。我不知道这是否真的效率低下,但这是我让它工作的唯一方法。

在用户第二次单击小部件之前,我无法释放相机。有没有其他办法处理这个问题?@Eclipsed4utoo:我解释说你的意思是
android.hardware.Camera
。在这种情况下,你想要的东西几次都是不可能的——你不仅不能抓住
摄像机
(如上所述),而且你需要一个
SurfaceView来进行摄像机预览,这在应用程序小部件中是不可能的。欢迎您在
活动中使用
摄像机
。我说的是那台摄像机,但我没有使用SurfaceView(也不需要它)。@Eclipsed4utoo:
摄像机
如果没有
SurfaceView
和活动预览,就无法正常工作,所以用户知道相机正在运行。我这样做是为了闪光灯,所以不需要SurfaceView。用户知道它正在使用摄像头。不过我想出来了。