我试图将我的知识增加到Android并尝试为我的个人需求编写一个小应用程序。 我试图通过HTTP Post方法在测试服务器上发布数据。 请求发送正常,但现在,我尝试显示响应,这是一个带有我的请求转储的HTML页面。 这是我的代码的摘录,它基本上是一些EditText字段,以及发送请求的按钮。 以下代码是该按钮的监听器。
validateButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://posttestserver.com/post.php?dump&html&dir=mydir&status_code=200");
try {
// Gathering data
String value01 = nb01Spinner.getSelectedItem().toString();
String value02 = nb02EditText.getText().toString();
String value03 = nb03EditText.getText().toString();
String value04 = nb04EditText.getText().toString();
// Add data to value pairs
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(04);
nameValuePairs.add(new BasicNameValuePair("test01", value01));
nameValuePairs.add(new BasicNameValuePair("test02", value02)); //
nameValuePairs.add(new BasicNameValuePair("test03", value03));
nameValuePairs.add(new BasicNameValuePair("test04", value04));
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
}
我不确定是否需要创建另一个Activity ...我想我也必须创建一个webview,但我有点迷失。现在,&#34; raw&#34; HTML会很好,但之后我需要解析数据,并只提取我需要的字符串。
所以我需要帮助(这是一个简单的例子!)
谢谢。
答案 0 :(得分:2)
String ret = EntityUtils.toString(response.getEntity());
也许这会有所帮助?
答案 1 :(得分:0)
非常简单的方法是采用textview采用按钮小部件的方式。以及你在textview中设置的响应。你将能够看到响应。否则使用Log在logcat中记录您的响应。
答案 2 :(得分:0)
我正在使用:
Log.d("log_response", response.getStatusLine().toString());
答案 3 :(得分:0)
这就是你得到Http响应的方式:
byte[] buffer = new byte[1024];
httpclient = new DefaultHttpClient();
httppost = new HttpPost("http://www.rpc.booom.com");
postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("params","1"));
//.......
httppost.setEntity(new UrlEncodedFormEntity(postParameters));
HttpResponse response = httpclient.execute(httppost);
Log.w("Response ","Status line : "+ response.getStatusLine().toString());
buffer = EntityUtils.toString(response.getEntity()).getBytes();