実行中のスレッドからオブジェクトを返す良い方法があるかどうか疑問に思っています。私のAndroidプロジェクト(質問には重要ではありません)では、次の方法があります:
public void getFolders()
{
Thread t = new Thread(new Runnable()
{
@Override
public void run()
{
List<File> result = new ArrayList<File>();
Files.List request = null;
do
{
try
{
request = service.files().list();
request.setQ("'appdata' in parents");
FileList files = request.execute();
result.addAll(files.getItems());
request.setPageToken(files.getNextPageToken());
}
catch (IOException e)
{
System.out.println("An error occurred: " + e);
request.setPageToken(null);
}
}
while (request.getPageToken() != null && request.getPageToken().length() > 0);
}
});
t.start();
}
このメソッドは、インターネットからデータを取得し、結果を に保存しList<File> result
ます。そのため、UI スレッドで実行したくありません。ここで、この List をメイン メソッドに返したいと思います。これを行う最善の方法は何ですか?