如何在 BlackBerry 5.0 及更高版本的 J2ME 代码中使用 wifi 调用 web 服务? [复制]

Posted

技术标签:

【中文标题】如何在 BlackBerry 5.0 及更高版本的 J2ME 代码中使用 wifi 调用 web 服务? [复制]【英文标题】:How to call webservice using wifi in J2ME code for BlackBerry 5.0 and above? [duplicate] 【发布时间】:2013-08-14 06:44:34 【问题描述】:

我正在使用 J2ME 代码从 BlackBerry 调用 Web 服务。当我尝试使用 HttpConnection 打开连接时,它只检查 GPRS 连接。现在,我想检查 Wi-Fi 连接并通过 Wi-Fi 调用 Web 服务。

以下代码是我的连接部分。如何更改 Wi-Fi 连接的代码?

public boolean HttpUrl() 

HttpConnection conn = null;
OutputStream out = null;
String url = "http://www.google.com";
try 

    conn = (HttpConnection) new ConnectionFactory().getConnection(url).getConnection();
    if (conn != null) 
    

        conn.setRequestMethod(HttpConnection.POST);
        conn.setRequestProperty("Content-Length", "application/x-www-form-urlencoded");
        conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
        conn.setRequestProperty("User-Agent", "Profile/MIDP-2.0 Configuration/CLDC-1.0");


    
 
catch (Exception e) 

    return false;
 
finally 

    try 
    
        out.close();
     
    catch (Exception e2) 
    
    


//Only if exception occurs, we close the connection.
//Otherwise the caller should close the connection himself.
try 

    conn.close();
 
catch (Exception e1)


return true;

如何做到这一点?

【问题讨论】:

【参考方案1】:

与其每次都创建一个新的连接工厂,不如只创建一个并将其存储在一个变量中。你也可以创建几个工厂。例如,仅通过 Wi-Fi 进行连接的工厂将是这样的:

    ConnectionFactory wifiFactory = new ConnectionFactory();
    wifiFactory.setPreferredTransportTypes(new int[]TransportInfo.TRANSPORT_TCP_WIFI);

【讨论】:

这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。 @ShivanRaptor 你是对的。我已经编辑了问题,之前的答案是临时的。

以上是关于如何在 BlackBerry 5.0 及更高版本的 J2ME 代码中使用 wifi 调用 web 服务? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Android BLE write Characteristic 方法在 Android 5.0 及更高版本中总是返回 false

PubNub GCM通知无法在Android 5.0及更高版本上运行

缺少架构。使用 Watch OS 5.0 及更高版本 SDK 构建的应用程序必须包含其他架构

请为 Windows Mobile 5.0 及更高版本安装“NETCFv35.Messages.EN.wm.cab”或为其他平台安装“NETCFv35.Messages.EN.cab”。重启a

如何创建一个向后兼容iOS 5.0的新Xcode 5项目? - 错过故事板错误

如何在 android 2.3 及更高版本中获取当前启动器的包名?