【问题标题】:Read text from an URL on Codename One从代号一上的 URL 读取文本
【发布时间】:2014-04-12 05:46:49
【问题描述】:

我对代号一比较陌生。我正在尝试从纯文本 url 读取文本并将文本存储在字符串中。我尝试使用 java IO 包,但由于某种原因,它似乎与代号 1 不一致。请帮忙。

大卫。

【问题讨论】:

    标签: url codenameone


    【解决方案1】:

    当您尝试使用 Java IO 包时,我认为您可能并不真正理解 codenameone。但无论如何,这段代码可能会让你继续前进

        ConnectionRequest r = new ConnectionRequest();
        r.setUrl("YOURURLHERE");
        r.setPost(false);
    
        r.addResponseListener(new ActionListener()
        {
    
            public void actionPerformed(ActionEvent ev)
            {
                try
                {
                    NetworkEvent event = (NetworkEvent) ev;
                    byte[] data= (byte[]) event.getMetaData();
                    String decodedData = new String(data,"UTF-8");
                    System.out.println(decodedData);
    
                } catch (Exception ex)
                {
                    ex.printStackTrace();
                }
    
            }
    
        });
        NetworkManager.getInstance().addToQueue(r);
    

    注意:您可能希望使用 GUI 组件将文本添加到您的应用程序,而不是使用 System.out.println,它可以很好地用于调试目的。我不确定这是否需要说,但再次说明它不会有任何害处:)

    【讨论】:

    • 你也可以做类似 Util.downloadUrlToStorage() 或 ConnectionRequest r = new ConnectionRequest(); r.setURL(...); NetworkManager.getInstance().addToQueueAndWait(); byte[] 数据 = r.getData();
    • 非常感谢!还没有尝试过,但很快就会。是的,我是代号一的菜鸟,自从我发现它以来,这可能是我使用它的第四天。谢谢!
    • 我试过了,但是当我运行代码时,一堆这样的消息:“队列中的重复条目:com.codename1.io.ConnectionRequest:com.codename1.io.ConnectionRequest@22b3c488”出现在控制台中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 2012-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多