Androidのwebviewでwebsocketを実現
まずwebsocketをくどくど言って、その名の通り、websocketもsocketで、通信に使うので、webに使うだけなので、websocketと言います.websocketはhtml 5仕様の1つで、chrome、ffなどの主流ブラウザでサポートされています.しかし、私たちandroidのオリジナルブラウザは......androidのwebviewもオリジナルブラウザの核心を使っているので、同じ悲劇です.
Websocketが登場してからsocketを開発した人がいますio、これは何ですか?Websocketをカプセル化することで、Websocketをサポートしていないプラットフォームがsocketを呼び出している場合でもio時でも正常に通信できます.そしてsocket.を使っていますioの場合、支がwebsocketをサポートしているかどうかにかかわらず、コード1部だけでいいです.
socket.io,android環境のwebviewでsocket通信を使用できるようになった.しかし、androidはwebsocketをサポートしていません.ioはいったいどのようにしてsocket通信を実現しているのだろうか.なるほどioは、xhr、flashsocketなど、プラットフォームがwebsocketをサポートしていない場合に他の方法で実現します.androidではsocket.io実装ではxhr方式が用いられる.
xhrは通信を実現しているが,websocketに比べてxhrの実現方式の性能は比べものにならない.ではandroidにも本当のwebsocketを実現させる方法はありますか?はい、誰かが迂回する方法を考え出しました.
webviewとページが呼び出せる特性を利用して、JAVA NIOを採用してwebsocketを一度実現しました.これで本物のsocketです.
実はすでにこのような方式を実現している人がいて、しかもいくつかのプラグインを導入しておよびごく少ないコードを修正するだけでsocketを採用することができます.ioのコードはandroidのwebviewでwebsocketを実現する.
プロジェクトgithubアドレス:https://github.com/koush/android-websockets#readme
使い方を簡単に説明します. EclipseでAndroidプロジェクト を新規作成 animesh kumarのwebssocket-android-phonegapプロジェクトjavaファイル(WebSocketFactory.javaとWebSocket.java)をjarパッケージにし、androidプロジェクトのlibsディレクトリの下に保存し、プロジェクト にインポートする websocket.jsはassets/www/jsディレクトリの下に 保存されます.プロジェクト起動クラスAppを修正する.JAvaはAppです.JAvaのonCreateメソッドには、 というコードが追加されています. を追加
この行はsocket.をロードする必要があることに注意してください.io.jsの前にロード
Websocketが登場してからsocketを開発した人がいますio、これは何ですか?Websocketをカプセル化することで、Websocketをサポートしていないプラットフォームがsocketを呼び出している場合でもio時でも正常に通信できます.そしてsocket.を使っていますioの場合、支がwebsocketをサポートしているかどうかにかかわらず、コード1部だけでいいです.
socket.io,android環境のwebviewでsocket通信を使用できるようになった.しかし、androidはwebsocketをサポートしていません.ioはいったいどのようにしてsocket通信を実現しているのだろうか.なるほどioは、xhr、flashsocketなど、プラットフォームがwebsocketをサポートしていない場合に他の方法で実現します.androidではsocket.io実装ではxhr方式が用いられる.
xhrは通信を実現しているが,websocketに比べてxhrの実現方式の性能は比べものにならない.ではandroidにも本当のwebsocketを実現させる方法はありますか?はい、誰かが迂回する方法を考え出しました.
webviewとページが呼び出せる特性を利用して、JAVA NIOを採用してwebsocketを一度実現しました.これで本物のsocketです.
実はすでにこのような方式を実現している人がいて、しかもいくつかのプラグインを導入しておよびごく少ないコードを修正するだけでsocketを採用することができます.ioのコードはandroidのwebviewでwebsocketを実現する.
プロジェクトgithubアドレス:https://github.com/koush/android-websockets#readme
使い方を簡単に説明します.
appView.addJavascriptInterface(new WebSocketFactory(appView), "WebSocketFactory");
この行はsocket.をロードする必要があることに注意してください.io.jsの前にロード