Androud中的Http通信之WebView
来源:互联网 发布:mac mini怎么接显示器 编辑:程序博客网 时间:2024/06/05 10:57
AndroidMenifest.xml添加权限
<uses-permission android:name="android.permission.INTERNET"/>
布局添加WebView
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.lune.http_01.MainActivity"> <WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent"> </WebView></LinearLayout>
import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.webkit.WebView;import com.lune.thread.HttpThread;public class MainActivity extends Activity { private WebView webView; private Handler handler = new Handler(); //通过http访问百度网址信息 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); webView = (WebView)findViewById(R.id.webView); new HttpThread("http://www.baidu.com",webView,handler).start(); }}
其中的HttpThread为自己定义的一个线程
import android.os.Handler;import android.webkit.WebView;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;public class HttpThread extends Thread{ //网络的访问是一个耗时的操作,因此在线程中进行 private String url; private WebView webView; Handler handler; //子线程中更新url public HttpThread(String url,WebView webView,Handler handler){ this.url = url; this.webView = webView; this.handler = handler; } @Override public void run() { try { URL httpUrl = new URL(url); //统一资源定位符对象 try { HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); //通过conn设置连接参数 conn.setReadTimeout(5000); //设置读取超时时间 conn.setRequestMethod("GET"); //设置请求方式 final StringBuffer sb = new StringBuffer(); String str; //网页回传的页面信息通过reader读取 BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream())); while((str=reader.readLine())!=null){ sb.append(str); } handler.post(new Runnable() { @Override public void run() { webView.loadData(sb.toString(),"text/html;charset=utf-8",null); } }); } catch (IOException e) { e.printStackTrace(); } } catch (MalformedURLException e) { e.printStackTrace(); } }}
0 0
- Androud中的Http通信之WebView
- Hybrid优化之两个WebView中的H5通信
- Android中的Http通信(一)之Http协议基本知识
- Android中的Http通信(一)之Http协议基本知识
- unity3d中的http通信
- unity3d中的http通信
- unity3d中的http通信
- unity3d中的http通信
- unity3d中的http通信
- unity3d中的http通信
- unity中的http通信
- Unity3D中的http通信
- unity3d中的http通信
- Android中的Http通信
- Android中的Http通信
- Android中的Http通信
- Android中的http通信
- Java中的HTTP通信
- java遍历二叉树组
- POJ2524:Ubiquitous Religions
- 重载小结
- Java提高篇之TreeMap
- 处于不同栈Activity之间的启动与数据传递
- Androud中的Http通信之WebView
- TCP的流量控制和拥塞控制
- POJ 1006
- opencv中Mat的赋值和访问(一)
- 学习日记20160913
- 是否可以从一个static方法内部发出对非static方法的调用?
- python 包安装
- SQL锁表语句
- 深度学习基础知识整理-