1. Wir haben diesmal 2 Gewinnspiele zeitgleich für euch - Gewinne einmal ein UMI Plus E - Beim 2ten könnt ihr ein Nomu S30 gewinnen!
  1. spike78, 28.11.2011 #1
    spike78

    spike78 Threadstarter Junior Mitglied

    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

    und wo genau ist nun dein problem?
     
  3. spike78, 28.11.2011 #3
    spike78

    spike78 Threadstarter Junior Mitglied

    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

    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

    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

    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

    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

    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

    .setImageBitmap()
     
  10. MichaelS, 28.11.2011 #10
    MichaelS

    MichaelS Fortgeschrittenes Mitglied

    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

    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