Android實現webSocket

  • 概述:

  實現android加載html資源,html中通過js實現socket通訊,將後臺發送的文本在頁面滾動顯示並轉換爲語音播報。

  • 實現:

    1.通過webview加載html資源

 

webView.loadUrl("file:///android_asset/index.html");

 

   1.1.頁面文字滾動使用marquee跑馬燈(效果最理想)

   1.2.文本的語音轉換使用百度的語音轉換接口,要求資源一直在線

 

2.activity調用html中的js函數以實現數據傳遞(若不需要傳遞數據則可直接加載html)

 

  2.1.java對js函數的調用使用webView.loadUrl("javascript:函數名()");,若直接寫在onCreate中則無法調用,因爲      webView.loadUrl是異步加載方法,若直接在onCreate中通過此方法調用js,實際執行時頁面資源(h5)尚未加載完成,必然出現調用無效,而通過按鈕點擊事件進行調用時,頁面已完成加載,自然可用正常調用。如果不想使用事件觸發的方式進行調用,也可在webView.setWebViewClient傳入webViewClient對象時,在重寫的onPageFinished方法中進行調用。

參考:https://blog.csdn.net/blue_zy/article/details/80316488

3.java調用帶參數的js函數時,參數須以單引號包裹,格式爲:

webView.loadUrl("javascript:函數名('"+參數+"')");

4.原生webview也可以實現html的socket通訊功能(原以爲只有使用了tencent X5內核的webview才行),但語音播報好像不能實現(X5可用)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章