我對android編程非常陌生,我在Android 2.2中編寫了我的應用程序。但是,當我試圖在Android 3.0的運行我的應用程序或更高版本我得到這樣一個錯誤:在AsynTask中調用舊的方法調用doInBackground
android.os.NetworkOnMainThreadException
在我的Android 2.2我有一個這樣的方法:
public JSONObject makeServiceCall(String url, Map<String, String> params)
正在執行網絡通話操作。展望谷歌,我發現我需要將此代碼移動到AsyncTask
類doInBackground
。
但我在更改doInBackground
的參數時遇到問題,因爲它需要Object...
varags,其中我的方法需要兩個參數String,Map<String,String>
。
是否有任何解決方法我可以在doInBackground
內部打電話給我的原始makeServiceCall
。
在此先感謝。
謝謝。我的方法返回'JSONObject'。但是如果我遵循這一點,這將返回'AsyncTask' –
sriram
2013-02-11 13:04:58
您可以根據您的要求更改它,從Class聲明中替換布爾值到'JSONObjec't,'doInBackground() '和'onPostExecuteMethod()'接收參數給'JSONObject'。 – 2013-02-11 13:07:33