Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blackberry 使用ConnectionFactory并从url检索数据_Blackberry - Fatal编程技术网

Blackberry 使用ConnectionFactory并从url检索数据

Blackberry 使用ConnectionFactory并从url检索数据,blackberry,Blackberry,我从Blackberry的一篇文章中获得了上述代码,但我不完全确定如何获得url内容的原始字符串,在我的例子中,这将是一个json字符串 我知道当我不使用ConnectionFactory时,我使用了inputstream来获取数据,但我不知道它是否与较新的api相同 谢谢我相信您希望做的是: public class ConsumeFactoryThread extends Thread { private String url; public ConsumeFactoryT

我从Blackberry的一篇文章中获得了上述代码,但我不完全确定如何获得url内容的原始字符串,在我的例子中,这将是一个json字符串

我知道当我不使用ConnectionFactory时,我使用了inputstream来获取数据,但我不知道它是否与较新的api相同


谢谢

我相信您希望做的是:

public class ConsumeFactoryThread extends Thread {
    private String url;

    public ConsumeFactoryThread(String url){

        this.url = url;

    }


    public void run(){

        ConnectionFactory connFact = new ConnectionFactory();
        ConnectionDescriptor connDesc;

        connDesc = connFact.getConnection(url);

        if(connDesc != null)
        {

            HttpConnection httpConn;
            httpConn = (HttpConnection) connDesc.getConnection();

            try
            {
                final int iResponseCode = httpConn.getResponseCode();
                UiApplication.getUiApplication().invokeLater(new Runnable()
                {

                    public void run()
                    {
                        //data retrieved



                    }

                });
            }
            catch(IOException e)
            {
                System.err.println("Caught IOException: " + e.getMessage());
            }
        }

    }

}
这将获取HttpConnection对象收集的输入流,使用RIM IOUtils类将其很好地放入数组中,然后最终从数据创建一个字符串。从他们的角度来看,应该可以使用RIM在SDK中包含的JSON库来处理JSON

注意:不确定是否需要强制转换,顺便说一句,这是未测试的代码

您还应该注意,有3种不同的API可用于在BlackBerry上创建网络连接

使用通用连接框架

最古老的方法(下面的OS5)是一个基本的J2ME实现,在URL末尾附加了额外的传输描述符。它使用J2ME GCF。本文给出了一个很好的解释,描述了如何始终可靠地打开HTTPConnection

使用网络API

在OS5及以上版本中引入。这是您当前使用的方法。它通过使用ConnectionFactory和ConnectionDescriptor类来包装添加到GCF中URL末尾的描述符字符串

使用通信API

介绍到及以上。这是最新的可能方法,它是网络API上更高的抽象。这些API对实际数据是如何收集的进行了抽象,尽量不让协议的细节打扰您。这个API的有用之处在于,您只需获取结果数据,而不必担心实现细节


您应该注意,在使用JSON时,它甚至会围绕转换结果数据的细节,并将其转换为您想要的格式。下面显示了一个示例。

我相信您希望做的是:

public class ConsumeFactoryThread extends Thread {
    private String url;

    public ConsumeFactoryThread(String url){

        this.url = url;

    }


    public void run(){

        ConnectionFactory connFact = new ConnectionFactory();
        ConnectionDescriptor connDesc;

        connDesc = connFact.getConnection(url);

        if(connDesc != null)
        {

            HttpConnection httpConn;
            httpConn = (HttpConnection) connDesc.getConnection();

            try
            {
                final int iResponseCode = httpConn.getResponseCode();
                UiApplication.getUiApplication().invokeLater(new Runnable()
                {

                    public void run()
                    {
                        //data retrieved



                    }

                });
            }
            catch(IOException e)
            {
                System.err.println("Caught IOException: " + e.getMessage());
            }
        }

    }

}
这将获取HttpConnection对象收集的输入流,使用RIM IOUtils类将其很好地放入数组中,然后最终从数据创建一个字符串。从他们的角度来看,应该可以使用RIM在SDK中包含的JSON库来处理JSON

注意:不确定是否需要强制转换,顺便说一句,这是未测试的代码

您还应该注意,有3种不同的API可用于在BlackBerry上创建网络连接

使用通用连接框架

最古老的方法(下面的OS5)是一个基本的J2ME实现,在URL末尾附加了额外的传输描述符。它使用J2ME GCF。本文给出了一个很好的解释,描述了如何始终可靠地打开HTTPConnection

使用网络API

在OS5及以上版本中引入。这是您当前使用的方法。它通过使用ConnectionFactory和ConnectionDescriptor类来包装添加到GCF中URL末尾的描述符字符串

使用通信API

介绍到及以上。这是最新的可能方法,它是网络API上更高的抽象。这些API对实际数据是如何收集的进行了抽象,尽量不让协议的细节打扰您。这个API的有用之处在于,您只需获取结果数据,而不必担心实现细节

您应该注意,在使用JSON时,它甚至会围绕转换结果数据的细节,并将其转换为您想要的格式。给出了一个例子