TXT File Integer einlesen und vergleichen

  • Antworten:4
Omex LU
  • Forum-Beiträge: 72

07.03.2013, 19:30:18 via Website

Hallo,

Ich möchte für meine App eine Update Funktion einbauen und zwar habe ich eine TXT File auf meinem Server
/version.txt diese ist gefüllt mit einem Integer 1

Nun will ich in meiner MainActivity diesen Ineger aus der version.txt auslesen und mit einem hardcoded string vergleichen, sollte die beiden nicht gleich sein soll sich der manuelle Downlaod wieder starten.

Hat einer ne Ahung wie ich das machen kann ?

Danke im voraus

Antworten
Timo D.
  • Forum-Beiträge: 182

07.03.2013, 19:33:45 via Website

Du erzeugst einen extra Thread, indem du eine Klasse von AsyncTask erben lässt. In dieser kannst du dann einfach mittels Java den Quellcode zeilenweise auslesen. Der Code ist recht simpel. Du musst halt nur die richtige URL angeben und prüfen, welcher String in der Zeile zurückgeliefert wird.

Sichern Sie Ihr Smartphone gegen Diebstahl und erhöhen Sie die Chance, es wiederzufinden. Jetzt neu: Guardian - Anti-Diebstahl Guardian - Anti-Diebstahl Pro https://play.google.com/store/apps/details?id=de.tapps.guardian.pro Guardian - Anti-Diebstahl Trial https://play.google.com/store/apps/details?id=de.tapps.guardian.free

Antworten
Omex LU
  • Forum-Beiträge: 72

07.03.2013, 19:35:43 via Website

Danke deiner antwort, gibs irgendwo ein beispiel ?

Danke im voraus

Antworten
Timo D.
  • Forum-Beiträge: 182

07.03.2013, 19:39:52 via Website

Etwas mehr Eigeninitiative wäre gut. :)
So in etwa:
1private class CheckForUpdates extends AsyncTask <String, Integer, String> {
2 private String update;
3
4 @Override
5 protected String doInBackground(String... arg0) {
6 new Thread(new Runnable() {
7 public void run() {
8 URL url = null;
9 try {
10 url = new URL(
11 "http://url.de/version.txt");
12 String readLine = null;
13 BufferedReader buffReader = new BufferedReader(
14 new InputStreamReader(url.openStream()));
15
16 while ((readLine = buffReader.readLine()) != null) {
17 update = readLine;
18
19 }
20 } catch (MalformedURLException me) {
21 me.printStackTrace();
22 } catch (IOException ioe) {
23 ioe.printStackTrace();
24 }
25 }
26 }).start();
27 return null;
28 }
29 }
Ich habe jetzt nicht mehr die geschweiften Klammern überprüft.

— geändert am 07.03.2013, 19:40:56

Sichern Sie Ihr Smartphone gegen Diebstahl und erhöhen Sie die Chance, es wiederzufinden. Jetzt neu: Guardian - Anti-Diebstahl Guardian - Anti-Diebstahl Pro https://play.google.com/store/apps/details?id=de.tapps.guardian.pro Guardian - Anti-Diebstahl Trial https://play.google.com/store/apps/details?id=de.tapps.guardian.free

Antworten
impjor
  • Forum-Beiträge: 1.793

07.03.2013, 21:26:09 via App

Warum erzeugst du einen <String, Integer, String>-AsyncTask?
Warum einen Thread in einem AsyncTask?
Verstehe deine Vorgehensweise nicht...

Gruß

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

Antworten