在Android中从互联网获取数据

时间:2011-11-09 22:32:18

标签: android html-parsing

我想从我的网站获取内容,并在列表视图和文本视图中显示这些内容。我使用jsoup库来解析HTML,但我的应用程序使用的是25 MB ram,你知道这对于一个应用来说非常多。

如何提高应用程序的ram效率?

1 个答案:

答案 0 :(得分:3)

您可以使用webview显示它,而不是尝试解析它并将其转换为原生视图。

@Override
    public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(savedInstanceState);
         //.. Other setup ...   
         //Add webview     
         WebView myWebView = (WebView) findViewById(R.id.webview);
         myWebView.getSettings().setJavaScriptEnabled(true);
         myWebView.addJavascriptInterface(new JSBridge(), "JSJavaBridge");
         myWebView.loadUrl("http://my.testdomain.com/theSharedPage.html"); 
    }

然后在JSBridge类中编写方法来处理JS和Java之间的任何交互。例如:

private class JSBridge
{ 
    public playSound(){
         mp = MediaPlayer.create(Test.this, R.raw.mysound);   
         mp.start();
    }
}

然后在HTML中,使用JSBridge从Java播放声音。

   <script type="text/javascript">

            $(document).ready(function () {
                $( '#playSound' ).click(function () {

                    if(typeof JSJavaBridge != 'undefined')
                          JSJavaBridge.playSound();
                });
            });
    </script>