1、webview控件
WebView webView = findViewById(R.id.webview);
//让webview支持javascript脚本
webView.getSettings().setJavaScriptEnabled(true);
//目标网页在webview中显示
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.baidu.com");
2、HTTP协议访问网络
使用HTTPURLConnection
(1)获取实例,并且传入目标的网络地址,再调用一下openConnection方法即可
URL url = new URL("http://www.baidu.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
(2)设置HTTP请求所使用的方法,常用的有两个,GET和POST,GET希望从服务器那里获取数据,POST则表示希望提交数据给服务器
connection.setRequestMethod("GET");
(3)自由定制其他的内容,比如设置连接超时,读取超时的毫秒数
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
(4)调用getInputStream方法就可以获取到服务器返回的输入流了,并读取,最后调用discount方法将其关闭
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine())!=null){
response.append(line);
}
connection.disconnect();
3、okhttp的使用
//1.1创建一个OkHttpClient实例
OkHttpClient client = new OkHttpClient();
//1.2如果需要发送一个http的请求,就需要创建一个request对象
//1.3设置build方法可以连缀很多其他的方法
Request request = new Request.Builder()
.url("http://www.baidu.com")
.build();
//1.4调用newCall()方法来创建一个Call对象
// 1.5并调用他的execute()方法来发送请求并获取服务器返回的数据
Response response = client.newCall(request).execute();
//1.6返回的具体内容
String responseData = response.body().string();
//如果是POST请求,就需要先构建一个RequestBody对象来存放待提交的参数
RequestBody requestBody = new FormBody.Builder()
.add("username","admin")
.add("password","123456")
.build();
//调用post方法,将对象传入
Request request1 = new Request.Builder()
.url("http://www.baidu.com")
.post(requestBody)
.build();