首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HttpConnection黑莓8900

HttpConnection黑莓8900
EN

Stack Overflow用户
提问于 2011-05-30 14:22:20
回答 1查看 382关注 0票数 0

我是个黑莓新手,我用黑莓9800模拟器创建了一个HTTP连接。我写了下面的代码。

代码语言:javascript
复制
    public MyScreen()
{        
    // Set the displayed title of the screen       
    setTitle("Hello");
    ConnectionFactory connFact = new ConnectionFactory();
    ConnectionDescriptor connDesc;
    connDesc = connFact.getConnection("http://whistlersbest.net/api/categories.php?parent_id=0");
    System.out.println("hello " + connFact);
    if (connDesc != null)
    {
        HttpConnection httpConn;
        httpConn = (HttpConnection)connDesc.getConnection();
        try
        {
            in = httpConn.openInputStream();

            int ii;
            while((ii=in.read()) != -1){

              strbuffer = strbuffer + (char)ii;
            }
         } 
         catch (IOException e) 
         {
           System.err.println("Caught IOException: " 
                + e.getMessage());
         }
    }
    setTitle("Whistlers Best");
    System.out.println("set Title");
    xmlHandler xm = new xmlHandler(strbuffer);
    category = xm.getCategory();
    System.out.println("category set");
    String[] arr = new String[category.getIds().size()];
    System.out.println("Array " + arr.length);
    list = new ObjectListField(){
        protected boolean navigationClick(int status, int time) {
            //UiApplication.getUiApplication().pushScreen(new SubCategories(category.getIds().elementAt(list.getSelectedIndex()).toString(),"1",category.getNames().elementAt(list.getSelectedIndex()).toString()));
            return false;

        }

    };
    for(int y = 0; y<category.getIds().size() ; y++){
        arr[y] = (String)category.getNames().elementAt(y);
        System.out.println("string: "+arr[y]);
    }


    list.set(arr);
    VerticalFieldManager hfm = new VerticalFieldManager(Manager.FIELD_HCENTER);
    hfm.add(new LabelField("Categories",
            Field.FIELD_HCENTER));
    hfm.add(list);
    list.setChangeListener(this);
    add(hfm);

}

它工作得很完美。但是突然我需要从Blackberry 9800切换到Blackberry 8900 Curve。我使用模拟器,并编写相同的代码。但是我让NullPointerException在线上:

代码语言:javascript
复制
connDesc = connFact.getConnection("http://whistlersbest.net/api/categories.php?parent_id=0");

我哪里错了?

EN

回答 1

Stack Overflow用户

发布于 2011-05-30 15:52:07

5版本以后支持ConnectionFactory.getConnection(),黑莓8900是5.x还是4.x?我想是4.x。

你可以试试这个:HTTPConnection httpConnector = (HttpConnection) Connector.open(url);

并获得响应:httpConnector.setRequestMethod(HttpConnection.GET); InputStream in = httpConnector.openInputStream();

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6172915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档