android 使用Http的POST方式读取网络数据
16lz
2021-01-23
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学习(十) SQLite 基于SQLiteOpenHelper的操作方式
- Android学习(十) SQLite 基于SQL语句的操作方式
- android中得到颜色,图片资源的方式
- Android学习(十) SQLite 基于内置函数的操作方式
- Android 数据查询query函数参数解析
- Android向服务器提交数据(方式:get、post、AsyncHttpClient )
- Android开发_在Android Studio中搜索项目中出现过的字符串
- Android 登陆、提交数据或者加载数据时提示页面