package com.applite.httpclientpost;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
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.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;
import com.applite.httpclientget.R;
import android.R.string;
import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private EditText et;
private TextView tv;
private HttpClient client;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
client=new DefaultHttpClient();
et = (EditText)findViewById(R.id.editText1);
tv = (TextView)findViewById(R.id.tv);
findViewById(R.id.btnHttpClientGet).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//android中 10.0.0.2可以访问到localhost
//readNet("http://182.92.167.82:5001/api",et.getText().toString());
readNet("http://fanyi.youdao.com/openapi.do",et.getText().toString());
}
});
}
private void readNet(String url,String in)
{
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
String url=params[0];
HttpPost post=new HttpPost(url);
try {
//StringEntity entity=new StringEntity(params[1]);
//post.setEntity(entity);
List<BasicNameValuePair> list=new ArrayList<BasicNameValuePair>();
//keyfrom=applite&key=793234865&type=data&doctype=json&version=1.1&q=good
list.add(new BasicNameValuePair("keyfrom", "applite"));
list.add(new BasicNameValuePair("key", "793234865"));
list.add(new BasicNameValuePair("type", "data"));
list.add(new BasicNameValuePair("doctype", "json"));
list.add(new BasicNameValuePair("version", "1.1"));
list.add(new BasicNameValuePair("q", "sex"));
//格式化为
post.setEntity(new UrlEncodedFormEntity(list));
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
try {
HttpResponse response = client.execute(post);
String value= EntityUtils.toString(response.getEntity());
System.out.println(value);
return value;
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
//super.onPostExecute(result);
System.out.println(result);
tv.setText(result);
}
}.execute(url);
}
}