Dans mon programme, j'utilise postmethod pour appeler les services Web. Mais le service Web est basé sur la méthode Get. Je ne sais pas comment écrire le code pour la méthode Get. S'il vous plaît dites-moi comment écrire le code pour Get méthode pour appeler les services web. Mon code est montré ci-dessous basé sur post method. RestClient arc = new RestClient ("http: ..............")Comment utiliser Get méthode pour appeler des services Web dans Android
; arc.AddParam ("recherche", msft);
Ici, je créé un objet à RESTClient et en ajoutant des paramètres en appelant AddParam method.The RESTClient classe est
AddSubRestClient public class {
private ArrayList <NameValuePair> params;
private ArrayList <NameValuePair> headers;
private InputStream instream;
private String url;
private int responseCode;
private String message;
private String response;
public String getResponse() {
return response;
}
public InputStream inResponse() {
return instream;
}
public String getErrorMessage() {
return message;
}
public int getResponseCode() {
return responseCode;
}
public AddSubRestClient(String url)
{
this.url = url;
params = new ArrayList<NameValuePair>();
headers = new ArrayList<NameValuePair>();
}
public void AddParam(String name, String value)
{
params.add(new BasicNameValuePair(name, value));
}
public void AddHeader(String name, String value)
{
headers.add(new BasicNameValuePair(name, value));
}
public void Execute() throws Exception
{
//Postmethod
HttpPost request = new HttpPost(url);
Log.e("in","rest client");
//add headers
for(NameValuePair h : headers)
{
request.addHeader(h.getName(), h.getValue());
}
if(!params.isEmpty()){
UrlEncodedFormEntity p_entity = new UrlEncodedFormEntity(params,HTTP.UTF_8);
request.setEntity(p_entity);
Log.e("params",params.toString());
Log.e("request",request.toString());
}
executeRequest(request, url);
}
public void executeRequest(HttpUriRequest request, String url)
{
HttpClient client = new DefaultHttpClient();
HttpResponse httpResponse;
try {
httpResponse = client.execute(request);
responseCode = httpResponse.getStatusLine().getStatusCode();
message = httpResponse.getStatusLine().getReasonPhrase();
HttpEntity entity = httpResponse.getEntity();
if (entity != null) {
intream = entity.getContent();
response = convertStreamToString(instream);
/Closing the input stream will trigger connection release
instream.close();
}
} catch (ClientProtocolException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
} catch (IOException e) {
client.getConnectionManager().shutdown();
e.printStackTrace();
}
}
private static String convertStreamToString(InputStream is) {
BufferedReader reader = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line = null;
try {
Log.e("in","try block");
line = reader.readLine();
Log.e("line",line);
if(line==null)
{
Log.e("Line","is null");
}
else{
Log.e("Line","is not null");
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
Log.e("line","close");
is.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return sb.toString();
}
}
donc s'il vous plaît me dire comment écrire le code pour obtenir la méthode à la place de la méthode de poste ou dites-moi la solution
Merci d'avance
S'il vous plaît voir ma question connexe: http://stackoverflow.com/questions/30092261/using-volley-library-inside-a-library –