下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】怎么在Android中利用WebView实现一个文件下载功能
这期内容当中在下将会给大家带来有关怎么在Android中利用WebView实现一个文件下载功能,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1.调用其它浏览器下载文件:这个很简单,我们只需为WebView设置setDownloadListener,然后重写DownloadListener的onDownloadStart,然后在里面写个Intent,然后startActivity对应的Activity即可!关键代码如下:wView.setDownloadListener(new
DownloadListener(){
@Override
public
void
onDownloadStart(String
url,
String
userAgent,
String
contentDisposition,
String
mimetype,
long
contentLength)
{
Log.e("HEHE","开始下载");
Uri
uri
=
Uri.parse(url);
Intent
intent
=
new
Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}
});如果你手机内存在多个浏览器的话,会打开一个对话框供你选择其中一个浏览器进行下载~2.自己写线程下载文件当然,你可能不想把下载文件放到默认路径下,或者想自己定义文件名等等,你都可以自己来写一个线程来下载文件,实现示例代码如下:核心代码:我们自己另外写一个下载的线程类:DownLoadThread.java/**
*
Created
by
Jay
on
2015/9/14
0014.
*/
public
class
DownLoadThread
implements
Runnable
{
private
String
dlUrl;
public
DownLoadThread(String
dlUrl)
{
this.dlUrl
=
dlUrl;
}
@Override
public
void
run()
{
Log.e("HEHE",
"开始下载~~~~~");
InputStream
in
=
null;
FileOutputStream
fout
=
null;
try
{
URL
httpUrl
=
new
URL(dlUrl);
HttpURLConnection
conn
=
(HttpURLConnection)
httpUrl.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
in
=
conn.getInputStream();
File
downloadFile,
sdFile;
if
(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
Log.e("HEHE","SD卡可写");
downloadFile
=
Environment.getExternalStorageDirectory();
sdFile
=
new
File(downloadFile,
"csdn_client.apk");
fout
=
new
FileOutputStream(sdFile);
}else{
Log.e("HEHE","SD卡不存在或者不可读写");
}
byte[]
buffer
=
new
byte[1024];
int
len;
while
((len
=
in.read(buffer))
!=
-1)
{
fout.write(buffer,
0,
len);
}
}
catch
(Exception
e)
{
e.printStackTrace();
}
finally
{
if
(in
!=
null)
{
try
{
in.close();
}
catch
(IOException
e)
{
e.printStackTrace();
}
}
if
(fout
!=
null)
{
try
{
fout.close();
}
catch
(IOException
e)
{
e.printStackTrace();
}
}
}
Log.e("HEHE",
"下载完毕~~~~");
}
}然后MainActivity.java中创建并启动该线程:wView.setDownloadListener(new
DownloadListener(){
@Override
public
void
onDownloadStart(String
url,
String
userAgent,
String
contentDisposition,
String
mimetype,
long
contentLength)
{
Log.e("HEHE","onDownloadStart被调用:下载链接:"
+
url);
new
Thread(new
DownLoadThread(url)).start();
}
});运行结果:我们打开SD卡可以看到,下载好的文件已经安安静静地躺在SD卡里了:注意事项:好的,另外,别忘了写SD卡的读写权限以及Internet访问网络的权限:<uses-permission
android:name="android.permission.INTERNET"/>
<!--
在SDCard中创建与删除文件权限
-->
<uses-permission
android:name="android.pe
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应用文写作条据市公开课一等奖省赛课微课金奖课件
- 高三化学总复习第8章水溶液中的离子平衡第24课时水的电离和溶液的酸碱性省公开课一等奖新名师获奖
- 中考化学总复习第6单元碳和碳的氧化物市赛课公开课一等奖省名师获奖课件
- 高考物理复习第6章碰撞动量守恒定律第1节动量动量定理动量守恒定律市赛课公开课一等奖省名师获奖P
- 森林防火主题班会教学省公开课一等奖全国示范课微课金奖课件
- 高中数学第一章常用逻辑用语1.2.1-2充分条件与必要条件7省公开课一等奖新名师获奖课件
- Unit1SectionB市公开课一等奖省赛课微课金奖课件
- 最正式的借款合同书
- 中考英语作文突破指导省公开课一等奖全国示范课微课金奖课件
- 为了每一天读后感市公开课一等奖省赛课微课金奖课件
- 项目七 信息素养与社会责任
- 2023年-2024年电子物证专业考试复习题库(含答案)
- 2023年初级电镀工考试题库(浓缩500题)
- 大气污染控制工程 第四版
- GB/T 43026-2023公共安全视频监控联网信息安全测试规范
- 中国仕女画和外国人物画的异同
- 介绍云南的课件PPT
- 网约车挂靠协议
- 圆锥曲线图表总结
- 2023粤教版(2023)科学一年级上册教学计划
- 公司档案管理表格
评论
0/150
提交评论