代码格式化
This commit is contained in:
@ -40,7 +40,8 @@ javadoc {
|
|||||||
// 位置: 类 xxxx
|
// 位置: 类 xxxx
|
||||||
android.libraryVariants.all { variant ->
|
android.libraryVariants.all { variant ->
|
||||||
println variant.javaCompile.classpath.files
|
println variant.javaCompile.classpath.files
|
||||||
if (variant.name == 'release') { //我们只需 release 的 javadoc
|
if (variant.name == 'release') {
|
||||||
|
//我们只需 release 的 javadoc
|
||||||
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
|
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
|
||||||
// title = ''
|
// title = ''
|
||||||
// description = ''
|
// description = ''
|
||||||
@ -54,7 +55,8 @@ android.libraryVariants.all { variant ->
|
|||||||
exclude '**/BuildConfig.java'
|
exclude '**/BuildConfig.java'
|
||||||
exclude '**/R.java'
|
exclude '**/R.java'
|
||||||
}
|
}
|
||||||
task("javadoc${variant.name.capitalize()}Jar", type: Jar, dependsOn: "generate${variant.name.capitalize()}Javadoc") {
|
task("javadoc${variant.name.capitalize()}Jar", type: Jar,
|
||||||
|
dependsOn: "generate${variant.name.capitalize()}Javadoc") {
|
||||||
classifier = 'javadoc'
|
classifier = 'javadoc'
|
||||||
from tasks.getByName("generate${variant.name.capitalize()}Javadoc").destinationDir
|
from tasks.getByName("generate${variant.name.capitalize()}Javadoc").destinationDir
|
||||||
}
|
}
|
||||||
@ -91,13 +93,13 @@ def pomConfig = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
"dependencies " {
|
"dependencies " {
|
||||||
// dependency {
|
// dependency {
|
||||||
// groupId "com.alibaba"
|
// groupId "com.alibaba"
|
||||||
// artifactId "fastjson"
|
// artifactId "fastjson"
|
||||||
// "version " "1.2.6"
|
// "version " "1.2.6"
|
||||||
// //同dependencies
|
// //同dependencies
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,12 +24,12 @@ import java.util.concurrent.Executors;
|
|||||||
final class DownloadUtil implements IDownloadUtil {
|
final class DownloadUtil implements IDownloadUtil {
|
||||||
private static final String TAG = "DownloadUtil";
|
private static final String TAG = "DownloadUtil";
|
||||||
private static final Object LOCK = new Object();
|
private static final Object LOCK = new Object();
|
||||||
//下载监听
|
|
||||||
private IDownloadListener mListener;
|
|
||||||
/**
|
/**
|
||||||
* 线程数
|
* 线程数
|
||||||
*/
|
*/
|
||||||
private final int THREAD_NUM;
|
private final int THREAD_NUM;
|
||||||
|
//下载监听
|
||||||
|
private IDownloadListener mListener;
|
||||||
private int mConnectTimeOut = 5000 * 4; //连接超时时间
|
private int mConnectTimeOut = 5000 * 4; //连接超时时间
|
||||||
private int mReadTimeOut = 5000 * 20; //流读取的超时时间
|
private int mReadTimeOut = 5000 * 20; //流读取的超时时间
|
||||||
/**
|
/**
|
||||||
@ -314,6 +314,31 @@ final class DownloadUtil implements IDownloadUtil {
|
|||||||
"image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
|
"image/gif, image/jpeg, image/pjpeg, image/pjpeg, application/x-shockwave-flash, application/xaml+xml, application/vnd.ms-xpsdocument, application/x-ms-xbap, application/x-ms-application, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 子线程下载信息类
|
||||||
|
*/
|
||||||
|
private static class ConfigEntity {
|
||||||
|
//文件大小
|
||||||
|
long fileSize;
|
||||||
|
String downloadUrl;
|
||||||
|
int threadId;
|
||||||
|
long startLocation;
|
||||||
|
long endLocation;
|
||||||
|
File tempFile;
|
||||||
|
Context context;
|
||||||
|
|
||||||
|
private ConfigEntity(Context context, long fileSize, String downloadUrl, File file,
|
||||||
|
int threadId, long startLocation, long endLocation) {
|
||||||
|
this.fileSize = fileSize;
|
||||||
|
this.downloadUrl = downloadUrl;
|
||||||
|
this.tempFile = file;
|
||||||
|
this.threadId = threadId;
|
||||||
|
this.startLocation = startLocation;
|
||||||
|
this.endLocation = endLocation;
|
||||||
|
this.context = context;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 单个线程的下载任务
|
* 单个线程的下载任务
|
||||||
*/
|
*/
|
||||||
@ -490,29 +515,4 @@ final class DownloadUtil implements IDownloadUtil {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 子线程下载信息类
|
|
||||||
*/
|
|
||||||
private static class ConfigEntity {
|
|
||||||
//文件大小
|
|
||||||
long fileSize;
|
|
||||||
String downloadUrl;
|
|
||||||
int threadId;
|
|
||||||
long startLocation;
|
|
||||||
long endLocation;
|
|
||||||
File tempFile;
|
|
||||||
Context context;
|
|
||||||
|
|
||||||
private ConfigEntity(Context context, long fileSize, String downloadUrl, File file,
|
|
||||||
int threadId, long startLocation, long endLocation) {
|
|
||||||
this.fileSize = fileSize;
|
|
||||||
this.downloadUrl = downloadUrl;
|
|
||||||
this.tempFile = file;
|
|
||||||
this.threadId = threadId;
|
|
||||||
this.startLocation = startLocation;
|
|
||||||
this.endLocation = endLocation;
|
|
||||||
this.context = context;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -48,7 +48,15 @@ public class DownloadEntity extends DbEntity implements Parcelable {
|
|||||||
* 取消下载
|
* 取消下载
|
||||||
*/
|
*/
|
||||||
@Ignore public static final int STATE_CANCEL = 7;
|
@Ignore public static final int STATE_CANCEL = 7;
|
||||||
|
@Ignore public static final Creator<DownloadEntity> CREATOR = new Creator<DownloadEntity>() {
|
||||||
|
@Override public DownloadEntity createFromParcel(Parcel source) {
|
||||||
|
return new DownloadEntity(source);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public DownloadEntity[] newArray(int size) {
|
||||||
|
return new DownloadEntity[size];
|
||||||
|
}
|
||||||
|
};
|
||||||
@Ignore private long speed = 0; //下载速度
|
@Ignore private long speed = 0; //下载速度
|
||||||
private String downloadUrl = ""; //下载路径
|
private String downloadUrl = ""; //下载路径
|
||||||
private String downloadPath = ""; //保存路径
|
private String downloadPath = ""; //保存路径
|
||||||
@ -64,6 +72,21 @@ public class DownloadEntity extends DbEntity implements Parcelable {
|
|||||||
public DownloadEntity() {
|
public DownloadEntity() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected DownloadEntity(Parcel in) {
|
||||||
|
this.downloadUrl = in.readString();
|
||||||
|
this.downloadPath = in.readString();
|
||||||
|
this.fileName = in.readString();
|
||||||
|
this.str = in.readString();
|
||||||
|
this.completeTime = in.readLong();
|
||||||
|
this.fileSize = in.readLong();
|
||||||
|
this.state = in.readInt();
|
||||||
|
this.isDownloadComplete = in.readByte() != 0;
|
||||||
|
this.currentProgress = in.readLong();
|
||||||
|
this.failNum = in.readInt();
|
||||||
|
this.speed = in.readLong();
|
||||||
|
this.rowID = in.readInt();
|
||||||
|
}
|
||||||
|
|
||||||
public String getStr() {
|
public String getStr() {
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
@ -92,6 +115,10 @@ public class DownloadEntity extends DbEntity implements Parcelable {
|
|||||||
return downloadUrl;
|
return downloadUrl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDownloadUrl(String downloadUrl) {
|
||||||
|
this.downloadUrl = downloadUrl;
|
||||||
|
}
|
||||||
|
|
||||||
public long getCompleteTime() {
|
public long getCompleteTime() {
|
||||||
return completeTime;
|
return completeTime;
|
||||||
}
|
}
|
||||||
@ -100,10 +127,6 @@ public class DownloadEntity extends DbEntity implements Parcelable {
|
|||||||
this.completeTime = completeTime;
|
this.completeTime = completeTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setDownloadUrl(String downloadUrl) {
|
|
||||||
this.downloadUrl = downloadUrl;
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getDownloadPath() {
|
public String getDownloadPath() {
|
||||||
return downloadPath;
|
return downloadPath;
|
||||||
}
|
}
|
||||||
@ -187,29 +210,4 @@ public class DownloadEntity extends DbEntity implements Parcelable {
|
|||||||
dest.writeLong(this.speed);
|
dest.writeLong(this.speed);
|
||||||
dest.writeInt(this.rowID);
|
dest.writeInt(this.rowID);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected DownloadEntity(Parcel in) {
|
|
||||||
this.downloadUrl = in.readString();
|
|
||||||
this.downloadPath = in.readString();
|
|
||||||
this.fileName = in.readString();
|
|
||||||
this.str = in.readString();
|
|
||||||
this.completeTime = in.readLong();
|
|
||||||
this.fileSize = in.readLong();
|
|
||||||
this.state = in.readInt();
|
|
||||||
this.isDownloadComplete = in.readByte() != 0;
|
|
||||||
this.currentProgress = in.readLong();
|
|
||||||
this.failNum = in.readInt();
|
|
||||||
this.speed = in.readLong();
|
|
||||||
this.rowID = in.readInt();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Ignore public static final Creator<DownloadEntity> CREATOR = new Creator<DownloadEntity>() {
|
|
||||||
@Override public DownloadEntity createFromParcel(Parcel source) {
|
|
||||||
return new DownloadEntity(source);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public DownloadEntity[] newArray(int size) {
|
|
||||||
return new DownloadEntity[size];
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
}
|
@ -14,78 +14,64 @@ import java.util.List;
|
|||||||
* 下载管理器,通过命令的方式控制下载
|
* 下载管理器,通过命令的方式控制下载
|
||||||
*/
|
*/
|
||||||
public class DownloadManager {
|
public class DownloadManager {
|
||||||
private static final String TAG = "DownloadManager";
|
|
||||||
private static final Object LOCK = new Object();
|
|
||||||
private static volatile DownloadManager INSTANCE = null;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 预处理完成
|
* 预处理完成
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_PRE = "ACTION_PRE";
|
public static final String ACTION_PRE = "ACTION_PRE";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载开始前事件
|
* 下载开始前事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_POST_PRE = "ACTION_POST_PRE";
|
public static final String ACTION_POST_PRE = "ACTION_POST_PRE";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 开始下载事件
|
* 开始下载事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_START = "ACTION_START";
|
public static final String ACTION_START = "ACTION_START";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 恢复下载事件
|
* 恢复下载事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_RESUME = "ACTION_RESUME";
|
public static final String ACTION_RESUME = "ACTION_RESUME";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 正在下载事件
|
* 正在下载事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_RUNNING = "ACTION_RUNNING";
|
public static final String ACTION_RUNNING = "ACTION_RUNNING";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 停止下载事件
|
* 停止下载事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_STOP = "ACTION_STOP";
|
public static final String ACTION_STOP = "ACTION_STOP";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 取消下载事件
|
* 取消下载事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_CANCEL = "ACTION_CANCEL";
|
public static final String ACTION_CANCEL = "ACTION_CANCEL";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载完成事件
|
* 下载完成事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_COMPLETE = "ACTION_COMPLETE";
|
public static final String ACTION_COMPLETE = "ACTION_COMPLETE";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载失败事件
|
* 下载失败事件
|
||||||
*/
|
*/
|
||||||
public static final String ACTION_FAIL = "ACTION_FAIL";
|
public static final String ACTION_FAIL = "ACTION_FAIL";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载实体
|
* 下载实体
|
||||||
*/
|
*/
|
||||||
public static final String ENTITY = "DOWNLOAD_ENTITY";
|
public static final String ENTITY = "DOWNLOAD_ENTITY";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 位置
|
* 位置
|
||||||
*/
|
*/
|
||||||
public static final String CURRENT_LOCATION = "CURRENT_LOCATION";
|
public static final String CURRENT_LOCATION = "CURRENT_LOCATION";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 速度
|
* 速度
|
||||||
*/
|
*/
|
||||||
public static final String CURRENT_SPEED = "CURRENT_SPEED";
|
public static final String CURRENT_SPEED = "CURRENT_SPEED";
|
||||||
|
private static final String TAG = "DownloadManager";
|
||||||
|
private static final Object LOCK = new Object();
|
||||||
|
private static volatile DownloadManager INSTANCE = null;
|
||||||
private List<IDownloadCmd> mCommands = new ArrayList<>();
|
private List<IDownloadCmd> mCommands = new ArrayList<>();
|
||||||
|
private Context mContext;
|
||||||
|
|
||||||
private DownloadManager() {
|
private DownloadManager() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Context mContext;
|
|
||||||
|
|
||||||
private DownloadManager(Context context) {
|
private DownloadManager(Context context) {
|
||||||
mContext = context;
|
mContext = context;
|
||||||
DownloadTaskQueue.init(context);
|
DownloadTaskQueue.init(context);
|
||||||
|
@ -10,9 +10,6 @@ import com.arialyy.downloadutil.core.pool.ExecutePool;
|
|||||||
* 任务下载器,提供抽象的方法供具体的实现类操作
|
* 任务下载器,提供抽象的方法供具体的实现类操作
|
||||||
*/
|
*/
|
||||||
public class DownloadSchedulers implements IDownloadSchedulers {
|
public class DownloadSchedulers implements IDownloadSchedulers {
|
||||||
private static final String TAG = "DownloadSchedulers";
|
|
||||||
private static final Object LOCK = new Object();
|
|
||||||
private static volatile DownloadSchedulers INSTANCE = null;
|
|
||||||
/**
|
/**
|
||||||
* 任务开始
|
* 任务开始
|
||||||
*/
|
*/
|
||||||
@ -33,7 +30,9 @@ public class DownloadSchedulers implements IDownloadSchedulers {
|
|||||||
* 任务完成
|
* 任务完成
|
||||||
*/
|
*/
|
||||||
public static final int COMPLETE = 5;
|
public static final int COMPLETE = 5;
|
||||||
|
private static final String TAG = "DownloadSchedulers";
|
||||||
|
private static final Object LOCK = new Object();
|
||||||
|
private static volatile DownloadSchedulers INSTANCE = null;
|
||||||
/**
|
/**
|
||||||
* 下载失败次数
|
* 下载失败次数
|
||||||
*/
|
*/
|
||||||
@ -50,6 +49,10 @@ public class DownloadSchedulers implements IDownloadSchedulers {
|
|||||||
OnTargetListener mTargetListener;
|
OnTargetListener mTargetListener;
|
||||||
DownloadTaskQueue mQueue;
|
DownloadTaskQueue mQueue;
|
||||||
|
|
||||||
|
public DownloadSchedulers(DownloadTaskQueue downloadTaskQueue) {
|
||||||
|
mQueue = downloadTaskQueue;
|
||||||
|
}
|
||||||
|
|
||||||
public static DownloadSchedulers getInstance(DownloadTaskQueue queue) {
|
public static DownloadSchedulers getInstance(DownloadTaskQueue queue) {
|
||||||
if (INSTANCE == null) {
|
if (INSTANCE == null) {
|
||||||
synchronized (LOCK) {
|
synchronized (LOCK) {
|
||||||
@ -59,40 +62,6 @@ public class DownloadSchedulers implements IDownloadSchedulers {
|
|||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Target处理任务监听
|
|
||||||
*/
|
|
||||||
public interface OnTargetListener {
|
|
||||||
/**
|
|
||||||
* 任务开始
|
|
||||||
*/
|
|
||||||
public void onTaskStart(Task task);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务停止
|
|
||||||
*/
|
|
||||||
public void onTaskStop(Task task);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务取消
|
|
||||||
*/
|
|
||||||
public void onTaskCancel(Task task);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务下载失败
|
|
||||||
*/
|
|
||||||
public void onTaskFail(Task task);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 任务完成
|
|
||||||
*/
|
|
||||||
public void onTaskComplete(Task task);
|
|
||||||
}
|
|
||||||
|
|
||||||
public DownloadSchedulers(DownloadTaskQueue downloadTaskQueue) {
|
|
||||||
mQueue = downloadTaskQueue;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean handleMessage(Message msg) {
|
@Override public boolean handleMessage(Message msg) {
|
||||||
DownloadEntity entity = (DownloadEntity) msg.obj;
|
DownloadEntity entity = (DownloadEntity) msg.obj;
|
||||||
if (entity == null) {
|
if (entity == null) {
|
||||||
@ -193,4 +162,34 @@ public class DownloadSchedulers implements IDownloadSchedulers {
|
|||||||
public void setTimeOut(long timeOut) {
|
public void setTimeOut(long timeOut) {
|
||||||
this.mTimeOut = timeOut;
|
this.mTimeOut = timeOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Target处理任务监听
|
||||||
|
*/
|
||||||
|
public interface OnTargetListener {
|
||||||
|
/**
|
||||||
|
* 任务开始
|
||||||
|
*/
|
||||||
|
public void onTaskStart(Task task);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务停止
|
||||||
|
*/
|
||||||
|
public void onTaskStop(Task task);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务取消
|
||||||
|
*/
|
||||||
|
public void onTaskCancel(Task task);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务下载失败
|
||||||
|
*/
|
||||||
|
public void onTaskFail(Task task);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 任务完成
|
||||||
|
*/
|
||||||
|
public void onTaskComplete(Task task);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,6 +20,14 @@ public class DownloadTaskQueue implements ITaskQueue, IDownloader {
|
|||||||
private ExecutePool mExecutePool = ExecutePool.getInstance();
|
private ExecutePool mExecutePool = ExecutePool.getInstance();
|
||||||
private Context mContext;
|
private Context mContext;
|
||||||
|
|
||||||
|
private DownloadTaskQueue() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private DownloadTaskQueue(Context context) {
|
||||||
|
super();
|
||||||
|
mContext = context;
|
||||||
|
}
|
||||||
|
|
||||||
public static DownloadTaskQueue getInstance() {
|
public static DownloadTaskQueue getInstance() {
|
||||||
if (INSTANCE == null) {
|
if (INSTANCE == null) {
|
||||||
throw new NullPointerException("请在Application中调用init进行注册");
|
throw new NullPointerException("请在Application中调用init进行注册");
|
||||||
@ -36,14 +44,6 @@ public class DownloadTaskQueue implements ITaskQueue, IDownloader {
|
|||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DownloadTaskQueue() {
|
|
||||||
}
|
|
||||||
|
|
||||||
private DownloadTaskQueue(Context context) {
|
|
||||||
super();
|
|
||||||
mContext = context;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取任务执行池
|
* 获取任务执行池
|
||||||
*/
|
*/
|
||||||
|
@ -127,6 +127,54 @@ public class Task {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static class Builder {
|
||||||
|
DownloadEntity downloadEntity;
|
||||||
|
Handler outHandler;
|
||||||
|
Context context;
|
||||||
|
int threadNum = 3;
|
||||||
|
IDownloadUtil downloadUtil;
|
||||||
|
|
||||||
|
public Builder(Context context, DownloadEntity downloadEntity) {
|
||||||
|
this.context = context;
|
||||||
|
this.downloadEntity = downloadEntity;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置自定义Handler处理下载状态时间
|
||||||
|
*
|
||||||
|
* @param schedulers {@link IDownloadSchedulers}
|
||||||
|
*/
|
||||||
|
public Builder setOutHandler(IDownloadSchedulers schedulers) {
|
||||||
|
this.outHandler = new Handler(schedulers);
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 设置线程数
|
||||||
|
*/
|
||||||
|
public Builder setThreadNum(int threadNum) {
|
||||||
|
this.threadNum = threadNum;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
|
///**
|
||||||
|
// * 设置自定义下载工具
|
||||||
|
// *
|
||||||
|
// * @param downloadUtil {@link IDownloadUtil}
|
||||||
|
// */
|
||||||
|
//public Builder setDownloadUtil(IDownloadUtil downloadUtil) {
|
||||||
|
// this.downloadUtil = downloadUtil;
|
||||||
|
// return this;
|
||||||
|
//}
|
||||||
|
|
||||||
|
public Task build() {
|
||||||
|
Task task = new Task(context, downloadEntity);
|
||||||
|
task.mOutHandler = outHandler;
|
||||||
|
downloadEntity.save();
|
||||||
|
return task;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 下载监听类
|
* 下载监听类
|
||||||
*/
|
*/
|
||||||
@ -239,52 +287,4 @@ public class Task {
|
|||||||
context.sendBroadcast(intent);
|
context.sendBroadcast(intent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static class Builder {
|
|
||||||
DownloadEntity downloadEntity;
|
|
||||||
Handler outHandler;
|
|
||||||
Context context;
|
|
||||||
int threadNum = 3;
|
|
||||||
IDownloadUtil downloadUtil;
|
|
||||||
|
|
||||||
public Builder(Context context, DownloadEntity downloadEntity) {
|
|
||||||
this.context = context;
|
|
||||||
this.downloadEntity = downloadEntity;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置自定义Handler处理下载状态时间
|
|
||||||
*
|
|
||||||
* @param schedulers {@link IDownloadSchedulers}
|
|
||||||
*/
|
|
||||||
public Builder setOutHandler(IDownloadSchedulers schedulers) {
|
|
||||||
this.outHandler = new Handler(schedulers);
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 设置线程数
|
|
||||||
*/
|
|
||||||
public Builder setThreadNum(int threadNum) {
|
|
||||||
this.threadNum = threadNum;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
///**
|
|
||||||
// * 设置自定义下载工具
|
|
||||||
// *
|
|
||||||
// * @param downloadUtil {@link IDownloadUtil}
|
|
||||||
// */
|
|
||||||
//public Builder setDownloadUtil(IDownloadUtil downloadUtil) {
|
|
||||||
// this.downloadUtil = downloadUtil;
|
|
||||||
// return this;
|
|
||||||
//}
|
|
||||||
|
|
||||||
public Task build() {
|
|
||||||
Task task = new Task(context, downloadEntity);
|
|
||||||
task.mOutHandler = outHandler;
|
|
||||||
downloadEntity.save();
|
|
||||||
return task;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -2,8 +2,8 @@ package com.arialyy.downloadutil.core.pool;
|
|||||||
|
|
||||||
import android.text.TextUtils;
|
import android.text.TextUtils;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import com.arialyy.downloadutil.core.inf.IPool;
|
|
||||||
import com.arialyy.downloadutil.core.Task;
|
import com.arialyy.downloadutil.core.Task;
|
||||||
|
import com.arialyy.downloadutil.core.inf.IPool;
|
||||||
import com.arialyy.downloadutil.util.Util;
|
import com.arialyy.downloadutil.util.Util;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -21,6 +21,11 @@ public class CachePool implements IPool {
|
|||||||
private Map<String, Task> mCacheArray;
|
private Map<String, Task> mCacheArray;
|
||||||
private LinkedBlockingQueue<Task> mCacheQueue;
|
private LinkedBlockingQueue<Task> mCacheQueue;
|
||||||
|
|
||||||
|
private CachePool() {
|
||||||
|
mCacheQueue = new LinkedBlockingQueue<>(MAX_NUM);
|
||||||
|
mCacheArray = new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
public static CachePool getInstance() {
|
public static CachePool getInstance() {
|
||||||
if (INSTANCE == null) {
|
if (INSTANCE == null) {
|
||||||
synchronized (LOCK) {
|
synchronized (LOCK) {
|
||||||
@ -30,11 +35,6 @@ public class CachePool implements IPool {
|
|||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private CachePool() {
|
|
||||||
mCacheQueue = new LinkedBlockingQueue<>(MAX_NUM);
|
|
||||||
mCacheArray = new HashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean putTask(Task task) {
|
@Override public boolean putTask(Task task) {
|
||||||
synchronized (LOCK) {
|
synchronized (LOCK) {
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
|
@ -18,11 +18,16 @@ public class ExecutePool implements IPool {
|
|||||||
private static final String TAG = "ExecutePool";
|
private static final String TAG = "ExecutePool";
|
||||||
private static final Object LOCK = new Object();
|
private static final Object LOCK = new Object();
|
||||||
private static final long TIME_OUT = 1000;
|
private static final long TIME_OUT = 1000;
|
||||||
private static volatile ExecutePool INSTANCE = null;
|
|
||||||
public static int SIZE = 2;
|
public static int SIZE = 2;
|
||||||
|
private static volatile ExecutePool INSTANCE = null;
|
||||||
private ArrayBlockingQueue<Task> mExecuteQueue;
|
private ArrayBlockingQueue<Task> mExecuteQueue;
|
||||||
private Map<String, Task> mExecuteArray;
|
private Map<String, Task> mExecuteArray;
|
||||||
|
|
||||||
|
private ExecutePool() {
|
||||||
|
mExecuteQueue = new ArrayBlockingQueue<>(SIZE);
|
||||||
|
mExecuteArray = new HashMap<>();
|
||||||
|
}
|
||||||
|
|
||||||
public static ExecutePool getInstance() {
|
public static ExecutePool getInstance() {
|
||||||
if (INSTANCE == null) {
|
if (INSTANCE == null) {
|
||||||
synchronized (LOCK) {
|
synchronized (LOCK) {
|
||||||
@ -32,11 +37,6 @@ public class ExecutePool implements IPool {
|
|||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ExecutePool() {
|
|
||||||
mExecuteQueue = new ArrayBlockingQueue<>(SIZE);
|
|
||||||
mExecuteArray = new HashMap<>();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override public boolean putTask(Task task) {
|
@Override public boolean putTask(Task task) {
|
||||||
synchronized (LOCK) {
|
synchronized (LOCK) {
|
||||||
if (task == null) {
|
if (task == null) {
|
||||||
|
@ -5,6 +5,4 @@ package com.arialyy.downloadutil.help;
|
|||||||
*/
|
*/
|
||||||
public class LockHelp {
|
public class LockHelp {
|
||||||
public static final Object LOCK = new Object();
|
public static final Object LOCK = new Object();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,6 @@
|
|||||||
package com.arialyy.downloadutil.orm;
|
package com.arialyy.downloadutil.orm;
|
||||||
|
|
||||||
import android.support.annotation.NonNull;
|
import android.support.annotation.NonNull;
|
||||||
import android.util.Log;
|
|
||||||
import com.arialyy.downloadutil.util.Util;
|
import com.arialyy.downloadutil.util.Util;
|
||||||
import java.lang.reflect.Field;
|
import java.lang.reflect.Field;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -12,14 +11,47 @@ import java.util.List;
|
|||||||
* 所有数据库实体父类
|
* 所有数据库实体父类
|
||||||
*/
|
*/
|
||||||
public class DbEntity {
|
public class DbEntity {
|
||||||
|
private static final Object LOCK = new Object();
|
||||||
protected int rowID = -1;
|
protected int rowID = -1;
|
||||||
private DbUtil mUtil = DbUtil.getInstance();
|
private DbUtil mUtil = DbUtil.getInstance();
|
||||||
private static final Object LOCK = new Object();
|
|
||||||
|
|
||||||
protected DbEntity() {
|
protected DbEntity() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询所有数据
|
||||||
|
*
|
||||||
|
* @return 没有数据返回null
|
||||||
|
*/
|
||||||
|
public static <T extends DbEntity> List<T> findAllData(Class<T> clazz) {
|
||||||
|
DbUtil util = DbUtil.getInstance();
|
||||||
|
return util.findAllData(clazz);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询一组数据
|
||||||
|
*
|
||||||
|
* @return 没有数据返回null
|
||||||
|
*/
|
||||||
|
public static <T extends DbEntity> List<T> findDatas(Class<T> clazz, @NonNull String[] wheres,
|
||||||
|
@NonNull String[] values) {
|
||||||
|
DbUtil util = DbUtil.getInstance();
|
||||||
|
return util.findData(clazz, wheres, values);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询一行数据
|
||||||
|
*
|
||||||
|
* @return 没有数据返回null
|
||||||
|
*/
|
||||||
|
public static <T extends DbEntity> T findData(Class<T> clazz, @NonNull String[] wheres,
|
||||||
|
@NonNull String[] values) {
|
||||||
|
DbUtil util = DbUtil.getInstance();
|
||||||
|
List<T> datas = util.findData(clazz, wheres, values);
|
||||||
|
return datas == null ? null : datas.size() > 0 ? datas.get(0) : null;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取所有行的rowid
|
* 获取所有行的rowid
|
||||||
*/
|
*/
|
||||||
@ -106,37 +138,4 @@ public class DbEntity {
|
|||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询所有数据
|
|
||||||
*
|
|
||||||
* @return 没有数据返回null
|
|
||||||
*/
|
|
||||||
public static <T extends DbEntity> List<T> findAllData(Class<T> clazz) {
|
|
||||||
DbUtil util = DbUtil.getInstance();
|
|
||||||
return util.findAllData(clazz);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询一组数据
|
|
||||||
*
|
|
||||||
* @return 没有数据返回null
|
|
||||||
*/
|
|
||||||
public static <T extends DbEntity> List<T> findDatas(Class<T> clazz, @NonNull String[] wheres,
|
|
||||||
@NonNull String[] values) {
|
|
||||||
DbUtil util = DbUtil.getInstance();
|
|
||||||
return util.findData(clazz, wheres, values);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 查询一行数据
|
|
||||||
*
|
|
||||||
* @return 没有数据返回null
|
|
||||||
*/
|
|
||||||
public static <T extends DbEntity> T findData(Class<T> clazz, @NonNull String[] wheres,
|
|
||||||
@NonNull String[] values) {
|
|
||||||
DbUtil util = DbUtil.getInstance();
|
|
||||||
List<T> datas = util.findData(clazz, wheres, values);
|
|
||||||
return datas == null ? null : datas.size() > 0 ? datas.get(0) : null;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -18,8 +18,8 @@ import java.util.List;
|
|||||||
*/
|
*/
|
||||||
public class DbUtil {
|
public class DbUtil {
|
||||||
private static final String TAG = "DbUtil";
|
private static final String TAG = "DbUtil";
|
||||||
private volatile static DbUtil INSTANCE = null;
|
|
||||||
private static final Object LOCK = new Object();
|
private static final Object LOCK = new Object();
|
||||||
|
private volatile static DbUtil INSTANCE = null;
|
||||||
private int CREATE_TABLE = 0;
|
private int CREATE_TABLE = 0;
|
||||||
private int TABLE_EXISTS = 1;
|
private int TABLE_EXISTS = 1;
|
||||||
private int INSERT_DATA = 2;
|
private int INSERT_DATA = 2;
|
||||||
@ -35,6 +35,10 @@ public class DbUtil {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private DbUtil(Context context) {
|
||||||
|
mHelper = new SqlHelper(context.getApplicationContext());
|
||||||
|
}
|
||||||
|
|
||||||
public static DbUtil init(Context context) {
|
public static DbUtil init(Context context) {
|
||||||
if (context instanceof Application) {
|
if (context instanceof Application) {
|
||||||
synchronized (LOCK) {
|
synchronized (LOCK) {
|
||||||
@ -46,10 +50,6 @@ public class DbUtil {
|
|||||||
return INSTANCE;
|
return INSTANCE;
|
||||||
}
|
}
|
||||||
|
|
||||||
private DbUtil(Context context) {
|
|
||||||
mHelper = new SqlHelper(context.getApplicationContext());
|
|
||||||
}
|
|
||||||
|
|
||||||
protected static DbUtil getInstance() {
|
protected static DbUtil getInstance() {
|
||||||
if (INSTANCE == null) {
|
if (INSTANCE == null) {
|
||||||
throw new NullPointerException("请在Application中调用init进行数据库工具注册注册");
|
throw new NullPointerException("请在Application中调用init进行数据库工具注册注册");
|
||||||
@ -292,7 +292,7 @@ public class DbUtil {
|
|||||||
* @param type {@link DbUtil}
|
* @param type {@link DbUtil}
|
||||||
*/
|
*/
|
||||||
private void print(int type, String sql) {
|
private void print(int type, String sql) {
|
||||||
if (true){
|
if (true) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
String str = "";
|
String str = "";
|
||||||
|
@ -159,7 +159,6 @@ public class Util {
|
|||||||
return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "t";
|
return result4.setScale(2, BigDecimal.ROUND_HALF_UP).toPlainString() + "t";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 创建目录 当目录不存在的时候创建文件,否则返回false
|
* 创建目录 当目录不存在的时候创建文件,否则返回false
|
||||||
*/
|
*/
|
||||||
|
Reference in New Issue
Block a user