我想知道是否有一种从正在运行的线程返回对象的好方法。在我的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();
}
此方法从 Internet 获取一些数据并将结果存储在List<File> result
. 这就是为什么我不想在 UI 线程中运行它。现在我想将此列表返回到我的主要方法。做这个的最好方式是什么?