バックグラウンドで計算を処理するために非同期タスクを使用しています。しかし、画面上で毎回計算値を更新したい。非同期タスクを使用してそれを行うにはどうすればよいですか。実行後メソッドを使用して画面上で更新された値を取得する可能性。
public class HandleDataManuplation extends AsyncTask<String, Void, String>
{
@Override
protected String doInBackground(String...v) {
//totalKm=gpsdataElements.Distance-Contsants.jobStartKm;
if(gpsdataElements.Speed<0.4)
{
Contsants.cont_WaitingTimeInSec++;
}
if (totalKm<Contsants.minDist)
{
totalfare= Contsants.minFare;
//tv_Fare.setText(String.format("%.2f",(totalfare)));
}
else
{
totalfare= 110+ ((totalKm-Contsants.minDist) *Contsants.rupeeKm) +(Contsants.cont_WaitingTimeInSec/60)*1;
//tv_Fare.setText(String.format("%.2f",(totalfare)));
}
return null;
}
@Override
protected void onPostExecute(String result) {
tv_speed.setText(String.format("%.2f",gpsdataElements.Speed*1.852)+" Km/hr");
tv_JobwaitngTime.setText(Integer.toString((Contsants.cont_WaitingTimeInSec / 60)) +":"+ Integer.toString((Contsants.cont_WaitingTimeInSec% 60)));
tv_speed.setText(String.format("%.2f",gpsdataElements.Speed*1.852)+" Km/hr");
tv_JobwaitngTime.setText(Integer.toString((Contsants.cont_WaitingTimeInSec / 60)) +":"+ Integer.toString((Contsants.cont_WaitingTimeInSec% 60)));
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected void onProgressUpdate(Void... values) {
}
}