dateien laden nur aus jar?

Status
Nicht offen für weitere Antworten.

pups

Mitglied
Hallo, ich habe ein Programm welches viele Bilder beinhaltet, c.a. 3000 die ca. 5 Mb insgesamt groß sind.

Diese Bilder werrden in meinem Programm verwendet, jedoch um auf diese zugreifen zu können muss ich sie direkt in das jar File einbinden.

D.h. wenn ich mein Programm auf dem Handy starte muss ich ca. 2 min warten bis es startet weil die jar so "rießig" ist.

Gibt es denn Möglichkleiten direkt auf das file System zuzugreifen? Zumindest auf dem Ordner in dem man sich befindet, und dies am besten ohne lästige Sicherheitsabfrage? Ich habe ein E70 von nokia mit dem Symbian 60 v3.

Bin dankbar für jeden Tipp,danke
 

slawaweis

Bekanntes Mitglied
D.h. wenn ich mein Programm auf dem Handy starte muss ich ca. 2 min warten bis es startet weil die jar so "rießig" ist.
das sollte eigentlich nicht passieren. Ich habe auch mal eine J2ME-Anwendung geschrieben, die sehr viele kleine Grafiken enthalten hat und 4MB groß war. Die Anwendung ist sofort gestartet, außer man versuchte selber alle Grafiken am Anfang auf einmal zu laden. Dann dauerte es schon bis zu 10 Minuten.

Gibt es denn Möglichkleiten direkt auf das file System zuzugreifen? Zumindest auf dem Ordner in dem man sich befindet, und dies am besten ohne lästige Sicherheitsabfrage? Ich habe ein E70 von nokia mit dem Symbian 60 v3.
ja, über das FileConnection API. J2ME besteht ja aus verschiedenen Bausteinen, wobei nicht jedes Handy jeden Baustein unterstützt. Das E70, wie hier nachzulesen:

Device Details -- Nokia E70

unterstützt das JSR 75 FileConnection API:

Getting Started with the FileConnection APIs

über das man auf den Handy-Speicher zugreifen kann. Aber ohne Sicherheitsabfrage(n) geht es nicht, außer man signiert seine Anwendung. Doch Vorsicht, auf einem anderen Gerät kann das ganze Programm abstürzen, weil dieses Gerät das FileConnection API nicht unterstützt (oder nicht kennt).

Slawa
 

pups

Mitglied
hm die jar lösung ist natürlich schon eleganter als ne sicherheitsabfrage... Kann man denn auf dem Handy einstellen dass das Programm vertrauenswüürdig ist? Oder muss man sich Software wirklich offiziell signieren lassen?


Aber zurück zu den jars. muss man explizit sagen dass er die Dateien nicht laden soll?

Weil eigentlich steht in meinem Laufzeit Code nur folgendes wnen ich ein bild angezeigt haben will.


image = Image.createImage("bildWasAuchImmer.jpg");
} catch (java.io.IOException e) {
e.printStackTrace();
}
bild.setImage(image);
 

slawaweis

Bekanntes Mitglied
hm die jar lösung ist natürlich schon eleganter als ne sicherheitsabfrage... Kann man denn auf dem Handy einstellen dass das Programm vertrauenswüürdig ist? Oder muss man sich Software wirklich offiziell signieren lassen?
99,99% aller Java-Anwendungen auf J2ME Basis die ich kenne, sind nicht signiert. Ja, man muss sich seine Software offiziell signieren lassen. Das kostet eine Menge und lohnt nur selten, z.B. wenn man eine Software entwickelt, wo die User ihre persönlichen Daten eingeben müssen.

Aber zurück zu den jars. muss man explizit sagen dass er die Dateien nicht laden soll?

Weil eigentlich steht in meinem Laufzeit Code nur folgendes wnen ich ein bild angezeigt haben will.


image = Image.createImage("bildWasAuchImmer.jpg");
} catch (java.io.IOException e) {
e.printStackTrace();
}
bild.setImage(image);

man muss es nicht explizit sagen. Ich habe damals für den N-Gage entwickelt und da wurden die Grafiken nur geladen, wenn man diese selber angefordert hat. Passierte es während der Startphase der Anwendung, dann dauerte es lange. Wenn man die Grafiken erst auf Anforderung des Users geladen hat, dann gab es kleine Pausen während der Ausführung, aber der Start erfolgte blitzschnell. Das N-Gage entpackte aber auch die JAR-Archive bei der Installation, so dass die ganzen Dateien direkt zu Verfügung standen. Wie es das E70 handhabt, weis ich leider nicht.

Slawa
 

pups

