Follow the steps below to use Restful in android.
Step1
Create an empty android project.
Step2
Internet permission required. write the code below in the AndroidManifest.xml file.
<uses-permission android:name="android.permission.INTERNET"> </uses-permission>
Step3
Requires RestFul URL that is running on another server or on the same machine.
Step4
Make a RestFul client that extends AsyncTask. See RestFulPost.java.
Step5
Create a DTO class for the RestFull request and response.
RestFulPost.java
package javaant.com.consuming_restful.restclient; import android.app.ProgressDialog; import android.content.Context; import android.os.AsyncTask; import android.util.Log; import com.google.gson.Gson; import org.apache.http.HttpResponse; import org.apache.http.client.methods.HttpPost; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.util.EntityUtils; import java.util.Map; import javaant.com.consuming_restful.util.Util; public class RestFulPost extends AsyncTask<map, void,="" string=""> { RestFulResult restFulResult = null; ProgressDialog Asycdialog; String msg; String task; public RestFulPost(RestFulResult restFulResult, Context context, String msg,String task) { this.restFulResult = restFulResult; this.task=task; this.msg = msg; Asycdialog = new ProgressDialog(context); } @Override protected String doInBackground(Map... params) { String responseStr = null; Object dataMap = null; HttpPost httpost = new HttpPost(params[0].get("url").toString()); try { dataMap = (Object) params[0].get("data"); Gson gson = new Gson(); Log.d("data map", "data map------" + gson.toJson(dataMap)); httpost.setEntity(new StringEntity(gson.toJson(dataMap))); httpost.setHeader("Accept", "application/json"); httpost.setHeader("Content-type", "application/json"); DefaultHttpClient httpclient= Util.getClient(); HttpResponse response = httpclient.execute(httpost); int statusCode = response.getStatusLine().getStatusCode(); Log.d("resonse code", "----------------" + statusCode); if (statusCode == 200) responseStr = EntityUtils.toString(response.getEntity()); if (statusCode == 404) { responseStr = "{\n" + "\"status\":\"fail\",\n" + " \"data\":{\n" + "\"ValidUser\":\"Service not available\",\n" + "\"code\":\"404\"\n" + "}\n" + "}"; } } catch (Exception e) { e.printStackTrace(); } return responseStr; } @Override protected void onPreExecute() { Asycdialog.setMessage(msg);
For more information and full code, visit http://javaant.com/consume-a-restful-webservice-in-android/#.VwzbipN96Hs
Nirmal Dhara Apr 12 '16 at 11:37 2016-04-12 11:37
source share