2015-09-17 44 views
-2

我正在研究Android服務,有服務,接收器和活動。 我的活動使用json將數據發佈到web服務。我想在那裏自動發佈數據。活動正在使用onClick方法。我沒有發現這件事。我可以使用runnable方法嗎?如何在沒有onClick方法的情況下發布HTTP請求?

下面是活動的onclick方法:

@Override 
    public void onClick(View view) { 

     switch(view.getId()){ 
      case R.id.btnPost: 
       if(!validate()) 
        Toast.makeText(getBaseContext(), "Enter some data!", Toast.LENGTH_LONG).show(); 
       // call AsynTask to perform network operation on separate thread 
       new HttpAsyncTask().execute("http://hmkcode.appspot.com/jsonservlet"); 
       break; 
     } 

    } 

我從這裏Android | Send 「POST」 JSON Data to Server

我做了什麼,這是工作來了。

@Override 
public void onResume() { 
    super.onResume(); 

    //if(content!=null) 

     if (!validate()) 
      Toast.makeText(getBaseContext(), "Enter some data!", Toast.LENGTH_LONG).show(); 
     // call AsynTask to perform network operation on separate thread 
     new HttpAsyncTask().execute("http://hmkcode.appspot.com/jsonservlet"); 
     // put your code here... 


} 
+1

什麼時候要發佈數據?如果你想在Application start上發佈,你可以在OnCreate方法中調用它,並且像明智的一樣。 – Techidiot

+0

哦,謝謝,但我需要其他類的值。 –

回答

0

你可以考慮onClick作爲一個事件。點擊發生時(這是事件),您發佈請求。 您可以使用其他系統處理的事件(通過覆蓋它們)的相同方式,例如。每次應用程序恢復時發佈請求(onResume())等等......我希望它有點乾淨。

+0

你認爲onResume對此有好處嗎? –

+0

這取決於你想要達到的目標。搜索「Android活動生命週期」。 – MoreOver

相關問題