作者awwseed (AndroidDev初心者LV.1)
看板AndroidDev
标题[问题]把网路活动(post)模组化後跟主程序的沟通
时间Thu Feb 6 14:59:53 2014
前提概要:
之前处理有关网路的问题时都使用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转圈圈等待下载时显示在画面上
请问是要利用While来实做会比较快吗?
类似:
while(Result.compareTo("") == 0)
{
//waiting
}
又或者在MainActivity.java内开thread,Handler来更新UI会比较恰当呢?
需求简单来说
1.网路动作模组化(?),写一个HttpNetWork.java,之後需要POST都透过这执行
2.要怎麽在主程序内等待另一个.java的子程序回传的值?
3.上面那两个动作会造成UI Thread里面等待超过5秒丢ANR吗?
4.为了C#的表单验证所以先建立一个Application全域变数内放HttpClinet ct
登入後把ct放进Application中,之後需要POST时直接拿ct出来用这样的方式(?)
先感谢大家的帮忙!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.108.10.102