2012-06-26 16 views
7

Jestem nowy android.So I może ktoś sho mnie jak zrobić HTTP GET żądania takiego jakjak uczynić żądanie HTTP GET w Androidzie

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" 

Android (Java)?

+4

wierzę, że to da ci odpowiedzieć: http://stackoverflow.com/questions/3505930/make-in-http-request-with-android – DRAX

+0

Ale gdzie należy umieścić wszystkie parametry, takie jak oauth_consumer_key, etc ... –

+0

powinno to zacząć od złożenia przysięgi -> http://stackoverflow.com/questions/2150801/implementing-oauth-provider-in-java –

Odpowiedz

14

Będziesz chciał zapoznać się z InputStreams i OutputStreams w systemie Android, jeśli zrobiłeś to w zwykłej java, zanim to w zasadzie to samo. Musisz otworzyć połączenie z właściwością request jako "GET", następnie zapisz parametry do strumienia wyjściowego i odczytaj odpowiedź przez strumień wejściowy. Można to zobaczyć w moim kodu poniżej:

 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

Lub możesz użyć tego https://github.com/danielgindi/java-httprequest :-) –

+0

Po prostu nie zapomnij o wielu importach i dwóch deklaracjach zmiennych. –