Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   FireMonkeyMobile mit externen .jpgs (https://www.delphipraxis.net/188231-firemonkeymobile-mit-externen-jpgs.html)

Sel2012 11. Feb 2016 21:30

FireMonkeyMobile mit externen .jpgs
 
Hallo,
bisher habe ich unter Projekt/Bereitstellung die .jpg- und mp3-Dateien mit assets\internal geparkt. Bei 50 MB streikt aber XE 5, bzw. Android. Ich habe wohl wieder die falschen Suchbegriffe verwendet um zu erfahren mit welchem Code (assets\external ?) die Dateien in einen externen Ordner ausgelagert und automatisch mit in die App eingebunden werden können.
Kann jemand bitte helfen?

Sir Rufo 11. Feb 2016 21:34

AW: FireMonkeyMobile mit externen .jpgs
 
Nur so am Rande: Wenn du die Dateien unter assert/internal anlegst, dann sind die auf dem Device danach doppelt vorhanden.

Wenn das Paket zu groß wird, dann wirst du die zusätzlichen Dateien von der Anwendung nachladen müssen. Also ab mit den Daten in die Cloud und dann von dort laden.

Sel2012 12. Feb 2016 06:23

AW: FireMonkeyMobile mit externen .jpgs
 
Liste der Anhänge anzeigen (Anzahl: 2)
Danke für die "pauschalen" Hinweise, Sir Rufo.
Ich stehe aber leider weiterhin im dunkeln. (Das liegt natürlich an mir).
Ich habe mich unklar ausgedrückt: Nur die .mp3-Files wurden unter assert/internal geparkt. Die .jpgs werden über TImage/MultiResBitmap
eingepflegt (siehe Bilder)
Anhang 44774Anhang 44775.

Im VCL konnte ich den File-Ordner einfach unter Win32/Debug bereitstellen und die Exe griff drauf zu.
Unter FireMonkeyMobile weiß ich nicht, wo dieser Ordner platziert werden muss. Etwa unter Android/Release/...?
Und wie /wo anstelle von assert/internal der Zugriff auf die externe Datei als Programmzeile o. ä. hinterlegt werden muss.

Unter der MultiResBitmapForm (picta.jpg) wird ja zwangsläufig das File "inhaliert" und kostet App-Speicher.
Ohne Cloud werden beim App-download von GooglePlay im internen Speicher ganze Datein-Batterien angelegt, auf die das eigentliche Progamm zugreift. Sowas würde ich gern selber machen (können).

Sir Rufo 12. Feb 2016 09:15

AW: FireMonkeyMobile mit externen .jpgs
 
Diese .mp3 und .jpg Dateien sind ja ein fester Bestandteil deiner Anwendung und sollen auch nicht vom Anwender bearbeitet werden.

Somit sind das also Ressourcen der Anwendung.

Wenn ich eine normale Windows-Anwendung entwickle, dann habe ich in meinem Projekt-Ordner einen Ordner res. In diesem Ordner kommen alle diese Dateien hinein.

Bei den Build-Ereignissen läuft dann ein Kopiervorgang, der mir diesen gesamten res Ordner in den Augabepfad kopiert.
Code:
XCOPY /S/E/Y/I "$(PROJECTDIR)\res" "$(OUTPUTDIR)\res"
Schon habe ich diese Dateien im Ordner .\res relativ zum Anwendungs-Verzeichnis stehen.

Dies ist die Vorgehensweise ohne Remote (ausführen direkt auf der Entwicklungsmaschine Win32/Win64).

Kommt Remote ins Spiel muss man diese Dateien über den Bereitstellungs-Manager verteilen (eine einheitliche Vorgehensweise wäre hier wünschenswert ...).

Und dort ticken die Uhren für jede Plattform etwas anders. Wie die ungefähr ticken, kann man sich in jedem iOS, Android Projekt anschauen (siehe Bereitstellungs-Manager) denn die Launch-Icons sind auch Bild-Ressourcen der Anwendung.

Bei Android kommen die in den Remote-Pfad res\drawable-<Geräte-Auflösung>\ und bei iOS befinden die sich in dem Remote-Pfad .\.

Und was EMba da ablegt, das kann ich auch. In den Sourcen schaut man dann nach, wie man zur Laufzeit an diese Pfade kommt und greift dann einfach darauf zu.

Wenn man es ganz genau wissen will, dann schaut man in der Dokumentation (SDK) des Betriebssystems nach, wie da was wie behandelt wird.

Die .mp3 Dateien sind allerdings nicht von der Auflösung abhängig, darum würde ich diese unter Android auch nicht in so einen res\drawable-<Geräte-Auflösung> Ordner packen (die sind ja nicht drawable) ;)

