
Max1809
Fortgeschrittenes Mitglied
- 6
Guten Abend zusammen,
stehe gerade vor einem Problem.
In meiner App möchte ich eine bestimmte XML-Datei genau ein mal vom Webserver herunterladen. Besser gesagt: die aktuellste Version der XML-Datei möchte ich genau einmal herunterladen. Dieses "herunterladen" geschieht bei mir aktuell beim Start der App.
Das ist einfach ein übles Performanceproblem, wenn ich die XML Datei jedes mal erneut herunterladen muss.
Jedoch kann sich der Inhalt der XML-Datei auf dem Server ändern - aber unbestimmt, durch den Kunden.
Wie kriege ich das in der App hin, dass eben die XML-Datei vom Server nur dann heruntergeladen wird, wenn diese tatsächlich aktueller ist, als die bereits heruntergeladene?
Ich habe das aktuell mit einem "Hashcode" versucht.
Sprich - beim Start lass ich mir den Hashcode der lokalen XML-Datei geben und ebenfalls den Hashcode der Datei vom Server - diese vergleiche ich und wenn ungleich, lade ich die vom Webserver herunter.
Leider sind die Hashcodes immer unterschiedlich.
Kann es sein das:
anders vorgeht als:
?
Hier gehe ich die Configdateien auf dem Webserver durch und bei der richtigen, bilde ich den Hashcode und überprüfe diesen mit dem mitgegebenen der lokalen XML-Datei.
stehe gerade vor einem Problem.

In meiner App möchte ich eine bestimmte XML-Datei genau ein mal vom Webserver herunterladen. Besser gesagt: die aktuellste Version der XML-Datei möchte ich genau einmal herunterladen. Dieses "herunterladen" geschieht bei mir aktuell beim Start der App.
Das ist einfach ein übles Performanceproblem, wenn ich die XML Datei jedes mal erneut herunterladen muss.
Jedoch kann sich der Inhalt der XML-Datei auf dem Server ändern - aber unbestimmt, durch den Kunden.
Wie kriege ich das in der App hin, dass eben die XML-Datei vom Server nur dann heruntergeladen wird, wenn diese tatsächlich aktueller ist, als die bereits heruntergeladene?

Ich habe das aktuell mit einem "Hashcode" versucht.
Sprich - beim Start lass ich mir den Hashcode der lokalen XML-Datei geben und ebenfalls den Hashcode der Datei vom Server - diese vergleiche ich und wenn ungleich, lade ich die vom Webserver herunter.
Leider sind die Hashcodes immer unterschiedlich.

Kann es sein das:
Code:
int java.lang.[URL="https://www.android-hilfe.de/eclipse-javadoc:%E2%98%82=MobileKommune_Abschlussarbeit/D:%5C/Installierte%20Programme%5C/adt-bundle-windows-x86_64-20130219%5C/sdk%5C/platforms%5C/android-17%5C/android.jar%3Cjava.lang(Object.class%E2%98%83Object"]Object[/URL].hashCode()
Code:
int java.io.[URL="https://www.android-hilfe.de/eclipse-javadoc:%E2%98%82=MobileKommune_Abschlussarbeit/D:%5C/Installierte%20Programme%5C/adt-bundle-windows-x86_64-20130219%5C/sdk%5C/platforms%5C/android-17%5C/android.jar%3Cjava.io(File.class%E2%98%83File"]File[/URL].hashCode()
Hier gehe ich die Configdateien auf dem Webserver durch und bei der richtigen, bilde ich den Hashcode und überprüfe diesen mit dem mitgegebenen der lokalen XML-Datei.
Code:
for (int i = 0; i < length; i++) {
String name = ftpFiles[i].getName();
if (name.equals("config_level_1.xml")) {
Integer temp= ftpFiles[i].hashCode(); //temporär zur Anzeige im Debugger
if (temp== hashCodeAlteDatei) {
lErfolg = false; // nicht erneut herunterladen
} else {
lErfolg = true;
}
}
}