一、用WebView来显示一个网页
当然是先要通过findViewById来实例化WebView的对象webview,然后就是调用几个方法
webview.getSetting().setJavaScriptEnable(ture);//让webview支持javascript脚本,当然通过调用不同的方法可以支持一些其他的脚本
webview.setWebViewClient(new WebViewClient();//这段代码的作用是在网页中打开新的网页时,仍然在webview中显示
webview.loadUrl(“http://www.baidu.com”);//显而易见的,loadUrl()中传入的方法就是web要显示的网页了
这里还要申请权限,因为访问了网络。
<uses-permission andorid:name="android.permission.INTERNET" />
二、手动发送HTTP请求
1.使用 HttpURLConnection
主要有5个步骤
①.new 一个URL 传入要访问的网址 eg:URL url = new URL("https://www.baidu.com");
②.实例化HttpURLConnection
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
③.设置HTTP请求使用的方法,主要有"GET"和"POST"
connection.setRequestMethod("GET");
然后还可以进行一些自由定制,比如设置连接超时、读取超时的毫秒数.eg:
connection.setConnectTimeout(8000);//
connection.setReadTimeout(8000);
④.调用getInputStream()从服务器获取输入流
InputStream in = connection.getInputStream();
⑤关闭HTTP连接
connection.discount();
当要向服务器传送数据的时候,就使用"POST"
connection.setRequestMethod("POST");
DataOutputStream out = new DataOutputStream(connection.getOutputStream());
out.writeBytes("username=RuoXue&password=123456");//每条数据都以键值对应,数据和数据之间用'&'隔开
2.使用OkHttp
五个步骤:
①.在dependencies闭包中添加compile 'com.squareup.okhttp3:okhttp:3.4.1' //3.4.1是版本号
②.创建OkHttpClient的实例
OkHttpClient client = new OkHttpCilent();
③.创建Request对象
Request request = new Request.Bulider().build();
设置目标url地址:
Request request = new Request.Bulider().url("https://www.baidu.com").build();
④.获取服务器返回的数据
Response response = client.newCall(request).excute();
⑤.得到一个String的内容
String responseData = response.body().string();
要向服务器提交数据的话,也是用POST
先要构建出一个RequestBody对象用来存放待提交的数据
RequestBody requestBody = new FormBody.Builder().add("username","RuoXue").add("password","123456").build()
然后调用Request.Builder中的post方法
Request request=Request.Builder.url("https://www.baidu.com")
.post(requestBody).build();
后面就和"GET"一样了