作者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)
1F:推 awwseed:谢谢回覆!! 不过不太清楚什麽是在Post方法理写Callback 02/06 20:56
4F:推 awwseed:好的!! 马上来试看看,感谢您! 02/06 22:05
5F:推 awwseed:感谢kewang,我大概做出来了!! 02/07 10:44
6F:→ awwseed:不过我不是在post里面写new CallBack (不太清楚怎麽做) 02/07 11:25
7F:→ awwseed:作法是建一个interface,HttpNetWork implements他 02/07 11:26
8F:→ kewang:恭喜,有做出来就好 02/07 13:24