作者tga123 (叛帝)
看板AndroidDev
標題[問題] 讓Fragment共用httpclient
時間Wed Dec 5 10:57:55 2012
我有寫一段httprespones的方法
在我按下按鈕會建立Fragment.
同時也會執行 HTTPRESPONSE程序
當我按下返回按鈕 HTTPRESPONSE程序並沒有中止動作.
重複執行幾次之後會造成我的伺服器當機.
我現在有兩個想法:
1.當我按下返回按鈕的時候會立即終止HTTPRESPONSE程序的動作應該就不會造成當機.
2.共用httpResponse在Activity就不會產生新的HTTPRESPONSE程序.
3.httpResponse的方法中有終止的方法??????
希望版友能給些幫助
感激不盡
下面是我的程式碼:
Handler mHandler = new Handler()
{
@Override
public void handleMessage(Message msg )
{
switch (msg.what)
{
case REFRESH_DATA:
String result = null;
if (msg.obj instanceof String)
result = (String) msg.obj;
if (result != null)
Toast.makeText(templistview.this.getActivity(), result,
Toast.LENGTH_LONG).show();
break;
}
}
};
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
super.onCreateView(inflater, container, savedInstanceState);
View view = inflater.inflate(R.layout.templistmune, container,
false);
Thread b = new Thread(new sendPostRunnable(msg));
b.start();
return view;
}
private String sendPostDataToInternet(String strTxt)
{
HttpPost httpRequest = new HttpPost(uriAPI);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair(M1,M2));
params.add(new BasicNameValuePair(M3,M4));
params.add(new BasicNameValuePair(M5,M6));
try
{
httpRequest.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
httpResponse = new DefaultHttpClient().execute(httpRequest);
if (httpResponse.getStatusLine().getStatusCode() == 200)
{
String strResult = EntityUtils.toString(httpResponse.getEntity());
return strResult;
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
class sendPostRunnable implements Runnable
{
String strTxt = null;
public sendPostRunnable(String strTxt)
{
this.strTxt = strTxt;
}
@Override
public void run()
{
String result = sendPostDataToInternet(strTxt);
mHandler.obtainMessage(REFRESH_DATA, result).sendToTarget();
}
}
--
ボ ◢ ◥══
◢ ◥═══
◢ ◥◣ ══
◥◣◢◤◣
═ ◣◢═Vocaloi
d╮
║
◣ ◤◥ ◢◢◢▼ quetzal◤◥◥﹨◣ ◢◥◤ ◥ ▼◥ ◣◢ ║
║
● ●▼ ● ●◥ ロ ● ● ;│ ▼◥︽﹨ ◆▼◥▼﹨ ▃▃
║
◣▄ ◢◤ ◤◣▆ ◢◥ ◥
◣▃ ▉
◤ ═● ● ▌ ◤● ● ▌ ◢
ド!
║
◤◤◢ ◣
カ ████▆≡ ◤▆ ◥ ◢
◣▁ ▉
◥ ◣▄ ▉
◤ ▅▅
╰══
◣︶●═══
▊█▎◥◣══
▼ ◢/△ ◤═イ═△▅/◥══
△▅/◣ ═══
╯
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 119.14.80.132
→ KeySabre:把該thread停掉 12/05 13:33
→ tga123:停掉這條程序就可以了嗎xxd這麼簡單 12/05 14:47