1、7.1 基于TCP的Socket通信7.2 使用URL访问网络7.3 使用HTTP访问网络7.4 使用WebView显示网页7.5 小结1.Socket通信模型2.使用ServerSocket和Socket1.Socket通信模型(客户端与服务端)2.Socket通信模型1.ServerSocket创建服务器端2.Socket创建客户端2.服务端读取文件ServerSocket serverSocket = new ServerSocket(30000);OutputStream outputStream = socket.getOutputStream();InputStream input
2、Stream = new FileInputStream(C:/tcp.txt);outputStream.write(data, 0, i);outputStream.close();socket.close();3.客户端接收数据(1)开启线程获取(2) Socket socket = new Socket(192.168.1.222,30000);(3) BufferedReader bufReader = new BufferedReader(new InputStreamReader(socket.getInputStream(),UTF-8);(4) bufReader.close
3、();(5)Start Thread(6)添加网络权限4.客户端数据传送(1)启动服务端(2) 客户端监听端口(3)进行端口映射1.使用URL读取网络资源2.使用URLConnection读取网络资源部署测试服务器1.指定图片资源URL2.openStream()获取图片资源3.显示图片4.添加权限添加权限:网络操作:URL url = new URL(strWebSite);/ Step 2:从url中读取数据放入到InputSteam类对象is中InputStream is = url.openStream();/利用decodeStream方法将is正常解码为Bitmap对象mBitma
4、pBitmap mBitmap = BitmapFactory.decodeStream(is);imgV.setImageBitmap(mBitmap);1.指定测试网网站URL2.创建URLConnection对象3.获取网页源码4.显示获取数据5.添加权限网络操作:URL url = new URL(strWebSite);/使用openConnection()方法创建URLConnection对象URLConnection connection = url.openConnection();/使用InputStream获取网站主页数据InputStream is = connectio
5、n.getInputStream();tringBuffer sb = new StringBuffer();sb.append(str);1.使用HttpURLConnection2.使用Apache的HttpClientURLConnection方法:1) Int getResponseCode():获取服务器的响应代码。2) String getResponseMessage():获取服务器的响应消息。3) String getRequestMethod():获取发送请求的方法。4) void setRequestMethod(String method):URLConnection方法
6、:1) Int getResponseCode():获取服务器的响应代码。2) String getResponseMessage():获取服务器的响应消息。3) String getRequestMethod():获取发送请求的方法。4) void setRequestMethod(String method):URLConnection访问网络方式:1) GET2) POST1) GETGET方法:imgUrlGet = new URL(strWebSiteGet);HttpURLConnection urlConnGet = (HttpURLConnection) imgUrlGet.o
7、penConnection();/允许输入流,即可以下载资源urlConnGet.setDoInput(true);/使用connect()方法建立连接urlConnGet.connect();/使用InputStream()获取数据并转成字符存在in中InputStreamReader in=new InputStreamReader(urlConnGet.getInputStream();/将InputSteamReader对象放在字符流bufReaderGet中BufferedReader bufReaderGet = new BufferedReader(in); 1) POSTPOS
8、T方法:urlConnPost.setRequestMethod(POST);/Post请求不能使用缓存urlConnPost.setUseCaches(false);/设置其自动执行重定向urlConnPost.setInstanceFollowRedirects(true);/完成上述设置,调用connect()方法进行连接urlConnPost.connect();/创建DataOutputStream对象out用于写数据 DataOutputStream out = new DataOutputStream(urlConnPost.getOutputStream();out.write
9、Bytes(content);1.创建HttpGet或HttpPost2.实例化HttpClient3.发送HttpGet或HttpPost请求4.getEntity返回响应信息5.添加权限获取数据方式:1.GET2.POST1.GET/创建HttpGet对象,并使用指定网址实例化这一对象HttpGet httpRequest = new HttpGet(strWebSiteGet);/使用DefaultHttpClient()类创建httpclient对象HttpClient httpclient = new DefaultHttpClient(); /调用execute方法发送HTTP G
10、et请求HttpResponse httpResponse = httpclient.execute(httpRequest); 2.POST/使用DefaultHttpClient()类创建httpclient对象HttpClient httpclient = new DefaultHttpClient(); /发送HTTP post请求HttpResponse httpResponse = httpclient.execute(httpRequest); 1.使用WebView浏览网站2.使用WebView加载HTML代码WebView方法介绍:1. public void loadUrl
11、(String url)2. public void loadData(String data,String mimeType,String encoding)3. public void loadDataWithBaseURL(String baseUrl,String data,String mimeType,String encoding, String historyUrl)1.输入测试网站地址2.监听事件3.添加权限4.加载网页加载网页:/指定网址strUrl为测试网站主页strUrl=http:/192.168.1.222:8088/test/index.html;/载入测试网站主
12、页wvShowUrl.loadUrl(strUrl);1.创建strBuilder2.写入HTML代码3.显示HTML代码4加载WebView向strBuilder写入HTML代码:strBuilderDefault=new StringBuilder();strBuilderDefault.append();strBuilderDefault.append(案例的实现思路);strBuilderDefault.append(Step 1:创建strBuilder对象并向其中写入HTML代码;);strBuilderDefault.append(Step 2:将HTML代码显示在TextView上;);strBuilderDefault.append(Step 3:将对应的HTML代码显示在WebView上;);加载网页:webViewHttp.loadDataWithBaseURL(null,strBuilderDefault.toString(), text/html, utf-8, null);1.Socket2.网络访问3.WebView的使用Thank you!