多线程断点续传

断点续传:

  所谓的断点续传就是指文件在传输过程中被中断后再重新传输时,可以从上次的断点处开始传输,这样就可以节省时间和其他资源

执行下载分为四步:

  第一步:获取下载文件的大小

  第二步:在本地为下载的文件腾出空间

  第三步 :为每条下载线程分配下载的区域范围

  第四步  执行下载操作

由于一个文件是多条线程,所以该线程管理的数据库设定为单例模式:

      private static MySQLite SQL=null;

      public static MySQLite getSQL(Context context){

           if(SQL==null){

                 synchronized (MySQLite.class) {

                      if(SQL==null){

                            SQL=new MySQLite(context);

                      }

                 }

           }

           return SQL;

      }

线程的实体类包含:

  线程的ID、下载文件的路径、每条线程下载的起点位置、每条线程下载的终点位置、下载的进度

下载软件的实体类包含:

  每个下载软件的编号、软件的名称、软件的下载路径、软件的大小、下载的进度

原文地址:https://www.cnblogs.com/czh-/p/5761490.html