- twitter4jでポストの際にプログレスを取得することは出来るか
プログレスの内容によります。一般論になりますが、サーバサイド処理(つまりリクエストを投げてからレスポンスが帰ってくるまで)は、その途中経過をこちらで取得することはできません。レスポンスに含まれるデータがとても長い場合は(例えば数十メガバイトのデータを3G/4G回線でダウンロードするとか)、HTTPレスポンスを処理しながらプログレスに反映することが出来ると思います。(Twitter4jでやろうとされていることは、恐らくこれに該当しないと想像しますが)
どれくらい進んでいるのかが分からなくても良い場合は、style="?android:attr/progressBarStyleSmall"
などの「回転しつづけるタイプ」のプログレスバーを使えば良いでしょう。
- onProgressを実装しても何も反応がないのですが何か実装する必要があるか
はい、あります。AsyncTaskのonProgressUpdate
メソッドが実行されるようにするには、自分でpublishProgress
を呼び出す必要があるようです。
http://developer.android.com/reference/android/os/AsyncTask.html#publishProgress(Progress...) によれば、
This method can be invoked from doInBackground(Params...) to publish updates on the UI thread while the background computation is still running. Each call to this method will trigger the execution of onProgressUpdate(Progress...) on the UI thread. onProgressUpdate(Progress...) will not be called if the task has been canceled.
以下、適当訳:
このメソッド(publishProgress
のことですね)は、バックグラウンド処理実行中にUIスレッドを更新するためにdoInBackground
メソッド内から呼び出すことができる。このメソッドを呼び出す度に、onProgressUpdate
メソッドがUIスレッドで呼出される。onProgressUpdate
メソッドはタスクがキャンセルされたときには呼び出されない。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。