2012-06-26 3 views
7

Ich bin neu in android.So kann ich ein sho mich, wie ein HTTP-Anforderung wiewie HTTP GET-Anforderung in Android machen

erhält machen
GET /photos?size=original&file=vacation.jpg HTTP/1.1 
Host: photos.example.net:80 
Authorization: OAuth realm="http://photos.example.net/photos", 
    oauth_consumer_key="dpf43f3p2l4k3l03", 
    oauth_token="nnch734d00sl2jdk", 
    oauth_nonce="kllo9940pd9333jh", 
    oauth_timestamp="1191242096", 
    oauth_signature_method="HMAC-SHA1", 
    oauth_version="1.0", 
    oauth_signature="tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D" 

in Android (Java)?

+4

Ich glaube, das Sie geben Antwort: http://stackoverflow.com/questions/3505930/make-in-http-request-with-android – DRAX

+0

Aber wo soll ich alle Parameter wie oauth_consumer_key, etc ... setzen –

+0

sollte dies Sie mit Eid beginnen -> http://stackoverflow.com/questions/2150801/implementing-oauth-provider-in-java –

Antwort

14

Sie werden sich mit InputStreams und OutputStreams in Android vertraut machen wollen, wenn Sie dies in regulärem Java gemacht haben, dann ist es im Wesentlichen das Gleiche. Sie müssen eine Verbindung mit der Anforderungseigenschaft als "GET" öffnen, dann schreiben Sie Ihre Parameter in den Ausgabestream und lesen die Antwort über einen Eingabestream. Sie können dies in meinem Code unten:

 try { 
     URL url = null; 
     String response = null; 
     String parameters = "param1=value1&param2=value2"; 
     url = new URL("http://www.somedomain.com/sendGetData.php"); 
     //create the connection 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setDoOutput(true); 
     connection.setRequestProperty("Content-Type", 
       "application/x-www-form-urlencoded"); 
     //set the request method to GET 
     connection.setRequestMethod("GET"); 
     //get the output stream from the connection you created 
     request = new OutputStreamWriter(connection.getOutputStream()); 
     //write your data to the ouputstream 
     request.write(parameters); 
     request.flush(); 
     request.close(); 
     String line = ""; 
     //create your inputsream 
     InputStreamReader isr = new InputStreamReader(
       connection.getInputStream()); 
     //read in the data from input stream, this can be done a variety of ways 
     BufferedReader reader = new BufferedReader(isr); 
     StringBuilder sb = new StringBuilder(); 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
     //get the string version of the response data 
     response = sb.toString(); 
     //do what you want with the data now 

     //always remember to close your input and output streams 
     isr.close(); 
     reader.close(); 
    } catch (IOException e) { 
     Log.e("HTTP GET:", e.toString()); 
    } 
+0

Oder Sie können diese verwenden https://github.com/danielgindi/java-httprequest :-) –

+0

Vergessen Sie einfach nicht viele Importe und zwei Variablen Deklarationen. –