2012-02-02 34 views
2

我正在研究一個J2ME應用程序,它發出一個HTTP請求,並相應地響應收到的響應。(HttpConnection)帶觸摸手機的Connector.open(url)

下面是我對HTTP請求

public String sendHttpGet(String url, String str) throws Exception { 
    HttpConnection hcon = null; 
    DataInputStream dis = null; 
    StringBuffer message = new StringBuffer(); 
    try { 

     hcon = (HttpConnection) Connector.open(url); 
     dis = new DataInputStream(hcon.openInputStream()); 
     int ch; 
     while ((ch = dis.read()) != -1) { 
      message.append((char)ch); 
     } 
    }catch(Exception e){ 

    }finally { 
     if (hcon != null) { 
      hcon.close(); 
     } 

     if (dis != null) { 
      dis.close(); 
     } 
     MyForm.show(); 
    } 
    return message.toString(); 
} 

這是工作的罰款在非觸摸屏設備的代碼,但是當我檢查了諾基亞500的觸控手機,

代碼執行,直到行

hcon = (HttpConnection) Connector.open(url); 

沒有拋出任何異常,它最終顯示應用程序的第一個屏幕(主菜單)。

是否有任何限制或問題?

任何解決方案?

+1

正如我在你的代碼中看到的,你正在捕獲異常而沒有記錄或拋出運行時異常。嘗試記錄這個異常,然後在這裏打印堆棧跟蹤,我們可以幫助您快速響應 – sandrozbinden 2012-02-02 12:32:56

+0

感謝您的快速響應,我已經從上面的代碼中刪除異常消息(和日誌)以刪除額外的代碼。我通過使用Dialog顯示消息來檢查它。 – 2012-02-02 12:58:08

+0

我認爲你的代碼是正確的。讓你檢查你的GPRS /網絡連接,設置在你的手機。 – 2012-04-14 12:22:27

回答

1

有你在JAD添加權限這樣

MIDlet-Permissions: javax.microedition.io.Connector.http 

,或者你可以在netbean通過以下步驟

  1. 添加此權限右鍵單擊項目

  2. 單擊屬性。

  3. 點擊應用程序描述符

  4. 選擇標籤API權限

  5. 單擊添加按鈕,從列表中添加javax.microedition.io.Connecter.http

希望這會幫助你。

+0

是的,我已添加權限。 – 2012-02-02 13:21:43

+0

檢查它,它的運行與否? – 2012-02-02 13:23:05

+0

它在非觸控手機上運行得非常好。但不希望路由到觸摸手機上的主菜單。 – 2012-02-02 13:25:14