您的位置:首页 > 理论基础 > 计算机网络

Post方式请求网络数据

2016-05-14 11:50 435 查看
<span style="font-size:18px;">第一个活动界面
public class MainActivity extends Activity {
String key = "3ac9f31ff66b9746539472887b3799c3";
// 接口地址
String path = "http://web.juhe.cn:8080/constellation/getAll";
private EditText ed;
private TextView tv;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed = (EditText) findViewById(R.id.editText1);
tv = (TextView) findViewById(R.id.textView);
}

public void send(View v) {
// 获取输入框的内容
final String name = ed.getText().toString();
if (!TextUtils.isEmpty(name)) {
new Thread() {

@Override
public void run() {
httpPost(name);
}

}.start();
} else {
Toast.makeText(MainActivity.this, "请输入星座", 0).show();
}
}

public void httpPost(String name) {
HttpClient httpClient = new DefaultHttpClient();
// 通过post方式请求
HttpPost httpPost = new HttpPost(path);

List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("consName", name));
parameters.add(new BasicNameValuePair("type", "year"));
parameters.add(new BasicNameValuePair("key", key));
UrlEncodedFormEntity encodedFormEntity;
try {
// 设置实体内容和编码格式
encodedFormEntity = new UrlEncodedFormEntity(parameters, "utf-8");
// 设置实体,用于传递给服务器参数
httpPost.setEntity(encodedFormEntity);
// 请求网络
HttpResponse httpResponse = httpClient.execute(httpPost);
// 先得到状态行,从状态行里得到状态码
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 得到实体
HttpEntity entity = httpResponse.getEntity();
// 请求到的json
// entity.getContent();
final String string = EntityUtils.toString(entity);
Gson gson = new Gson();
gson.fromJson(string, Bean.class);
runOnUiThread(new Runnable() {

@Override
public void run() {
tv.setText(string);

}
});
}
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}

</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: