Android项目通过URL访问WEB服务器
获得WEB服务器发送的相关数据
在Android项目中间使用
打开Android项目使用手机网络的权限
设置Android项目明码获得数据
为了数据安全,Google在新的Android版本要求不能用明码和WEB服务器传递数据,需要对数据加密
否则会提示以下错误
ClearText http traffic to ... not permitted
写新线程连接网络
由于连接网络需要消耗时间,在新的Android程序中间,不能在主线程中间连接网络
需要写新的线程连接网络,例如通过AsyncTask线程连接网络
继承AsyncTask类重写doInBackground方法
代码:
package com.wanmait.test; import android.app.NotificationManager; import android.content.Intent; import android.net.Uri; import android.os.AsyncTask; import android.provider.Settings; import android.widget.TextView; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class WebpageTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... urlStrings) { HttpURLConnection connection = null; BufferedReader reader = null; StringBuilder response = new StringBuilder(); try { URL url = new URL(urlStrings[0]); connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("GET"); connection.connect(); int code = connection.getResponseCode(); InputStream inputStream = connection.getInputStream(); reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { response.append(line); } return response.toString(); } catch (Exception e) { e.printStackTrace(); } finally { if (connection != null) { connection.disconnect(); } if (reader != null) { try { reader.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
启动线程,访问WEB服务器
0条评论
点击登录参与评论