The request request is executed using HttpGet:
public static InputStream getInputStreamFromUrl(String url) { InputStream content = null; try { HttpClient httpclient = new DefaultHttpClient(); HttpResponse response = httpclient.execute(new HttpGet(url)); content = response.getEntity().getContent(); } catch (Exception e) { Log.("[GET REQUEST]", "Network exception", e); } return content; }
The POST request is executed using HttpPost:
public void postData() { // Create a new HttpClient and Post Header HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("id", "12345")); nameValuePairs.add(new BasicNameValuePair("stringdata", "AndDev is Cool!")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); } catch (ClientProtocolException e) { // TODO Auto-generated catch block } catch (IOException e) { // TODO Auto-generated catch block } }
I personally recommend trying Retrofit as follows
public interface YourUsersApi { //You can use rx.java for sophisticated composition of requests @GET("/users/{user}") public Observable<SomeUserModel> fetchUser(@Path("user") String user); //or you can just get your model if you use json api @GET("/users/{user}") public SomeUserModel fetchUser(@Path("user") String user); //or if there are some special cases you can process your response manually @GET("/users/{user}") public Response fetchUser(@Path("user") String user); }
source share