Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.kk121:File-Loader:1.6'
}
dependencies {
implementation("com.github.kk121:File-Loader:1.6")
}
<dependency>
<groupId>com.github.kk121</groupId>
<artifactId>File-Loader</artifactId>
<version>1.6</version>
</dependency>
libraryDependencies += "com.github.kk121" % "File-Loader" % "1.6"
:dependencies [[com.github.kk121/File-Loader "1.6"]]
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
dependencies {
implementation 'com.github.kk121:File-Loader:1.2'
}
<dependency>
<groupId>com.github.kk121</groupId>
<artifactId>File-Loader</artifactId>
<version>1.2</version>
</dependency>
FileLoader.with(this)
.load("https://upload.wikimedia.org/wikipedia/commons/3/3c/Enrique_Simonet_-_Marina_veneciana_6MB.jpg",false) //2nd parameter is optioal, pass true to force load from network
.fromDirectory("test4", FileLoader.DIR_INTERNAL)
.asFile(new FileRequestListener<File>() {
@Override
public void onLoad(FileLoadRequest request, FileResponse<File> response) {
File loadedFile = response.getBody();
// do something with the file
}
@Override
public void onError(FileLoadRequest request, Throwable t) {
}
});
FileLoader.with(this)
.load("http://echo.jsontest.com/key1/value1/key2/value2")
.fromDirectory("test3", FileLoader.DIR_INTERNAL)
.asObject(new FileRequestListener<JsonTest>() {
@Override
public void onLoad(FileLoadRequest request, FileResponse<JsonTest> response) {
JsonTest jsonTest = response.getBody();
//do something with jsonTest object
}
@Override
public void onError(FileLoadRequest request, Throwable t) {
}
});
final String[] uris = {"https://images.pexels.com/photos/45170/kittens-cat-cat-puppy-rush-45170.jpeg",
"https://upload.wikimedia.org/wikipedia/commons/3/3c/Enrique_Simonet_-_Marina_veneciana_6MB.jpg",
"https://d15shllkswkct0.cloudfront.net/wp-content/blogs.dir/1/files/2017/01/Google-acquires-Fabric.png"};
FileLoader.multiFileDownload(this)
.fromDirectory(Environment.DIRECTORY_PICTURES, FileLoader.DIR_EXTERNAL_PUBLIC)
.progressListener(new MultiFileDownloadListener() {
@Override
public void onProgress(File downloadedFile, int progress, int totalFiles) {
}
@Override
public void onError(Exception e, int progress) {
super.onError(e, progress);
}
}).loadMultiple(uris);
List<MultiFileLoadRequest> multiFileLoadRequests = new ArrayList<>();
multiFileLoadRequests.add(new MultiFileLoadRequest(uris[0], "test2", FileLoader.DIR_INTERNAL, false));
multiFileLoadRequests.add(new MultiFileLoadRequest(uris[1], Environment.DIRECTORY_DOWNLOADS, FileLoader.DIR_EXTERNAL_PRIVATE, false));
multiFileLoadRequests.add(new MultiFileLoadRequest(uris[2], Environment.DIRECTORY_PICTURES, FileLoader.DIR_EXTERNAL_PUBLIC, false));
MultiFileDownloader multiFileDownloader = FileLoader.multiFileDownload(this);
multiFileDownloader.progressListener(new MultiFileDownloadListener() {
@Override
public void onProgress(File downloadedFile, int progress, int totalFiles) {
}
@Override
public void onError(Exception e, int progress) {
super.onError(e, progress);
}
}).loadMultiple(true, uris);
multiFileDownloader.cancelLoad();
final String[] uris = {"https://images.pexels.com/photos/45170/kittens-cat-cat-puppy-rush-45170.jpeg",
"https://upload.wikimedia.org/wikipedia/commons/3/3c/Enrique_Simonet_-_Marina_veneciana_6MB.jpg",
"https://d15shllkswkct0.cloudfront.net/wp-content/blogs.dir/1/files/2017/01/Google-acquires-Fabric.png"};
try {
FileLoader.deleteWith(this).fromDirectory("test2", FileLoader.DIR_INTERNAL).deleteFiles(uris);
} catch (Exception e) {
e.printStackTrace();
}
FileLoader.deleteWith(this).fromDirectory("test2", FileLoader.DIR_INTERNAL).deleteAllFiles();
FileLoader.deleteWith(this).fromDirectory("test3", FileLoader.DIR_INTERNAL).deleteAllFilesExcept(uris);
This is still in beta.Comments/bugs/questions/pull requests are always welcome!