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

android 使用Http的POST方式读取网络数据

2016-05-10 11:38 701 查看
Post方式需要向网络传输一部分数据,同时具有输入流和输出流。

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//异步加载
new AsyncTask<String,Void,Void>(){

@Override
protected Void doInBackground(String... strings) {
try {
URL url=new URL(strings[0]);
HttpURLConnection connection=(HttpURLConnection)url.openConnection();//获取互联网连接
connection.setDoOutput(true);
connection.setDoInput(true);
connection.setRequestMethod("POST");//设置请求方式

OutputStreamWriter osw=new OutputStreamWriter(connection.getOutputStream(),"utf-8");//输出流
BufferedWriter bw=new BufferedWriter(osw);//通过BufferedWriter可以写入字符串
bw.write("keyfrom=testdemoHttpGet&key=660196743&type=data&doctype=xml&version=1.1&q=good");
bw.flush();//强制输出

InputStream is=connection.getInputStream();//获取输入流
InputStreamReader isr=new InputStreamReader(is,"utf-8");//字节转字符,字符集是utf-8
BufferedReader bufferedReader=new BufferedReader(isr);//通过BufferedReader可以读取一行字符串
String line;
while ((line=bufferedReader.readLine())!=null){
Log.i("输出:",""+line);
}
bufferedReader.close();
isr.close();
is.close();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
//使用api的数据接口
}.execute(" http://fanyi.youdao.com/openapi.do ");
}
});

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