我有這樣的方法的AsyncTask類(類:ApiConnector
):如何在無限循環中執行AsyncTask?
@Override
protected String doInBackground(Void... voids)
{
return getToken(); //<-- do many the most important things and return String
}
和
@Override
protected void onPostExecute(String result)
{
super.onPostExecute(result);
}
,然後在我的活動:
new ApiConnector()
{
@Override
public void onPostExecute(String result)
{
Log.d("here: ", result);
}
}.execute();
它工作的很好,當我執行這一次,但我必須在無盡的循環中做到這一點,以便像市場上新鮮的蘋果一樣總是採用新鮮的標記。我試過類似的東西:
while (true)
{
new ApiConnector()
{
@Override
public void onPostExecute(String result)
{
Log.d("here!", result);
}
}.execute();
Thread.sleep(1000);
}
和許多很多愚蠢的事情,但我找不到工作方式。所有線程bussiness對我來說都很棘手。給我一些踢球,我肯定會處理。
在循環中調用異步?這是一個非常糟糕的決定。使用'Timer'或'Handler'來更新您的令牌或任何給定的時間。你也可以'callOnExecutor()'AsyncTask並行運行多線程 – hrskrs
我第一次在android中寫東西,所以對我來說非常不好的決定是正常的。感謝您的幫助,我將詳細瞭解Timer或Handler。 –