0

Android 用の Drive API v2 を使用しています。次のメソッドを実行すると、アプリが一時停止または待機しているように見え、データが返されません。

    public About getAbout() throws InterruptedException, ExecutionException {

    FutureTask<About> future = new FutureTask<About>(new Callable<About>() {
        public About call() throws IOException {

            About about = null;
            try {
                about = _driveService.about().get().execute();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            return about;

        }
    });

    About about = future.get();
    return about;
}

誰かが私が間違っていることを知っていますか?

4

1 に答える 1

1

を作成してFutureTaskいますが、それを実行することはありません(現在のスレッドでも他のスレッドでもありません)。future.get()次に、操作が完了するまでブロックする呼び出しを行います。実際に操作を実行することはないため、永遠に待機します。

バックグラウンド スレッドで操作を実行するには、たとえばhttp://developer.android.com/reference/android/os/AsyncTask.htmlを使用できます。

于 2013-01-27T16:03:49.917 に答える