Mitglied
hm wie hast du denn festgestellt dass er alle Dateien entpackt hat? Ich seh leider nur unter dem Punkt installationen mein Programm,aber nicht wo die Dateien eigentlich liegen?Auch über diesen Dateimanager ist nichts erkennbar, so als wären die Installationen irgendo versteckt...? Das dumme ist meine Anwenung wächst noch um ein paar Mb und ich habe die befürchtung dass Sie dann garnicht mehr starten wird :( bzw nur nach sehr langer Zeit...
 

slawaweis

Bekanntes Mitglied
hm wie hast du denn festgestellt dass er alle Dateien entpackt hat? Ich seh leider nur unter dem Punkt installationen mein Programm,aber nicht wo die Dateien eigentlich liegen?Auch über diesen Dateimanager ist nichts erkennbar, so als wären die Installationen irgendo versteckt...? Das dumme ist meine Anwenung wächst noch um ein paar Mb und ich habe die befürchtung dass Sie dann garnicht mehr starten wird :( bzw nur nach sehr langer Zeit...
ich habe es damals mit dem FExplorer herausgefunden, einem Dateimanager-Tool für Symbian. Die Midlets lagen damals unter C:\System\MIDP\ oder E:\System\MIDP\ (Speicherkarte).

Wann lädst Du eigentlich die Grafiken? Was passiert alles beim Start des Programms? Den viele Sachen können den Start ausbremsen, wie z.B. der Zugriff auf System-Properties, WLAN-/Bluetooth-Anforderung oder eine Internetverbindung.

Slawa
 

pups

Mitglied
am anfang wird nur ein bild geladen und nicht besonderes gemacht, aber ich schätze das wohl alle bilder geladen werden, weil dass umschalten der Bilder unverzüglich geht.

Also am Anfang wird ein Bild angezeigt, und dann kann man ein Suchmenü auswählen und nach einem anderen Bild suchen. Also alle möglichen Bilder stehen in einem fest programmierten array in Strings. Nun wenn man danach sucht wirds eigentlich erst geladen...


edit.:

Also es gibt nen Ordner private/blahblah/ und dort drin liegt mein .jar Datei einfach so rum. Jedoch braucht die Installation auf irgend einen Grund trotzdem ewig... Wenn die Datei nur kopiert würde, würde das eig. keinen Sinn machen. Aber so scheints zu sien, dass da nichts entpackt ist...
 
Zuletzt bearbeitet:
M

MiDniGG

Gast
Um es wenigstens etwas schneller zu machen könntest Du statt jpg das png-format nehmen. Weiß nicht ob Du das evtl. schon hast bin mal von Deinem bsp. ausgegangen...
Java:
image = Image.createImage("bildWasAuchImmer.jpg");
} catch (java.io.IOException e) {
e.printStackTrace();
}
bild.setImage(image);

Edit: Außer Deine jpgs sind natürlich schon entsprechend komprimiert, dann dürfte das besser sein ^^
 
Zuletzt bearbeitet von einem Moderator:
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Meeresgott Android Best Practices zum Laden von Dateien Android & Cross-Platform Mobile Apps 0
F Android Effizientes Laden von Dateien Android & Cross-Platform Mobile Apps 8
V Kennt jemand ein Programm , um .DEX Dateien zu öffnen, bearbeiten und wieder speichern? Android & Cross-Platform Mobile Apps 2
J Android String in andere Java-Dateien überführen Android & Cross-Platform Mobile Apps 1
B Dateien Speichern Android & Cross-Platform Mobile Apps 6
T Android Wie kann man bei WebView Dateien hochladen? Android & Cross-Platform Mobile Apps 6
domjos1994 Große Dateien aus Soap-Objekt Android & Cross-Platform Mobile Apps 10
Anfänger2011 Speichern von bereits gefüllten Dateien Android & Cross-Platform Mobile Apps 8
B Android Dateien senden von assets Ordner? Android & Cross-Platform Mobile Apps 7
U MediPlayer: Wave Dateien aus "Music"-Ordner abspielen Android & Cross-Platform Mobile Apps 3
M Dateien in apk z.B. Texturdaten Android & Cross-Platform Mobile Apps 1
G Android Einbindung von externen Dateien in Eclipse Projekt Android & Cross-Platform Mobile Apps 8
@ .jar Dateien auf Android Gerät (Motorola RAZR XT910) Android & Cross-Platform Mobile Apps 6
T Kann man JAD bzw. JAR Dateien auch auf meiner HP öffnen? Android & Cross-Platform Mobile Apps 2
G Auf vorhandene Dateien zugreifen Android & Cross-Platform Mobile Apps 6
I Android ListView, Werte aktualisieren ohne die Liste komplett neu zu laden Android & Cross-Platform Mobile Apps 5
W Bild aus dem Internet in View bzw. ImageView laden (Fragment) Android & Cross-Platform Mobile Apps 2
W Firestore String in Apps Laden Android & Cross-Platform Mobile Apps 10
lolcore android studio: fehler bei laden des emulators Android & Cross-Platform Mobile Apps 10
B Android Textdatei laden (klappt nicht) Android & Cross-Platform Mobile Apps 4
T Android Nach Buttonclick neu laden Android & Cross-Platform Mobile Apps 3
T Hintergrund nur zur hälfte laden... Android & Cross-Platform Mobile Apps 6
N Android Display nicht löschen bzw. neu laden Android & Cross-Platform Mobile Apps 2
D Android Neue Activity im TabWidget laden Android & Cross-Platform Mobile Apps 8
P Android Fragen reihenfolge speichern / laden Android & Cross-Platform Mobile Apps 2
U [Android] Eine Datei aus Jar-Archiv laden Android & Cross-Platform Mobile Apps 4
B Java ME Font laden? Android & Cross-Platform Mobile Apps 6

Ähnliche Java Themen

Neue Themen


Oben