dependencies {
implementation 'com.google.android.gms:play-services-tasks:17.1.0'
}
Task<Void> task1 = Tasks.call(new MyHttpRequest1());
Task<Void> task2 = Tasks.call(new MyHttpRequest2());
Tasks.whenAll(task1, task2).addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
}
});
class MyAsyncTask implements Callable<Void> {
@Override
public Void call() throws Exception {
return null;
}
}
Task<Void> task = Tasks.call(new MyAsyncTask());
task.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
} else {
}
}
});
Task<Void> task1 = Tasks.call(new MyHttpRequest1());
Task<Void> task2 = task1.continueWith(new Continuation<Void, Task<Void>>() {
@Override
public Task<Void> then(@NonNull Task<Void> task) throws Exception {
if (task.isSuccessful()) {
return Tasks.call(new MyHttpRequest2());
} else {
return Tasks.forException(task.getException());
}
}
});
task2.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
} else {
}
}
});
Task<String> task1 = Tasks.call(new MyHttpRequest1());
Task<Integer> task2 = task1.continueWith(new Continuation<String, Integer>() {
@Override
public Integer then(@NonNull Task<String> task) throws Exception {
if (task.isSuccessful()) {
String result = task.getResult();
return result.length();
} else {
return -1;
}
}
});
task2.addOnCompleteListener(new OnCompleteListener<Integer>() {
@Override
public void onComplete(@NonNull Task<Integer> task) {
if (task.isSuccessful()) {
int result = task.getResult();
} else {
}
}
});