【问题标题】:Error Android Mobile Vision for barcode scanning用于条码扫描的错误 Android Mobile Vision
【发布时间】:2023-03-09 20:15:01
【问题描述】:

我正在尝试在此链接中实现教程的第二部分:

http://code.tutsplus.com/tutorials/reading-qr-codes-using-the-mobile-vision-api--cms-24680

我收到错误:

BarcodeDetector has private access at..

知道为什么吗?

public class ScanActivity extends Activity {
SurfaceView cameraView;
TextView barCodeInfo;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_scan);
        cameraView = (SurfaceView) findViewById(R.id.camera_view);
        barCodeInfo = (TextView) findViewById(R.id.code_info);

        BarcodeDetector  barcodeDetector = new BarcodeDetector().Builder(this).setBarcodeFormats(Barcode.QR_CODE)
                .build();
    }
}

【问题讨论】:

  • 调用public而不是private。私有变量是只对它们所属的类可见的变量。
  • @IntelliJ Amiya 在哪里公开?看图

标签: android google-play-services barcode-scanner


【解决方案1】:

问题是您正在尝试访问 BarcodeDetector,其构造函数是私有 BarcodeDetector()。 BarcodeDetector 使用 Builder 模式。

“构建器模式使用简单的对象构建一个复杂的对象,并且 使用循序渐进的方法。” http://www.tutorialspoint.com/design_pattern/builder_pattern.htm

所以改成下面的代码:

BarcodeDetector  barcodeDetector = new BarcodeDetector.Builder(this).setBarcodeFormats(Barcode.QR_CODE)
            .build();

【讨论】:

  • 区别在哪里..?看我贴的代码,就是我写的。。
  • new BarcodeDetector().Builder 不同的 new BarcodeDetector.Builder
  • () 是不同的呵呵
  • 确实非常感谢您! - 但我无法继续剩下的 tuotiral.. 我在所有阶段都迷路了..
  • 为什么?你遇到了什么问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多