2017-06-12 75 views
-1

當我下面的代碼放到我Android Studio首次,它強調了很多的錯誤:Android Studio中使用進口

import java.util.List; 

public void enableAutofocus() 
{ 
    camera = camera.open(); 
    Camera.Parameters parameters = camera.getParameters(); 
    List<String> focusModes = parameters.getSupportedFocusModes(); 
    if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) 
    { 
     parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); 
    } 
    camera.setParameters(parameters); 
} 

所以,我做了alt+enter,並插入正確的導入:

import android.hardware.Camera; 
import java.util.List; 

public class OcrFocusPluginClass 
{ 
    public void enableAutofocus() 
    { 
     camera = Camera.open(); 
     Camera.Parameters parameters = camera.getParameters(); 
     List<String> focusModes = parameters.getSupportedFocusModes(); 
     if (focusModes.contains(Camera.Parameters.FOCUS_MODE_AUTO)) 
     { 
      parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO); 
     } 
     camera.setParameters(parameters); 
    } 
} 

但是馬上,小寫字母camera現在有紅色下劃線。

我意識到Camera接口已被否決,所以我包括新的應用,新android.hardware.camera2 API:

import android.hardware.camera2; 

但現在除了camera代碼,所有的焦點碼再次突出錯誤。

我缺少什麼?

enter image description here

回答

1

如果用android.hardware.Camera.更換所有的Camera.情況下,所有的錯誤都會消失。該類仍然被棄用,但它可能會起作用。

例固定碼:

android.hardware.Camera camera = android.hardware.Camera.open(); 

如果您想知道camera2實現,你可能想看看 Android camera android.hardware.Camera deprecated

+0

謝謝。我這樣做了,但從圖像(編輯問題)中可以看出,我仍然有劃掉的位和紅色的位。你能幫我進一步嗎? – Joshua

+1

當您將'camera.open()'指定給變量'camera'時,您忘記了聲明類型。所以只需在該行的前面添加'android.hardware.Camera'。最終結果看起來像'android.hardware.Camera camera = Camera.open();'。 – evanklicker

+0

謝謝。它仍然穿過我的'相機',所以我想知道這是否只是一個警告,告訴我它已被棄用或是一個錯誤?應用APK構建並運行,但如何建立它是否訪問攝像頭? – Joshua

相關問題