implementation 'com.google.android.gms:play-services-tasks:17.2.1'
import com.google.android.gms.tasks.OnCompleteListener;
import com.google.android.gms.tasks.Task;
import com.google.android.gms.tasks.Tasks;
public class MyAsyncTask {
public void loadData() {
Tasks.call(new Callable<String>() {
@Override
public String call() throws Exception {
return fetchDataFromServer();
}
}).addOnCompleteListener(new OnCompleteListener<String>() {
@Override
public void onComplete(Task<String> task) {
if (task.isSuccessful()) {
String data = task.getResult();
processData(data);
} else {
Exception exception = task.getException();
handleException(exception);
}
}
});
}
private String fetchDataFromServer() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
e.printStackTrace();
}
return "Some data from server";
}
private void processData(String data) {
System.out.println("Data: " + data);
}
private void handleException(Exception exception) {
exception.printStackTrace();
}
}