网络技术

1.WebView

 借助WebView我们可以自己的控件里嵌入一个浏览器

//调用setJavaScriptEnabled()方法来让WebView支持JavaScript脚本。
webView.getSettings().setJavaScriptEnabled(true);
//跳转网页时,仍使用WebView
webView.setWebViewClient(new WebViewClient());
//传入网址
webView.loadUrl("http://www.baidu.com");

2.HttpURLConnection

 首先要获取HttpURLConnection的实例,需要一个URL对象,然后调用openConnection()方法即可。

URL url = new URL("http://www.baidu.com");
HttpURLConnection connection = (HttpURLConnection)url.openConnection();

 接下来设置HTTP请求所使用的方法GETPOST。之后设置一些例如连接超时、读取超时的毫秒数以及服务器希望得到的一些消息头等。

//GET方法
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);

//POST方法
connection.setRequestMethod("POST");
//获取输出流
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
//写入提交POST数据
out.writeBytes("username=admin&password=123456");

 之后再调用getInputStream()方法,获得服务器返回的输入流,对输入流进行读取。最后,关闭HTTP连接

InputStream in = connection.getInputStream();
connection.disconnect();

3.OkHttp

 在使用OkHttp之前,需要先在项目中添加依赖。之后来看一下OkHttp的具体用法。首先创建一个OkHttp的具体实例
 接下来如果想要发起一条HTTP请求(GET),就需要创建一个Request对象。如果发起一条POST请求需要先构建出一个RequestBody对象存放提交的参数,然后在Request.Builder中调用post()方法,并传入RequestBody对象。

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
                        .url("http://www.baidu.com")    
                        .build();

RequestBody requestBody = new FormBody.Builder()
                            .add("username", "admin")
                            .add("password", "123456")
                            .build();
Request request = new Request.Builder()
                        .url("http://www.baidu.com")
                        .post(requestBody)    
                        .build();

 之后调用OkHttpClient的newCall()方法来创建一个Call对象,并调用它的execute()方法来发送请求,并获取服务器返回的数据。其中Response对象就是服务器返回的对象

Response response = client.newCall(request).execute();
String responseData = response.body().string(); 

你可能感兴趣的:(网络技术)