2017-07-21 5 views
0

im sorry für die lange Frage zu stellen, aber ich konnte wirklich die Hilfeeine nicht statische Methode aus einem in einem statischen Kontext

verwenden, so versuche ich habe eine Kamera-App für dieses Schulprojekt zu machen, die ich . Ich bin wirklich neu in der Programmierung im Allgemeinen, und ich weiß nicht wirklich viel über Java. Ich habe mich entschieden, die CameraKit-Bibliothek von Furgle zu benutzen, um mir dabei zu helfen. sie sagen, alles, was ich tun muß, ist

protected void onResume() { 
    super.onResume(); 
    CameraView.start(); 

und

@Override 
    protected void onPause() { 
     super.onPause(); 
     CameraView.stop(); 

    } 

umfassen soll ich in der Lage zu starten und stoppen zu erstellen, um die Kamera-Vorschau im Versuch. jedoch, wenn ich diesen Code zu meiner Haupttätigkeit aufgenommen, bekam ich die folgende:

nicht statische Methode ‚stop()‘/‚beginnen()‘ kann nicht von einem statischen Kontext referenziert wird

ich habe ein paar Dinge ausprobiert, wie der Versuch, ein Objekt der Klasse und den Aufruf der Methode von dem erstellen (ich bin nicht ganz sicher, ob ich sagte, dass richtig ist oder nicht)

@Override 
protected void onResume() { 
    super.onResume(); 
    CameraView main = new CameraView() 
    main.start(); 

, wenn ich versuche zu laufen das bekomme ich:

nicht auflösen kann Konstruktor CameraView()

Ich habe auch versucht Instanzen der Klasse erstellen namens „CameraView“, das ist, wo die Methode „start();“ und stoppen();" sind. Leider konnte ich damit nicht weiterkommen.

der Punkt ist ich versuchte alles, was ich verstehen konnte, aber jede Hilfe würde sehr geschätzt werden.

nach dem Blick in den Code für die Bibliothek sah ich, dass weder die Start-Methode oder die Stopp-Methode innerhalb der CameraView-Klasse als "statisch" deklariert werden. so ich sehe wirklich nicht, wo das Problem herkommt und wie es zu überwinden

+0

Sie sollten den Hilfe-Code https://github.com/gogopop/CameraKit-Android lesen. Wie Sie sehen können, müssen Sie eine Ansicht in der Datei ... \ app \ src \ main \ res \ layout \ your_layout_file.xml erstellen. –

Antwort

4

Unter der Annahme, das Tutorial Sie finden diese https://github.com/gogopop/CameraKit-Android#usage ...

Wenn sie sagen, dass „alles, was Sie zu tun haben, "Fügen Sie diesen Code hinzu:

@Override 
protected void onResume() { 
    super.onResume(); 
    cameraView.start(); 
} 

@Override 
protected void onPause() { 
    cameraView.stop(); 
    super.onPause(); 
} 

Sie sprechen mit erfahreneren Entwicklern. Der Teil, den sie weglassen, ist Woher kommt cameraView?

Nun, der erste Schritt besteht darin, eine <CameraView> in Ihr Layout aufzunehmen. Aber auch danach müssen Sie es finden und einer Variablen cameraView zuweisen. Also wirklich, Sie brauchen all das:

public class MainActivity extends AppCompatActivity { 

    private CameraView cameraView; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); // `activity_main.xml` must have a `<CameraView>` tag with id `camera` 
     cameraView = (CameraView) findViewById(R.id.camera); 
    } 

    @Override 
    protected void onResume() { 
     super.onResume(); 
     cameraView.start(); 
    } 

    @Override 
    protected void onPause() { 
     cameraView.stop(); 
     super.onPause(); 
    } 
} 
+0

Vielen Dank Ben! sehr geschätzt! –

Verwandte Themen