WebView的使用(一)
来源:互联网 发布:淘宝布料 编辑:程序博客网 时间:2024/05/17 22:50
自定义WebView的title
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" app:layout_behavior="@string/appbar_scrolling_view_behavior" tools:context="com.example.web_01.MainActivity" tools:showIn="@layout/activity_main"> <RelativeLayout android:id="@+id/web_title_layout" android:layout_width="match_parent" android:layout_height="50dp"> <Button android:id="@+id/back" android:layout_alignParentLeft="true" android:layout_width="wrap_content" android:layout_height="40dp" android:text="返回"/> <TextView android:id="@+id/title" android:layout_centerInParent="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:id="@+id/refresh" android:layout_alignParentRight="true" android:layout_width="wrap_content" android:layout_height="40dp" android:text="刷新"/> </RelativeLayout> <WebView android:layout_below="@id/web_title_layout" android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
MainActivity
public class MainActivity extends AppCompatActivity { private WebView webView; private Button back; private Button refresh; private TextView titleView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webView); // 默认调用系统浏览器打开网页 webView.loadUrl("http://www.baidu.com"); back = (Button) findViewById(R.id.back); refresh = (Button) findViewById(R.id.refresh); titleView = (TextView) findViewById(R.id.title); webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { titleView.setText(title); super.onReceivedTitle(view, title); } }); // 直接打开网页 而不是去调用系统的浏览器打开 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); refresh.setOnClickListener(new MyListener()); back.setOnClickListener(new MyListener()); } class MyListener implements View.OnClickListener { @Override public void onClick(View v) { switch (v.getId()) { case R.id.refresh: webView.reload(); break; case R.id.back: finish(); break; } } }}
用WebView下载文件
HttpThread.java
public class HttpThread extends Thread { private String mUrl; public HttpThread(String url) { this.mUrl = url; } @Override public void run() { try { System.out.println("start download"); URL httpUrl = new URL(mUrl); HttpURLConnection conn = (HttpURLConnection) httpUrl.openConnection(); conn.setDoInput(true);// conn.setDoOutput(true); conn.setRequestMethod("GET"); InputStream in = conn.getInputStream(); File downloadFile; File sdFile; FileOutputStream out = null; if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) { downloadFile = Environment.getExternalStorageDirectory(); sdFile = new File(downloadFile, "test.apk"); out = new FileOutputStream(sdFile); } byte[] b = new byte[6 * 1024]; int len; while ((len = in.read(b)) != -1) { if (out != null) { out.write(b, 0, len); } } if (out != null) { out.close(); } if (in != null) { in.close(); } System.out.println("download success"); } catch (IOException e) { e.printStackTrace(); } }}
MainActivity
public class MainActivity extends AppCompatActivity { private WebView webView; private Button back; private Button refresh; private TextView titleView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); webView = (WebView) findViewById(R.id.webView); // 默认调用系统浏览器打开网页// webView.loadUrl("http://www.baidu.com"); webView.loadUrl("http://apk.hiapk.com/"); back = (Button) findViewById(R.id.back); refresh = (Button) findViewById(R.id.refresh); titleView = (TextView) findViewById(R.id.title); webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, String title) { titleView.setText(title); super.onReceivedTitle(view, title); } }); // 直接打开网页 而不是去调用系统的浏览器打开 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return super.shouldOverrideUrlLoading(view, url); } }); webView.setDownloadListener(new MyDownload()); refresh.setOnClickListener(new MyListener()); back.setOnClickListener(new MyListener()); } class MyListener implements View.OnClickListener { @Override public void onClick(View v) { switch (v.getId()) { case R.id.refresh: webView.reload(); break; case R.id.back: finish(); break; } } } class MyDownload implements DownloadListener { @Override public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { System.out.println("url------------>" + url); if (url.endsWith(".apk")) { new HttpThread(url).start(); } } }}
0 0
- WebView的使用(一)
- Android WebView的使用(一)
- WebView的使用笔记(一)
- Android WebView的使用(一)
- webview使用的总结<一>
- webview使用总结(一)
- WebView简单使用(一)
- Xamarin WebView使用(一)
- 71 Androdi WebView 的简单使用(一)
- 一、Android的webview的简单使用
- Android webview控件(一) 使用webview开发浏览器实例
- android WebView(一)基本使用
- Android控件使用:WebView(一)
- Android WebView使用精解(一)
- iOS --webView简单使用(一)
- Android笔记(一):使用WebView
- Android WebView使用笔记(一)
- Android WebView使用(一)
- 结 构 和 类
- 购物车中数量增加与减少 根据数量改变总体价格 限制输入框输入其他非数字
- Java常用排序算法之堆排序
- iOS小技巧19-Xcode7增加空工程模板
- Android基于监听的事件处理
- WebView的使用(一)
- C#日记——强大的查询LINQ
- Android动画使用
- 一个关于装饰器(decorator)的题目
- CSS笔记二
- GetMessage函数
- scrollbars属性,MultiLine 属性
- 【SSH系列】Hibernate映射-- 多对一单向关联映射
- pt,px,rem和em之间区别总结