快速集成二维码
http://blog.youkuaiyun.com/qq_23547831/article/details/52037710
1、 添加依赖库 或直接导入库
compile 'cn.yipianfengye.android:zxing-library:1.5'
2、 拷贝demo中对应代码
3、 根据自己的需求,对扫描结果做操作
关于EventBus无法在两个Activity之间使用的解决方法
http://blog.youkuaiyun.com/u010911576/article/details/48462861
Android中的文件下载DownLoadManager
http://www.apkbus.com/blog-830047-61318.html
http://www.jb51.net/article/83227.htm
一、问题概述 |
在android开发中,经常会使用到文件下载的功能,比如app版本更新等。在api level 9之后,android系统为我们提供了DownLoadManager类,这是android提供的系统服务,我们通过这个服务完成文件下载。整个下载过程全部交给系统负责,不需要我们过多的处理。支持断点续传。
DownLoadManager包含两个内部类:
DownLoadManager.Query:主要用于查询下载信息。
DownLoadManager.Request:主要用于发起一个下载请求。
二、功能实现API
DownLoadManager.Request类:
构造对象时需要传入下载文件的地址
DownloadManager.Request request = new DownloadManager.Request(Uri.parse(下载地址));
request设置一些属性:
addRequestHeader(String header,String value):添加网络下载请求的http头信息
allowScanningByMediaScanner():用于设置是否允许本 MediaScanner扫描。
setAllowedNetworkTypes(int flags):设置用于下载时的网络类型,默认任何网络都可以下载,提供的网络常量有:NETWORK_BLUETOOTH、NETWORK_MOBILE、NETWORK_WIFI。
setAllowedOverRoaming(Boolean allowed):用于设置漫游状态下是否可以下载
setNotificationVisibility(int visibility):用于设置下载时时候在状态栏显示通知信息
setTitle(CharSequence):设置Notification的 title信息
setDescription(CharSequence):设置Notification的message信息
setDestinationInExternalFilesDir、setDestinationInExternalPublicDir、 setDestinationUri等方法用于设置下载文件的存放路径,注意如果将下载文件存放在默认路径,那么在空间不足的情况下系统会将文件删除,所 以使用上述方法设置文件存放目录是十分必要的。
setMimeType(String mimeType) //设置mime类型,这里看服务器配置,一般国家化的都为utf-8编码。
setShowRunningNotification(boolean show) //是否显示下载进度的提示
setVisibleInDownloadsUi(boolean isVisible) //设置下载管理类在处理过程中的界面是否显示
DownManager.Query类
setFilterById(long... ids):根据任务编号查询下载任务信息
setFilterByStatus(int flags):根据下载状态查询下载任务
使用步骤:
1: //创建一个Request请求对象
DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://gdown.baidu.com/data/wisegame/55dc62995fe9ba82/jinritoutiao_448.apk"));
2;设置参数
//设置在什么网络情况下进行下载
request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI);
//设置通知栏标题是否显示
request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE);
request.setTitle("下载");
request.setDescription("今日头条正在下载");
//设置是否允许漫游状态下载
request.setAllowedOverRoaming(false);
//设置文件存放目录
request.setDestinationInExternalFilesDir(this, Environment.getExternalStorageDirectory().getAbsolutePath(), "mydown.apk");
3:启动下载
//取得系统服务后
DownloadManager downManager = (DownloadManager)getSystemService(Context.DOWNLOAD_SERVICE);
//调用downloadmanager对象的enqueue方法进行下载 返回下载 编号
long id = downManager.enqueue(request);