Kann das Symbol 'Kontext' nicht lösen

Ich versuche, eine Android-App zu schreiben, die automatisch ein Bild auf einen Server hochlädt, aber ich stecke nur eine Zeile Code:

File f = File(context.getCacheDir(), "filename"); 

Der Fehler, den ich bekomme, ist Bildbeschreibung hier eingeben

Das verwirrt mich, weil ich so irgendwelche Beispiele im Web von Leuten sehe, die context.getCacheDir () richtig machen, während ich die Fehlermeldung bekomme. Es ist wahrscheinlich etwas falsch mit meinen IDE-Einstellungen. Ich verwende IntelliJ IDE.

Hier ist der Kontext für das Kontextproblem:

  @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView image =(ImageView) findViewById(R.id.PhotoCaptured); image.setImageBitmap(thumbnail); //create a file to write bitmap data File f = File(context.getCacheDir(), "filename"); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } 

  • Android-Studio kann nicht finden, eine Hilfe-Schnittstelle für den Einsatz in der Klasse
  • Dynamische Klassenladung mit IntelliJ - 64K Methode dex Problem
  • FEHLER: Android Source Generator: AndroidManifest.xml Datei nicht gefunden
  • Wie kann ich einfach Eclipse-Android-Projekt in Intellij IDEA 10 importieren
  • Gradle projektabhängigkeit in idee
  • Kann den Paketwert in AndroidManifest.xml für Modul nicht finden
  • Wie bekomme ich den Gradle-Cache?
  • Wie benutze ich den Namen des Android-Pakets?
  • 2 Solutions collect form web for “Kann das Symbol 'Kontext' nicht lösen”

    Sie müssen einige grundlegende Java-Programmierung Tutorials zu tun. Java ist völlig anders als JavaScript.

    Hier benutzt du den context als Variable, aber du hast es weder erklärt oder initialisiert, also der Fehler.

    Sie können es definieren (und initialisieren zur gleichen Zeit)

      Context context = this; 

    Da this auf die aktuelle Objektinstanz einer Klasse und Activity ist ein Context , oder genauer gesagt, es extends Context .

    Alternativ können Sie das einfach nutzen.

     File f = File(UploadToServer.this.getCacheDir(), "filename"); 

    Der Fehler ist bacuse Sie havent deklariert context , weder wurde es als Parameter übergeben wurde

    context.getCacheDir() zu getApplicationContext.getCacheDir() oder this.getCacheDir()

    damit

     @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView image =(ImageView) findViewById(R.id.PhotoCaptured); image.setImageBitmap(thumbnail); //create a file to write bitmap data File f = File(context.getCacheDir(), "filename"); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } 

    wird werden

     @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if( requestCode == CAMERA_PIC_REQUEST) { Bitmap thumbnail = (Bitmap) data.getExtras().get("data"); ImageView image =(ImageView) findViewById(R.id.PhotoCaptured); image.setImageBitmap(thumbnail); //create a file to write bitmap data File f = File(getApplicationContext.getCacheDir(), "filename"); try { f.createNewFile(); } catch (IOException e) { e.printStackTrace(); } } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.