An Android Integration for Transloadit's file uploading and encoding service
Transloadit is a service that helps you handle file uploads, resize, crop and watermark your images, make GIFs, transcode your videos, extract thumbnails, generate audio waveforms, and so much more. In short, Transloadit is the Swiss Army Knife for your files.
This is an Android SDK to make it easy to talk to the Transloadit REST API.
The JARs can be downloaded manually from Maven Central.
Gradle:
implementation 'com.transloadit.android.sdk:transloadit-android:0.0.10'
Maven:
<dependency>
<groupId>com.transloadit.android.sdk</groupId>
<artifactId>transloadit-android</artifactId>
<version>0.0.10</version>
</dependency>
All interactions with the SDK begin with the com.transloadit.android.sdk.Transloadit
class.
To create an assembly, you use the newAssembly
method.
To use this functionality in it's full glory, you need implement the AssemblyProgressListener
interface.
public class MyAssemblyProgressListener implements AssemblyProgressListener {
@Override
public void onUploadFinished() {
System.out.println("upload finished!!! waiting for execution ...");
}
@Override
public void onUploadProgress(long uploadedBytes, long totalBytes) {
System.out.println("uploaded: " + uploadedBytes + " of: " + totalBytes);
}
@Override
public void onAssemblyFinished(AssemblyResponse response) {
System.out.println("Assembly finished with status: " + response.json().getString("ok"));
}
@Override
public void onUploadFailed(Exception exception) {
System.out.println("upload failed :(");
exception.printStackTrace();
}
@Override
public void onAssemblyStatusUpdateFailed(Exception exception) {
System.out.println("unable to fetch status update :(");
exception.printStackTrace();
}
}
And in your activity you can have something like this
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressBar = (ProgressBar) findViewById(R.id.progressBar);
AssemblyProgressListener listener = new MyAssemblyProgressListener();
AndroidTransloadit transloadit = new AndroidTransloadit("key", "secret");
AndroidAsyncAssembly assembly = transloadit.newAssembly(listener);
assembly.addFile(new File("path/to/file.jpg"), "file");
Map<String, Object> stepOptions = new HashMap<>();
stepOptions.put("width", 75);
stepOptions.put("height", 75);
stepOptions.put("resize_strategy", "pad");
assembly.addStep("resize", "/image/resize", stepOptions);
assembly.save();
}
}
For fully working examples take a look at examples/.
See Javadoc for full API documentation.