0

単一の文字列を受け入れるタスクを実行し、そのファイルをサーバーからダウンロードしたいと思います。ネットワーク関連の操作は別のスレッドで実行する必要があるため、AsyncTaskを拡張する必要があります。オンラインドキュメントを参照すると、Params、Progress、Resultの3つのパラメーターが必要であることがわかります。

このようなクラスを拡張することは理にかなっていることを理解しています

private class DownloadFileTask extends AsyncTask<URL, Integer, Long>

しかし、今はファイルをダウンロードして、進行状況を表示したり、関数から何も返さないようにしたいだけです。

このようにクラスを拡張するとエラーが発生します

    private class DownloadFileTask extends AsyncTask<String, void, void>
     {
       protected void doInBackground(Sting url)
       {    //code to simply download file , no progress shown , nothing returned
       }
     }

また、実装クラスDownloadFileTaskshowがメソッドをオーバーライドすることも理解しています

protected abstract Result doInBackground (Params... params)

プロトタイプの結果は、AsyncTask<...>Templateの3番目のパラメーターです。だから私はそれを無効にすることはできません。しかし、進捗状況や結果を表示せずにファイルをダウンロードする方法はありませんか?

4

1 に答える 1

3

ジェネリック引数はオブジェクトである必要があるため、Voidの代わりに渡す必要がありvoidます。

....extends AsyncTask<String, Void, Void>
于 2012-08-23T09:00:37.073 に答える