好的,这里提供一个 Android WebView 使用 WebSocket 的示例代码。
首先,需要在 AndroidManifest.xml 文件中添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
然后,创建一个布局文件,添加一个 WebView 控件:
<WebView
android:id="@+id/web_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
接下来,在 Activity 或 Fragment 中,可以使用如下代码启用 WebSocket:
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends AppCompatActivity {
private WebView mWebView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = findViewById(R.id.web_view);
mWebView.setWebViewClient(new WebViewClient());
mWebView.setWebChromeClient(new WebChromeClient());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.loadUrl("file:///android_asset/index.html");
其中,file:///android_asset/index.html 是一个包含 WebSocket 连接代码的 HTML 文件。在 HTML 文件中,可以使用如下代码建立 WebSocket 连接:
<!DOCTYPE html>
<title>WebSocket Example</title>
</head>
<script>
var ws = new WebSocket("ws://echo.websocket.org");
ws.onopen = function() {
console.log("WebSocket connection established");
ws.onmessage = function(event) {
console.log("Received message: " + event.data);
ws.onclose = function() {
console.log("WebSocket connection closed");
</script>
</body>
</html>
在这个例子中,WebSocket 连接到了 echo.websocket.org,当连接成功后,会在控制台输出一条消息。当收到服务器发送的消息时,也会在控制台输出。
需要注意的是,WebSocket 是一个异步的协议,因此在建立连接后,可以使用回调函数来处理事件。在这个例子中,使用了 onopen、onmessage 和 onclose 回调函数来处理 WebSocket 的连接建立、消息接收和连接关闭事件。
希望这个示例代码能够帮到你。如果你有任何疑问,请继续提问。