我在寫一個應用程序,我正在使用Http連接在服務器上發佈數據。當我在模擬器中檢查它時,我的應用程序工作正常。我的Web服務花費太多時間來生成響應,我的模擬器也以正確的方式響應。不知何故,當我在設備上安裝應用程序時,我的應用程序在服務器上發佈了兩次數據。我檢查了它...有沒有人有任何解決方案如何擺脫這?HTTP連接發佈數據兩次
在這裏,我附上了我的發送請求的代碼。我認爲移動應用程序在達到HTTP超時時發送另一個請求,但我不知道有什麼問題。請幫幫我。
String param=
"function=OpenRecharge&LoginId="+SharedVariable.getUserInfo().getLoginID()
+"&BatchId="+SharedVariable.getSelectedProduct().getBatchID()
+"&SystemServiceID="+SharedVariable.getSelectedProduct().getSystemServiceID()
+"&ReferalNumber="+strMobileNo
+"&Amount="+strAmount
+"&FromANI="+fromMoNo
+"&Email="
+"&Checksum="+Checksum;
System.out.println("Final Parameter:\n"+param);
connection = (HttpConnection) Connector.open(url);
//Connector.open(param, strAmount, quit)
connection.setRequestMethod(HttpConnection.POST);
connection.setRequestProperty("User-Agent", "Profile/MIDP-1.0 Configuration/CLDC-1.0");
connection.setRequestProperty("Accept_Language","en-US");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
OutputStream out = connection.openOutputStream();
out.write(param.getBytes());
out.flush();
//System.out.println("Status Line Code: " + connection.getResponseCode());
//System.out.println("Status Line Message: " + connection.getResponseMessage());
is=connection.openDataInputStream();
int chr;
StringBuffer sb=new StringBuffer();
while ((chr = is.read()) != -1)
sb.append((char) chr);
System.out.println("Response===>"+sb.toString());
我強烈懷疑這是因爲您在onCreate和onResume中都有相同的代碼。 – kosa 2012-02-27 21:19:05
沒有一個更全面的代碼引用我會同意thinksteep的評論儘可能原因 – Kerry 2012-02-27 22:33:31
@thinksteep:好友..這是j2me代碼..不是一個Android代碼,.. – 2012-02-28 06:24:36