try
{
url= new URL(ConstantsClass.VENDOR_FOLLOW + "?UID=" +android_id+"&URL='"+resultfinal+"'&device=android");
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestMethod("POST");
request = new OutputStreamWriter(connection.getOutputStream());
request.flush();
request.close();
request.write("Hello!!!");
String line = "";
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
BufferedReader reader = new BufferedReader(isr);
StringBuffer sb = new StringBuffer();
while((line=reader.readLine())!=null) {
sb.append(line + "&");
}
response = sb.toString();
//response.getEntity().getContent();
Log.i("Test","updated response: " + response);
}
catch (IOException e) {
e.printStackTrace();
}
Log.i("Test","**************url list********************" + url);
tag_text.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Intent in=new Intent(context,LinkWebView.class);
in.putExtra("vendorUrl",resultfinal);
context.startActivity(in);
//postData();
}
});
}
tag_text.setTextSize(16);
return view;
}
嗨,我是Android的新手,我试图将值从url传递到服务器,但我得到在服务器端传递的空值.更新响应为空.我的服务器端值不给我任何值.我需要从上面给出的url传递url,android_id和device.我也尝试了httpclient,但它也给了我null值.
最佳答案
你应该尝试下面的代码,它运行得很好.
// ADD YOUR REQUEST DATA HERE (you can pass number of variable).
ArrayList
现在建立你的网络连接
(1)将简单字符串发送到服务器
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("your url only ex:www.google.com/abc");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpParams httpParameters = new BasicHttpParams();
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
} catch (Exception e)
{
Log.e("Loading Runnable Error in http connection :",e.toString());
}
(2)将JSON编码字符串发送到服务器
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(),10000); //Timeout Limit
HttpResponse response;
JSONObject json = new JSONObject();
try {
HttpPost post = new HttpPost(URL);
json.put("user_name","chintan");
json.put("password","khetiya");
StringEntity se = new StringEntity( json.toString());
se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE,"application/json"));
post.setEntity(se);
response = client.execute(post);
/*Checking response */
if(response!=null){
is = response.getEntity().getContent(); //Get the data in the entity
}
} catch(Exception e) {
e.printStackTrace();
createDialog("Error","Cannot Estabilish Connection");
}
两种情况下的反应都相同
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
}
catch (Exception e)
{
Log.e("Loading Runnable Error converting result :",e.toString());
}
现在最终结果包含整个输出字符串,现在它取决于您将如何读取数据.使用json或者其他.我正在使用json,所以把它的示例代码可能对你有所帮助.
JSONObject json_data = new JSONObject(result);// its a string var which contain output.
my_output_one = json_data.getString("var_1"); // its your response var form web.
my_output_two = json_data.getString("var_2");
现在它结束了你有两个变量,它有任何价值,并使用任何.
现在这对你有帮助.如果您有任何疑问,请告诉我.