1. Nimm jetzt an unserem 2. ADVENT-Gewinnspiel teil - Alle Informationen findest Du hier!

Auf Bildergallerie zugreifen?

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von Kernle 32DLL, 19.11.2010.

  1. Kernle 32DLL, 19.11.2010 #1
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    06.01.2010
    Moin,

    Kurze Frage, auf die ich leider trotz intensiver Google Suche keine Antwort fand: Wie zapfe ich in Android die Bildergallerie an? Alles was ich finde sind Informationen zu der Gallery View, die aber damit rein gar nichts zu tun hat :glare:

    Die SD Karte bzw. Internen Speicher will ich ungerne selber Parsen, da das lange dauert, und es ja schon extra die Galerie gibt.

    Hat jemand eine Idee wie ich das hinkriege, und in welchem Format die Bilder dann vorliegen?

    So long,
    Kernle
     
    Zuletzt bearbeitet: 19.11.2010
  2. funcoder, 20.11.2010 #2
    funcoder

    funcoder Erfahrener Benutzer

    Beiträge:
    218
    Erhaltene Danke:
    38
    Registriert seit:
    15.08.2009
    Also den Pfad bekommst du mit:
    File path = Environment.getExternalStoragePublicDirectory( Environment.DIRECTORY_PICTURES);

    Oder was versteht du unter "anzapfen"? :D
    Und die Bilder liegen dann ganz gewöhnlich vor(jpg etc.).
     
  3. Kernle 32DLL, 20.11.2010 #3
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    06.01.2010
    Mist, ich denke das wäre es, aber ich die App muss Android 1.6 kompatibel sein, und DIRECTORY_PICTURES kam erst mit 2.2 :/

    Außerdem ist mir nicht ganz klar was der Befehl macht, External heißt doch immer SD Karte oder liege ich da falsch?

    Was ich suche habe ich mal dem Post angehangen. Um meine Frage nochmal zu konkretisieren: Ich muss irgendwie auf die Bildergallerie des Benutzers zugreifen können (nur Lesen, nicht Schreiben), und die darin enthaltenen Bilder als Bitmaps in meine App bekommen.
     

    Anhänge:

  4. Kernle 32DLL, 21.11.2010 #4
    Kernle 32DLL

    Kernle 32DLL Threadstarter Neuer Benutzer

    Beiträge:
    23
    Erhaltene Danke:
    0
    Registriert seit:
    06.01.2010
    Ich habe für den Moment eine Temporäre Lösung gefunden. Nicht ganz das was ich wollte, aber da ich unter Zeitdruck stehe reicht das erstmal. Was besseres kann man ja per Update nachliefern...

    Code:
    Intent imageIntent = new Intent(Intent.ACTION_GET_CONTENT);
    imageIntent.setType("image/*");
    startActivityForResult(Intent.createChooser(imageIntent, "Select Picture"),1);
    Code:
    // To handle when an image is selected from the browser, add the following to your Activity
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data)
    { 
        if (resultCode == RESULT_OK && requestCode == 1)
            System.out.println(getRealPathFromURI(data.getData()));
    }
    
    public String getRealPathFromURI(Uri contentUri)
    {
        // can post image
        String [] proj={MediaStore.Images.Media.DATA};
        Cursor cursor = managedQuery( contentUri,
                proj, // Which columns to return
                null,       // WHERE clause; which rows to return (all rows)
                null,       // WHERE clause selection arguments (none)
                null); // Order-by clause (ascending by name)
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        cursor.moveToFirst();
    
        return cursor.getString(column_index);
    }
     

Diese Seite empfehlen