Android学习笔记(十四)
- WebView用法:
- 在XML文件中添加一个WebView控件.
- 在MainActivity中使用findViewById()方法获取WebView的实例
- 通过WebView的getSetting()的方法去设置一些浏览器属性,调用setJavaScriptEnabled()方法让WebView支持JavaScript脚本
- 调用WebView的setWebViewClient()方法,并传入了WebViewClient的匿名类作为参数,然后重写了shouldOverrideUrlLoading()方法。
- 调用WebView的loadUrl()方法
- 在AndroidManifest.xml文件中声明
<uses-permission android:name="android.permission.INTERNET"/>
- 使用HttpURLConnection
- 获取HttpURLConnection的实例:new出一个URL对象,并传入目标的网络地址,然后调用一个openConnection()方法。
- 设置HTTP请求所使用的方法:GET和POST,GET表示希望从服务器哪里获取数据,而POST则表示希望提交数据给服务器:
connection.setRequstMethod("GET")
- 进行一些定制,如连接超时、读取超时的毫秒数。
- 再调用getInputStream()方法就可以获取到服务器返回的数据流
- 最后可以调用disconnect()方法将HTTP连接关闭
- 使用HttpClient
- 创建一个DefaultHttpClient的实例:
HttpClient httpClient = new DefaultHttpClient()
- 如果要发起一条GET请求,就可以创建一个HttpGET对象,并传入目标的网络地址,然后调用HttpClient的execute()方法即可
- 如果要发起一条POST请求,我们需要创建一个HttpPost对象,并传入目标的网络地址,然后通过一个NameValuePair集合来存放待提交的参数,并将这个参数集合传入到一个UrlEncodedFormEntity中,然后调用HttpPost的setEntity()方法将构建好的UrlEncodedFormEntity传入,最后调用HttpClient的execute()方法
- 执行execute()方法之后会返回一个HttpResponse对象,先取出服务器返回的状态码,如果等于200就说明请求和响应都成功。
- 通过getEntity()方法获取到一个HttpEntitiy实例,然后EntityUtils.toString()这个静态方法将HttpEntity转换成字符串即可。如果返回的数据有中文,转换时将字符集指定为utf-8就可以了
- 创建一个DefaultHttpClient的实例: