

androidのweb viewでserversent方式で送信されてくるテキストデータを閲覧しています。  
このデータをwebviewからテキストデータをして取得するにはどうすればいいですか？下のコードを試してみましたが値はnullになってしまいました。

[code]

    public class MainActivity extends AppCompatActivity {
    
        private Timer mainTimer;
        private MainTimerTask mainTimerTask;
        private int count = 0;
        private Handler mHandler = new Handler();
        private TextView thelabel;
    
    
    
        //
        private Timer mainTimer2;
        private MainTimerTask mainTimerTask2;
        private int count2 = 0;
        private Handler mHandler2 = new Handler();
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    
    
            setContentView(R.layout.activity_main);
    
    
            WebView myWebView = (WebView) findViewById(R.id.webView);
    
            myWebView.setWebViewClient(new WebViewClient());
    
            myWebView.loadUrl("http://192.168.43.238/");//http://192.168.43.238/
            WebSettings webSettings = myWebView.getSettings();
            webSettings.setDefaultFontSize(60);
    
    
    
            myWebView.scrollTo(0, myWebView.getContentHeight());
    
    
            count = myWebView.getContentHeight();
    
    
            this.mainTimer = new Timer();
    
            this.mainTimerTask = new MainTimerTask();
    
            this.mainTimer.schedule(mainTimerTask, 1000,100);
    
    
    
    
            myWebView.evaluateJavascript(
                    "(function() { return (document.getElement.innertext); })();",
                    new ValueCallback<String>() {
                        @Override
                        public void onReceiveValue(String html) {
                            Log.d("HTML", html);
                            // code here
                        }
                    });
    
    
        }
    
    
        public class MainTimerTask extends TimerTask {
            @Override
            public void run() {
    
                mHandler.post( new Runnable() {
                    public void run() {
    
                        WebView myWebView = (WebView) findViewById(R.id.webView);
    
                        count += 1000;
    
                        myWebView.scrollTo(0, count);  //getContentHeight());
    
                        WebSettings webSettings = myWebView.getSettings();
                        webSettings.setDefaultFontSize(60);
    
    
    
                        myWebView.evaluateJavascript(
                                "(function() { return (document.getElement.innertext); })();",
                                new ValueCallback<String>() {
                                    @Override
                                    public void onReceiveValue(String html) {
                                        Log.d("HTML", html);
                                        // code here
                                    }
                                });
                    }
    
                });
            }
        }
    }
    
[/code]


CC BY-SA 3.0
2017-03-11T10:29:32.613
33260
2017-03-12T07:43:47.940
2017-03-12T07:43:47.940
2376
19496
question
javascript android arduino
androidのwebviewからのテキストデータの取得


`document.getElement.innerText` が正しく動作していないと思われます。

javascriptで特定の要素を取得するときは、 `document.getElementById("id")` のように行うので、
`myWebView.evaluateJavascript("(function() { return
(document.getElement.innertext); })();"` の辺りのjavascriptではエラーになってるんじゃないでしょうか？

開こうとしているWebページをいったんPCのChromeなどから開いてみて、コンソールからjavascriptを実行して結果が思った通りに返ってくるか確認してみるのがいいと思います。  
↓こういうのを参考にしてみるのがよいんじゃないでしょうか？  
<http://www.buildinsider.net/web/chromedevtools/01#page-9>


CC BY-SA 3.0
2017-03-11T14:58:51.820
33263
2017-03-11T14:58:51.820
7655
33260
answer