Mavarik 12. Feb 2016 10:56

AW: FireMonkeyMobile mit externen .jpgs
 
Zitat:

Zitat von Sel2012 (Beitrag 1330108)
Ohne Cloud werden beim App-download von GooglePlay im internen Speicher ganze Datein-Batterien angelegt, auf die das eigentliche Progamm zugreift. Sowas würde ich gern selber machen (können).

Also doch wie Sir Rufo empfohlen hat aus der Cloud "einmalig" nachladen?

bra 12. Feb 2016 11:12

AW: FireMonkeyMobile mit externen .jpgs
 
Zitat:

Zitat von Mavarik (Beitrag 1330140)
Also doch wie Sir Rufo empfohlen hat aus der Cloud "einmalig" nachladen?

Und wenn das Gerät kein Internet hat, wenn die App das erste mal gestartet wird? Soll ja vorkommen...

Sir Rufo 12. Feb 2016 11:34

AW: FireMonkeyMobile mit externen .jpgs
 
Zitat:

Zitat von bra (Beitrag 1330144)
Zitat:

Zitat von Mavarik (Beitrag 1330140)
Also doch wie Sir Rufo empfohlen hat aus der Cloud "einmalig" nachladen?

Und wenn das Gerät kein Internet hat, wenn die App das erste mal gestartet wird? Soll ja vorkommen...

Dann zeigt man an der Stelle einfach einen kleinen sparsamen Platzhalter an bzw. man spielt eben keinen Sound ab oder nimmt einen von den Systemtönen.

Siehe Skype ... die laden die Emoticons auch nach ... keine Verbindung, keine Emoticons sondern einfach nur ein gräuliches Bildchen als Platzhalter

Mavarik 12. Feb 2016 11:37

AW: FireMonkeyMobile mit externen .jpgs
 
Zitat:

Zitat von bra (Beitrag 1330144)
Zitat:

Zitat von Mavarik (Beitrag 1330140)
Also doch wie Sir Rufo empfohlen hat aus der Cloud "einmalig" nachladen?

Und wenn das Gerät kein Internet hat, wenn die App das erste mal gestartet wird? Soll ja vorkommen...

Naja... Wenn ich mir - per Internet - eine App downloade... Dann starte ich die auch und warte nicht, bis ich kein internet mehr habe...

Sel2012 12. Feb 2016 17:56

AW: FireMonkeyMobile mit externen .jpgs
 
Erst einmal vielen Dank an alle.
Ungelöst bleibt für mich allerdings die Frage, wie ich die .jpgs in den Images (TImages)anders als über MultiResBitmap zur Anzeige bringen kann (siehe oben). Ich kenne keine andere Methode. Damit stecken die jpgs im Programm und nützen nix im separaten Ordner - oder?

Sir Rufo 12. Feb 2016 18:33

AW: FireMonkeyMobile mit externen .jpgs
 
Schau doch ob du irgendwo im Zusammenhang zwischen
Delphi-Quellcode:
TImage
und
Delphi-Quellcode:
TBitmap
ein
Delphi-Quellcode:
LoadFromFile
findest.

Dann sollte der nächste Schritt klar sein


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:17 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz