簡體   English   中英

如何從Android應用程序向服務器發出請求

[英]How to make requests to server from Android applications

我目前正在Android平台上開發一個應用程序,該應用程序需要多次與主服務器聯系以執行各種操作。 現在,我正在通過在單獨的線程中向服務器發出每個請求的方式來處理軟件設計的問題(否則,我會收到NetworkOnMainThreadException ,因此不建議這樣做)。

因此,我的示例中有3個類:

  • 例如 ,希望使用來自服務器中數據庫的數據填充Spinner 的請求程序類。
  • 要求DBConnection執行新連接的中產類 ,然后等待它完成並將數據解析為適當的格式。
  • 下層類與數據庫建立連接並檢索原始String,然后將其傳遞給要解析的中間類。

我知道,對於與服務器的每個連接,我都必須創建一個新線程,以便在建立連接的類(較低的類)中等待結果。 這樣,我就不會使軟件的頂層過載AsyncTasks和它們不應該知道的東西。

問題是,在我收到數據之后,我必須對其進行解析,並對其進行處理。 另外,我必須填充微調器(如示例中所示)。

我知道制作一個DataFromServerListener接口或類似的東西可能是一個好主意,但是我認為周圍到處都是用來處理來自服務器的數據的方法會很混亂。 另一方面,我必須使每個頂級類都使用AsyncTask啟動單獨的線程,但這可能不是最佳解決方案。

我真的很感謝關於這個問題的任何建議。 :D

private class LongOperation extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... params) {

        return "Executed";
    }      

    @Override
    protected void onPostExecute(String result) {               
    }
}

這就是我所需要的。 實際上,它解決了我以前沒有處理過的問題。 http://www.codeproject.com/Articles/162201/Painless-AsyncTask-and-ProgressDialog-用法

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM