Ein sehr gutes Tutorial zum Thema HTTP Request (z.B. STring von PHP Seite laden) findest du hier
http://www.androidhive.info/20…oid-making-http-requests/
Ich finde die Tutorialreihe recht gut, das Sie immer ausgefeilter wird.
Momentan willst du nur einen String lesen, wenn du aber demnächst Daten zwischen APP und Server hin und her schieben willst, dann
findest du dort auch eine Erweiterung des HTTP Beispiels und bekommst erklärt wie man zB. POST/GET Request absetzt und die Rückantwort per JSON formatiert bzw. JSON in der App richtig verarbeitet.
Wie gesagt da lohnt sich ein Blick auf jeden Fall.
------------------------------------------------------------
Falls du gerade keine Lust auf viel Lesestoff hast, hier die QuicknDirty Variante .> http-> String (text steht am Ende in Page)
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URI;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
public class TestHttpGet {
public void executeHttpGet() throws Exception {
BufferedReader in = null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI("http://w3mentor.com/"));
HttpResponse response = client.execute(request);
in = new BufferedReader
(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer("");
String line = "";
String NL = System.getProperty("line.separator");
while ((line = in.readLine()) != null) {
sb.append(line + NL);
}
in.close();
String page = sb.toString();
System.out.println(page);
} finally {
if (in != null) {
try {
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Alles anzeigen
--------------------------------------------------------------------------------------------------
Wäre daher schön zu wissen, wie das jetzt genau Funktioniert, von einer
Klasse außerhalb der Activity die TextView anzusprechen?
-> heisses Eisen,
normalerweise machst du das innerhalb deiner Activity, weil du nie wissen kannst ob die Activity bereits/noch existiert .
in der oncreate Methode suchst du dir in deiner Activity per findbyView den entsprechenden Textview und speicherst Ihn in einer Variable.
-> dann rufst du deine ReadData routine auf (per Asynctask)(die kann extern in einer Klasse liegen und liefert Dir halt nur die Daten zurück -> kein Zugriff auf UI Elemente -> und diese Rückgabewerte baust du in deinen Textview ein.
-> und den Textview immer schön gegen Null testen, -> somit vermeidest du Nullpointerexceptions, falls die Activity schon wieder weg ist.
if (meintextview != Null){
mache schöne sachen
}