作者kewang (652公車)
看板AndroidDev
標題Re: [問題]把網路活動(post)模組化後跟主程序的溝通
時間Thu Feb 6 18:49:10 2014
※ 引述《awwseed (AndroidDev初心者LV.1)》之銘言:
: 前提概要:
: 之前處理有關網路的問題時都使用AsyncTask或偷吃步StrictMode
: 不過現在遇到會很常需要post出去,所以想說把網路活動直接獨立出來
: 也因為c#後端有做表單驗證,必須把HttpClient保留住..
: 目前的概念是開一個HttpNetWork.java
: 裡面有多個不同的Post方法,
: EX:
: HttpNetWork.java:
: public string Post(HttpClinet ct,String Url,List<NameValuePair> Pair)
: {
: String result = "";
: ...
: retrun result;
: }
: 接著,在主程序裡建立一個HttpNetWork的物件
: MainActivity.java
: String Result = "";
: HttpNetWork post = new HttpNetWork();
: Result = post.Post(ct,url,pair);
: 來取得我要的資料
: 有試過HttpNetWork裡用AsyncTask來Post
: 但會變成因為是非同步,所以主程序會繼續跑(希望主程序要hold住等下載完才繼續)
: 目前在主程序有做一個ProgressBar轉圈圈等待下載時顯示在畫面上
類似以下的程式碼
String Result = "";
post.Post(ct, url, pair,
new Callback(String callbackResult){
//do something, like above
result = callbackResult;
dialog.dismiss();
});
在HttpNetWork#Post裡面寫Callback,這時候就看你要在Main thread或Worker thread
就你自己決定啦。
--
雜七雜八的kewang部落格
http://kewang.tw
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.25.228
※ 編輯: kewang 來自: 118.163.25.228 (02/06 19:02)
推 awwseed:謝謝回覆!! 不過不太清楚什麼是在Post方法理寫Callback 02/06 20:56
推 awwseed:好的!! 馬上來試看看,感謝您! 02/06 22:05
推 awwseed:感謝kewang,我大概做出來了!! 02/07 10:44
→ awwseed:不過我不是在post裡面寫new CallBack (不太清楚怎麼做) 02/07 11:25
→ awwseed:作法是建一個interface,HttpNetWork implements他 02/07 11:26
→ kewang:恭喜,有做出來就好 02/07 13:24