【问题标题】:Is it possible to extend the Android Camera class?是否可以扩展 Android Camera 类?
【发布时间】:2014-02-01 18:10:35
【问题描述】:

我正在努力扩展 android.hardware.Camera 类。我的问题是,当我尝试调用构造函数时,我遇到了可见性问题。所以我想知道是否有可能做这样的事情:

import android.hardware.Camera

public class MyCamera extends Camera {

    public MyCamera(Context context) {
        super(context);
    }
}

【问题讨论】:

  • 您不能直接从我在the documentation 中读到的内容调用相机构造函数。你能展示你遇到问题的代码吗?
  • 你想完成什么?扩展Camera,而不是简单地使用 Camera,有什么价值?
  • 这会使代码更加不稳定和复杂。例如:尝试缩放时,您必须首先使用缩放值更新相机参数,然后将相机参数设置为相机。在我自己的相机对象中,我将能够实现类似 camera.zoom();
  • 你考虑过组合而不是继承吗?
  • 我认为你不能这样做,但你可以用它改变表面和图形

标签: java android camera extends


【解决方案1】:

这将使代码更加不稳定和不那么复杂

有很多方法可以让 API 变得“更容易理解、更简单”。这些目标不需要继承。在某些情况下,继承可能是实现这些目标的一种方式,但继承并不是唯一的解决方案。而且,在某些情况下,例如这种情况,继承也有其自身的问题。

例如:尝试缩放时,您必须首先使用缩放值更新相机参数,然后将相机参数设置为相机。在我自己的相机对象中,我将能够实现类似 camera.zoom();

使用组合。

作曲是我现在正在做的事情。但我觉得必须有更好的东西

由于这里没有 Camera 的构造函数,它是 Android SDK 的一部分,如果你想要可靠的代码,你在这件事上没有太多选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 2012-03-12
    • 2010-12-05
    • 2015-01-18
    相关资源
    最近更新 更多