Text.txt Datei auslesen vom FTP Server oder normale Browser Seite und zum String umwandeln???

  • Antworten:5
Michele
  • Forum-Beiträge: 1.525

04.04.2013, 04:12:14 via Website

Hallo.

Hätte da mal eine Interessante frage.
Wie kann ich eine .txt Datei auslesen vom FTP Server oder normale Browser Seite und zum String umwandeln?

Möchte einfach hier diese .txt Datei auslesen http://shellsapple.funpic.de/test.txt und als String umwandeln und weitergeben können.

Der Link ist ein Test FTP/WebSpace Server.
Da die Datei ja ohne Passwort usw öffnungsbar ist müsste das doch ohne FTP Methode gehen oder?



LG

Antworten
Michele
  • Forum-Beiträge: 1.525

04.04.2013, 17:44:48 via Website

Mhhh danke..

LG

Antworten
Michele
  • Forum-Beiträge: 1.525

04.04.2013, 20:38:54 via Website

Habe das nun so soweit gemacht.

1public class MainActivity extends Activity {
2
3 public TextView text;
4 public String inputLine;
5
6 @Override
7 protected void onCreate(Bundle savedInstanceState) {
8 super.onCreate(savedInstanceState);
9 setContentView(R.layout.activity_main);
10
11 text = (TextView) findViewById(R.id.textView1);
12
13 }
14
15 public class MeinAT extends AsyncTask<Void, Void, Void> {
16
17
18 @Override
19 protected Void doInBackground(Void... params) {
20
21
22 URL url = null;
23 try {
24 url = new URL("http://shellsapple.funpic.de/test.txt");
25 } catch (MalformedURLException e1) {
26 // TODO Auto-generated catch block
27 e1.printStackTrace();
28 }
29 BufferedReader in = null;
30 try {
31 in = new BufferedReader(
32 new InputStreamReader(url.openStream()));
33 } catch (IOException e) {
34 // TODO Auto-generated catch block
35 e.printStackTrace();
36 }
37
38 inputLine = null;
39 try {
40 while ((inputLine = in.readLine()) != null)
41 System.out.println(inputLine);
42 } catch (IOException e) {
43 // TODO Auto-generated catch block
44 e.printStackTrace();
45 }
46 try {
47 in.close();
48 } catch (IOException e) {
49 // TODO Auto-generated catch block
50 e.printStackTrace();
51 }
52 return null;
53 }
54
55 @Override
56 protected void onPostExecute(Void result) {
57
58
59 super.onPostExecute(result);
60 }
61 }
62}

Jetzt ist nur die frage wie und wo text.setText(); damit ich den Text bekommen von der Quelle.


LG

Antworten
impjor
  • Forum-Beiträge: 1.793

04.04.2013, 20:41:53 via Website

1. Du führst den AsyncTask nicht aus (MeinAT.execute)
2. Du gibst die Datei mit System.out.println aus, das musst du iwo speichern und dann ans TextView übergeben, indem du onUpdate überschreibst, und wenn du fertig bist im AsyncTask publishProcess aufrufst, damit ist dass dann THread-sicher.

Gruß

Liebe Grüße impjor.

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

Antworten
Michele
  • Forum-Beiträge: 1.525

04.04.2013, 20:50:11 via Website

Ich habe noch nieeeee mit AsyncTast gearbeitet.
Wusste nicht das ich sie noch Extra Starten muss.

Habe es nun hinbekommen. Ein Amerikaner hat mir geholfen bei dem rest.
Hat halt das gefehlt was du meintest und 1-2 sachen noch.


Danke dir für deine Hilfe.

EDIT: Noch eine kleine frage zum dazu Lernen.

Warum bei :

1private class DwonloadTask extends AsyncTask<String, Void, String>

<String,Void,String> ...Was sagt mir das. Reicht nicht auch <Void,Void,Void>?


LG

— geändert am 04.04.2013, 20:53:08

Antworten