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

Bilder aus Datenbanke setzen

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von spike78, 28.11.2011.

  1. spike78, 28.11.2011 #1
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    Hallo zusammen,

    ich meiner App verwende ich eine Datenbank in der die Spalte "Bild" vorhanden ist. In diese wollte ich den Namen der jeweiligen Bilder sichern.

    In meiner Anwendung habe ich nun eine Liste in der pro Zeile das entsprechende Bild angezeigt werden soll. Meine Frage nun, wie verwalte ich am besten Bilder in der DB und wie kann ich diese dann wieder setzen.
    Hab mit Datenbanken noch nicht viel getan und habe daher keinen Plan wie man das am besten macht...

    Bisher habe ich das so gemacht:
    ((ImageView)view).setImageResource(R.drawable.bild1);



    Danke und Gruß

    Spike
     
  2. swordi, 28.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    und wo genau ist nun dein problem?
     
  3. spike78, 28.11.2011 #3
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    ich würde gerne sowas machen

    ((ImageView)view).setImageResource(<Bild aus der Datenbank>);

    In meiner DB steht in der Spalte Bild z.B. "Bild1.png" usw...

    Gruß

    Spike
     
  4. Tom299, 28.11.2011 #4
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    leg deine bilder in einem ordner ab (z.b. images) und speichere den kompletten pfad zu deinem bild im jeweiligen datensatz und nicht nur den namen. dann klappts auch mit dem laden ;-)

    ps: bilder sollte man eher nicht in der db speichern
     
  5. swordi, 28.11.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    ja du musst dir den pfad zum bild speichern und dann einfach das bitmap laden. das kannst du dann der imageview setzen.

    ganz einfach :D
     
  6. spike78, 28.11.2011 #6
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    Wenn ich unter

    Mit kompletten Pfad in der DB meint ihr sowas?

    "R.drawable.bild1"

    gesetzt wird das das dann so?
    final String bild = theCursor.getString(2)
    ((ImageView)view).setImageResource(bild);

    P.s. wenn ich unter res einen Ordner images anlege, wird mir dieser als Fehlerhaft angezeigt. Den Ordner drawable konnte ich aber anlegen...?

    Danke und Gruß

    Spike



     
  7. swordi, 28.11.2011 #7
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    nein

    kopier deine bilder in den asset order. speicher den bildnamen in die datenbank

    nutze den assetmanager um dann das richtige bild zu laden und setzte es in die imageview

    wie du sicher siehst ist R.drawable.XXX ein Int wert und hat nix mit einem String, geschweige denn mit einer bild resource zu tun.
     
  8. spike78, 28.11.2011 #8
    spike78

    spike78 Threadstarter Junior Mitglied

    Beiträge:
    41
    Erhaltene Danke:
    0
    Registriert seit:
    09.10.2011
    sorry das ich nochmal nachsetze, aber als Anfänger hängt man halt mal öfters auch an den Einfachsten sachen :)

    Soweit bin ich nun:

    - Unter assets einen Ordner images mit meinen Bildern drin erstellt.
    - In der DB folgenden Pfad angegeben images/bild1.png
    Das Bild ermittele ich mir so:

    Code:
    [SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f][LEFT]//[U]Bild[/U] laden[/LEFT]
    [/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]final[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] String Bild = theCursor.getString(3); [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//[/COLOR][/SIZE][/COLOR][/SIZE]
    [SIZE=2]Bitmap [U]bitmap[/U] = [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]null[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2];
    [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]try[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] {
    bitmap = BitmapFactory.[I]decodeStream[/I]( getAssets().open( Bild) );
    [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// in ImageView [U]setzen[/LEFT]
    [/U][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT]} [/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]catch[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] (IOException e) {
    
    e.printStackTrace();[/LEFT]
    }
    [/SIZE] 
    
    soweit so gut, nur wie setze ich nun das Bitmap in meine ImageView?
    Bisher kenne ich nur:

    ((ImageView)view).setImageResource(......); Und das scheint ja hier nicht zu gehen...

    Danke und Gruß

    Spike
     
  9. Tom299, 28.11.2011 #9
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    .setImageBitmap()
     
  10. MichaelS, 28.11.2011 #10
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    Beiträge:
    370
    Erhaltene Danke:
    51
    Registriert seit:
    14.08.2009
    was ist den bitte so schwer dran ein wenig google zu verwenden =/ vorallem bei so simplen sachen... manchmal versteh ich die leute net oO

    Let me google that for you
     
    swordi bedankt sich.
  11. Tom299, 28.11.2011 #11
    Tom299

    Tom299 Android-Experte

    Beiträge:
    602
    Erhaltene Danke:
    120
    Registriert seit:
    31.08.2011
    dafür braucht man nicht mal google, einfach in eclipse .set tippen oder .setImage und man sieht schon die verschiedenen Möglichkeiten ;-)
     

Diese Seite empfehlen