Android中的网络技术是基于HTTP的访问方法,类似QQ,微信,微博等等这些软件,都使用了大量的通信方法,这已经是Android应用必不可少的内容

WebView

这个控件可以在Android应用中替代浏览器来显示网页,具体使用方法如下

获取WebView对象

获取WebSettings对象

启用JavaScript

将页面WebView中

载入网页

publicclassMainActivityextendsAppCompatActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);WebViewwebView=(WebView)findViewById(R.id.webView);WebSettingsws=webView.getSettings();ws.setJavaScriptEnabled(true);webView.setWebViewClient(newWebViewClient());webView.loadUrl("https://www.sina.com.cn");}}

HttpURLConection

WebView封装了HTTP客户端的所有操作,当需要直接获得服务器响应时,就可以使用HttpURLConection了

调用openConnection方法获得实例对象

设置HTTP请求方式

设置请求相关参数

处理返回结果

HttpURLConnectioncon=null;BufferedReaderreader=null;try{URLurl=newURL("http:www.baidu.com");con=(HttpURLConnection)url.openConnection();con.setRequestMethod("GET");Log.e("doUrlGet:",con.getContentLength()+"");if(true)return;InputStreamin=con.getInputStream();reader=newBufferedReader(newInputStreamReader(in));StringBuilderresult=newStringBuilder();Strings;s=reader.readLine();while(s!=null){result.append(s);s=reader.readLine();}

OkHttp

HttpURLConnection将服务器响应结果封装在InputStream中,需要通过代码将其读取,而OkHttp相比之下就简单许多

获得OkHttpClient对象

通过Request.Builder创建对象

调用execute方法执行请求

获得字符串形式返回结果

OkHttpClientokClient=newOkHttpClient();Request.Builderbuilder=newRequest.Builder();builder.url("http://www.baidu.com");Requestrequest=builder.build();Responseresponse=okClient.newCall(request).execute();Stringresult=response.body().string();