【问题标题】:How to show html text in BlackBerry?如何在 BlackBerry 中显示 html 文本?
【发布时间】:2012-01-20 05:53:11
【问题描述】:

有没有办法在我的 BB 应用程序中显示 LOCAL html 字符串?

例如:我有一个字符串

"<b>text-text-text</b> <A href="http://stackoverflow.com">link</A>"

如何解析并显示为

文本-文本-文本 link?

谢谢。

【问题讨论】:

    标签: html blackberry


    【解决方案1】:

    您可以使用 BrowserField 将应用程序中的内容呈现为字段。为了呈现作为字符串而不是 URL 提供的 HTML,请参阅this answer,其中涉及模拟 HttpConnection。

    【讨论】:

      【解决方案2】:
      myBrowserField.displayContent("<b>text-text-text</b> <A href="http://stackoverflow.com">link</A>", "http://localhost");

      【讨论】:

        【解决方案3】:
        import javax.microedition.io.Connection;
        import javax.microedition.io.Connector;
        import javax.microedition.io.HttpConnection;
        import java.util.*;
        import java.io.*;
        
        import net.rim.blackberry.api.browser.Browser;
        import net.rim.blackberry.api.browser.BrowserSession;
        import net.rim.device.api.ui.*;
        import net.rim.device.api.browser.field.*;
        import net.rim.device.api.browser.plugin.BrowserPageContext;
        import net.rim.device.api.io.Base64OutputStream;
        import net.rim.device.api.io.http.HttpHeaders;
        import net.rim.device.api.ui.UiApplication;
        import net.rim.device.api.ui.container.MainScreen;
        import net.rim.device.api.system.Application;
        import net.rim.device.api.ui.component.LabelField;
        import net.rim.device.api.ui.component.Status;
        import net.rim.device.api.ui.component.TextField;
        
        
        
        final class bFieldExample extends UiApplication 
        
        {
            private static final String REFERER = "referer";
        
            public static final HttpConnection Utilities = null;
        
        //  private static final HttpConnection HttpConnection = null;  
        
            private RenderingSession rs;  
        
            private MainScreen ms;
        
            private HttpConnection  conn;
        
            public static void main(String[] args)
            {
                bFieldExample app = new bFieldExample();
                app.enterEventDispatcher();
        
            }
        
            public bFieldExample()
            {
                ms = new MainScreen();
                pushScreen(ms);
                rs = RenderingSession.getNewInstance();
                String s = "<b>text-text-text</b> <A href="http://stackoverflow.com">link</A>"
        
                //rs.getRenderingOptions().setProperty(RenderingOptions.CORE_OPTIONS_GUID,RenderingOptions.JAVASCRIPT_ENABLED, true);
                //LabelField l = new LabelField("Browser",LabelField.ELLIPSIS|LabelField.USE_ALL_WIDTH);
                ms.setTitle(new LabelField("Browser",LabelField.ELLIPSIS|LabelField.USE_ALL_WIDTH));        
                myThread thread = new myThread(s);
                thread.start();
            }
        
        
            class myThread extends Thread
            {
        
                private String _url;
        
                myThread(String url)
                {
                        _url=url;
        
                }
        
                public void run()
                {
                    try {
        
                        ByteArrayOutputStream output = new ByteArrayOutputStream();
                        Base64OutputStream boutput = new Base64OutputStream( output );                
                        output.write( "data:text/html;base64,".getBytes() );
                        boutput.write( _url.getBytes() );
                        boutput.flush();
                        boutput.close();
                        output.flush();
                        output.close();
        
                        BrowserSession bSession = Browser.getDefaultSession();
                        bSession.displayPage( output.toString() );
        
                        } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }   
        
                }
            }
        
        }
        

        【讨论】:

        • 这将打开一个新浏览器——我认为问题的作者正在寻找一种在应用程序本身内呈现 HTML 的解决方案。
        【解决方案4】:

        试试这个:

        BrowserField myBrowserField;
        myBrowserField = new BrowserField();
        add(myBrowserField);
        String content ="<html><head></head><body>"+
            "<b>text-text-text</b> <A href="http://stackoverflow.com">link</A>"+
            "</body></html>";
        myBrowserField.displayContent(content,"");//"http://localhost"
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-12-25
          • 2019-04-15
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多