Possible Duplicate:
passing parameters to url in android
I have passed parameter to url in android.How can I know whether the value I have passed is sent to the url.Below is my java code
package com.xib;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringWriter;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
public class TestHttpPost extends Activity {
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
postData();
}
public void postData() {
Log.d("hi", "value of array is ");
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://services.mascus.com/api/mascusapi.asmx?op=OpenSession");
try
{
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("username", "xib"));
nameValuePairs.add(new BasicNameValuePair("password", "efi99LKW"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
Log.d("hi", "value of array is ");
HttpResponse response = httpclient.execute(httppost);
Log.e("hi", "value of array is ->"+convertStreamToString(response.getEntity().getContent()));
}
catch (ClientProtocolException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
public String convertStreamToString(InputStream is)
throws IOException {
/*
* To convert the InputStream to String we use the
* Reader.read(char[] buffer) method. We iterate until the
* Reader return -1 which means there's no more data to
* read. We use the StringWriter class to produce the string.
*/
if (is != null)
{
Writer writer = new StringWriter();
char[] buffer = new char[1024];
try {
Reader reader = new BufferedReader(new InputStreamReader(is, "UTF-8开发者_如何学Go"));
int n;
while ((n = reader.read(buffer)) != -1) {
writer.write(buffer, 0, n);
}
} finally {
is.close();
}
return writer.toString();
} else {
return "";
}
}
}
Can anyone help me Thanks in advance Tushar
Just add this line
String data = EntityUtils.toString(response.getEntity());
System.out.println("Data..."+data);
after this line..
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
and check log.... u will get response from server..
String link_push ="Your link"
DefaultHttpClient hc_push=new DefaultHttpClient();
ResponseHandler <String> res_push=new BasicResponseHandler();
HttpPost postMethod_push=new HttpPost(link_push);
List<NameValuePair> nameValuePairs_push= new ArrayList<NameValuePair>(3);
nameValuePairs_push.add(newBasicNameValuePair("city_id","0000")));
nameValuePairs_push.add(new BasicNameValuePair("user_id","value"));
postMethod_push.setEntity(new UrlEncodedFormEntity(nameValuePairs_push));
String response_push=hc_push.execute(postMethod_push,res_push);
Log.v("Response for Push Notification",""+response_push);
In these respones_push you will get the response from the server.. try this..
精彩评论