Skip to content

aman1sr/Simple-FileDownloader-Library

Repository files navigation

Simple File Downloader Library

A Sample Low Level Design of a file downloader library for Android with pause and resume support, following best pratices.

mvvm-architecture

Major Highlights:

  • Low Level Design of a File Downloader library having component like Download Request Builder, Request queue, Download Dispatcher , HttpClient and Download Task making Library higly customizable. -This downloader library has a simple interface to make download request.
  • We can check if the status of downloading with the given download Id.
  • The Library gives callbacks for everything like onProgress, onCancel, onStart, onError and etc while downloading a file.
  • Supports proper request canceling
  • Supports pause and resume while downloading a file.
  • Supports Custom HttpClient for a Download Request.
  • Followed best pratices
    • Builder Pattern:used to create Download Request Obj with few parameter compulsory & few are optional
    • Factory pattern: used to create Downloader obj
    • use of interface: to pass differrent implementation of future usecase scenarios

The Complete Library Folder Structure

├── Downloader
├── DownloadConfig
├── Downloader
├── httpclient
│   ├── DefaultHttpClient
│   ├── HttpClient
├── internals
│   ├── DownloadDispatcher
│   ├── DownloadRequest
│   ├── DownloadRequestQueue
│   └── DownloadTask
├── utils
│   ├── Utils


main_screen      top-top_headline

search1.1 search2

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages