Android SDK
Installation
Die JARs können manuell von Maven Central heruntergeladen werden.
Gradle:
implementation 'com.transloadit.android.sdk:transloadit-android:0.2.0'
Maven:
<dependency>
<groupId>com.transloadit.android.sdk</groupId>
<artifactId>transloadit-android</artifactId>
<version>0.2.0</version>
</dependency>
Verwendung
Alle Interaktionen mit dem SDK beginnen mit der Klasse com.transloadit.android.sdk.AndroidTransloadit.
Authentifizierungsmethoden
Das SDK unterstützt zwei Authentifizierungsmethoden:
1. Herkömmliche Authentifizierung (mit geheimem Schlüssel)
Diese eignet sich für serverseitige oder ausschließlich intern verwendete Apps:
AndroidTransloadit transloadit = new AndroidTransloadit("YOUR_KEY", "YOUR_SECRET");
2. Signature Authentication (für Produktions-Apps empfohlen)
Verwenden Sie für mobile Produktions-Apps einen Backend-Signatur-Endpunkt, damit der geheime Schlüssel auf Ihrem Server verbleibt:
SignatureProvider signatureProvider = new SignatureProvider() {
@Override
public String generateSignature(String paramsJson) throws Exception {
// Fetch a precomputed Transloadit signature from your backend.
return "sha384:...";
}
};
AndroidTransloadit transloadit = new AndroidTransloadit("YOUR_KEY", signatureProvider);
Assembly erstellen
Um eine Assembly zu erstellen, verwenden Sie die Methode newAssembly.
Um diese Funktionalität vollständig zu nutzen, implementieren Sie das Interface AndroidAssemblyListener.
public class MyAssemblyListener implements AndroidAssemblyListener {
@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();
}
}
In Ihrer Activity könnte dies beispielsweise so aussehen:
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);
AndroidAssemblyListener listener = new MyAssemblyListener();
AndroidTransloadit transloadit = new AndroidTransloadit("key", "secret");
AndroidAssembly assembly = transloadit.newAssembly(listener, this /* activity context */);
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.saveAsync();
}
}
Beispiel
Vollständig funktionsfähige Beispiele finden Sie unter examples/.
Dokumentation
Die vollständige API-Dokumentation finden Sie in der Javadoc.