German JPG-Datei einem Imageview zuweisen

tudorf

Active Member
Licensed User
Longtime User
Hallo
Ich habe Probleme eine JPG-Datei einem Imageview zuzuweisen.
Ich erhalte den Fehler "error loading bitmap"

Dim imageView1 As ImageView
imageView1.Initialize("")
If File.Exists(File.DirInternalCache, "GC3BM6H-9b6a99dc-4cf1-4f41-93fd-47841444f2d9.jpg") = True Then
Msgbox("Datei ist da","")
imageView1.Bitmap=LoadBitmap(File.DirInternalCache, "GC3BM6H-9b6a99dc-4cf1-4f41-93fd-47841444f2d9.jpg")
Activity.AddView(imageView1,0dip,0dip,100,100)
End If

Danke Martin
 

tudorf

Active Member
Licensed User
Longtime User
Hallo Klaus

Ich erhalte den Fehler "error loading bitmap".

Das Verzeichnis habe ich aus einem Beispiel übernommen. Ich werde das Verzeichnis mal ändern. In welchem Verzeichnis sollten Dateien stehen ? Ist File.DirInternal OK?

Ich kann mir vorstellen, dass der Fehler mit dem Verzeichnis zu tun hat oder ist bei meinem Aufruf etwas falsch? Ich komme aber heute wahrscheinlich nicht dazu das zu testen.

Martin
 

klaus

Expert
Licensed User
Longtime User
Wo kommt die Datei her oder wo hast Du sie gespeichert ?
Wenn Du Dateien in Dein Programm mitgeben willst musst Du diese im IDE mit dem Files Tab unten recht mit Add Files hinzu fügen.
In deinem Programm findest Du diese dann im DirAssets Ordner.
Datenbankdateien können nicht im DirAssets Ordner aufgerufen werden diese müssen erst in einen anderen Ordner kopiert werden. Bilddateien kann man ohne weiteres im DirAssets Ordner aufrufen.
Du könntest die Dateinen auch vom PC über USB in den externen Speicher laden und die Dateien dann im DirRootExternal Order aufrufen.

Beste Grüsse.
 

tudorf

Active Member
Licensed User
Longtime User
Ich rufe bestimmte Internetseiten auf. Speichere mit dem Programm von Warwond den Quellcode und werte diesen aus. Auf der Seite befinden sich Links zu Bilddateien. Diese lade ich mit einem Servicemodul runter, speichere die Dateien auf meinem Samsung und möchte diese dann anzeigen lassen.

Z.B.Die Seite GC3BM6H Kahlschlag (Traditional Cache) in Nordrhein-Westfalen, Germany created by Walhalla85

Die Datei http://img.geocaching.com/cache/large/ef0af76f-6285-4458-88a6-5e4385ab45ce.jpg

oder

http://img.geocaching.com/cache/large/9b6a99dc-4cf1-4f41-93fd-47841444f2d9.jpg

Wenn ich dich richtig verstanden habe soll ich die Bildateien im DirAssets speichern.

Martin
 

klaus

Expert
Licensed User
Longtime User
Diese lade ich mit einem Servicemodul runter, speichere die Dateien auf meinem Samsung und möchte diese dann anzeigen lassen.
In welchem Ordner speichert das Servicemodul die Bilder?
Du musst die Bilder aus dem gleichen Order laden.

Wenn ich dich richtig verstanden habe soll ich die Bildateien im DirAssets speichern.
Nein.
Im DirAssets Ordner kann man Dateien vom PC aus mit dem IDE laden.
Diese sind in der apk Datei eingebunden.
Diese Dateien kann man dann vom Programm aus dem DirAssets Ordner lesen. Der DirAssets Ordner ist nur lesbar nicht schreibbar.

Beste Grüsse.
 

tudorf

Active Member
Licensed User
Longtime User
Hallo Klaus

Ich schreibe und lese im selben Verzeichnis. Das war bis jetzt File.DirInternalCache. Da das OS darin Daten löscht eine falsche Wahl.

Welches Verzeichnis ist für das speichern von Daten vorgesehen?

Was spricht gegen File.DirInternal aus meinem Post in diesem Thread ?

Martin
 

klaus

Expert
Licensed User
Longtime User
Jedem Programm wird ein DirInternal Ordner zugeordnet das ist ein geschützter Ordner der nur vom seinem Programm erreichbar ist.
Kein anderes Programm kann auf ihn zugreifen.

Ich weiss nicht ob ein Service in den DirInternal Ordner schreiben kann.

Du musst es eben mal ausprobieren, ansonsten versuche es mit DirRootExternal mit oder ohne Unterordner.

Beste Grüsse.
 

tudorf

Active Member
Licensed User
Longtime User
Ich werde einen Unterordner bei DirRootExternal verwenden.

Ich melde mich wenn ich noch Probleme habe.

Erstmal besten Dank
Martin
 

tudorf

Active Member
Licensed User
Longtime User
Hallo Klaus

Ich bin erst heute zum testen gekommen. Leider klappt es noch nicht.

Ich habe das Verzeichnis in File.DirRootExternal&"/Mystery" geändert.

Der Download klappt.

If File.Exists(File.DirRootExternal&"/Mystery", "GC3BM6H-9b6a99dc-4cf1-4f41-93fd-47841444f2d9.jpg") = True

gibt true zurück. Die Datei soll vorhanden sein.

Msgbox(File.DirRootExternal&"/Mystery","") gibt "/mnt/sdcard/Mystery" zurück. Das verzeichnis ist leer. es liegt bei mir unter: "Phone/mnt/sdcard/Mystery"

Noch eine Idee ?

Martin
 

tudorf

Active Member
Licensed User
Longtime User
Hallo Klaus
Ich bin weitergekommen. Es gab Probleme mit Groß und Kleinschreibung. Das Programm zeitgt schon mal was an.

Kann ich das Bitmap auf die Größe des Imageview bzw. activity.addview(... anpassen? Im Augenblich wird mir nur ein Teil angezeigt.

MfG Martin
 

klaus

Expert
Licensed User
Longtime User
Der Download klappt.
If File.Exists(File.DirRootExternal&"/Mystery", "GC3BM6H-9b6a99dc-4cf1-4f41-93fd-47841444f2d9.jpg") = True
gibt true zurück. Die Datei soll vorhanden sein.
Das kommt mir komisch vor.
Kann es nicht testen denn meine Geräte Nexus One smartpohone und Asus TF700 Tablett geben beide für File.DirRoorExternal "/mnt/sdcard" zurück.
Scheinbar geben verschiedene Geräte verschiedene Ornernamen zurück.

Versuche File.DirRootExternal & "/Mystery durch "Phone/mnt/sdcard/Mystery" zu ersetzen.

Beste Grüsse
 
Top