bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


android_threads

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
android_threads [2025/10/14 17:49]
enric_mieza_sanchez [Threads en Android]
android_threads [2025/10/14 18:53] (actual)
enric_mieza_sanchez [Android i WebSockets]
Línia 221: Línia 221:
 ====== Android i WebSockets ====== ====== Android i WebSockets ======
  
-Per poder emprar la [[https://github.com/TooTallNate/Java-WebSocket|biblioteca de codi Java WebSockets]] en Android caldrà afegir algunes línies als arxius: +Si voleu emprar Websockets mireu l'article [[Android Comunicacions]].
- +
-<file kotlin build.gradle.kts> +
-dependencies { +
-    ... +
-    implementation(libs.websocket) +
-    ... +
-+
-</file> +
- +
-<file kotlin libs.versions.toml> +
-[versions] +
-... +
-websocket = "1.5.7" +
- +
-[libraries] +
-... +
-websocket = { group = 'org.java-websocket', name = "Java-WebSocket", version.ref = "websocket"+
- +
-</file> +
- +
-Recordem que per poder-se connectar a internet, cal [[https://developer.android.com/training/basics/network-ops/connecting|activar el permís Android d'accés a Internet]]+
- +
-<file xml AndroidManifest.xml> +
-<uses-permission android:name="android.permission.INTERNET" /> +
-<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> +
-</file> +
- +
- +
-Un cop fet tot això podrem emprar les biblioteques WebSockets al nostre codi: +
- +
-<tabbox Versió Kotlin> +
-<code kotlin MainActivity.kt> +
-class MainActivity : AppCompatActivity() { +
- +
-    class MyWebSocketClient(serverUri: URI) : WebSocketClient(serverUri) { +
- +
-        override fun onOpen(handshakedata: ServerHandshake?) { +
-            println("✅ Connectat al servidor"+
-            println("🔗 Codi d'estat: ${handshakedata?.httpStatus}"+
-            println("📝 Descripció: ${handshakedata?.httpStatusMessage}"+
-        } +
- +
-        override fun onMessage(message: String?) { +
-            println("📥 Rebut: $message"+
-        } +
- +
-        override fun onClose(code: Int, reason: String?, remote: Boolean) { +
-            println("🔌 Connexió tancada"+
-            println("📋 Codi: $code, Raó: $reason, Remote: $remote"+
-        } +
- +
-        override fun onError(ex: Exception?) { +
-            println("❌ Error: ${ex?.message}"+
-            ex?.printStackTrace() +
-        } +
-    } +
- +
-    fun connectaWS() { +
-        val uri = URI("ws://server.domini.tld") // utilitzeu wss:// si va sobre HTTPS +
-        var wsclient = MyWebSocketClient(uri) +
-        wsclient.connect() +
-    } +
-+
-</code> +
-<tabbox Versió Java> +
- +
-<code java MainActivity.java> +
-import org.java_websocket.client.WebSocketClient; +
-import org.java_websocket.drafts.Draft_6455; +
-import org.java_websocket.handshake.ServerHandshake; +
- +
-... +
- +
-    WebSocketClient client = null; +
-    URI location = "ws://mywsserver.com"; +
-  +
-    try { +
-        client = new WebSocketClient(new URI(location), (Draft) new Draft_6455()); +
-        client.connect(); +
-    } catch (URISyntaxException e) {  +
-        e.printStackTrace();  +
-        System.out.println("Error: " + location + " no és una direcció URI de WebSocket vàlida"); +
-    } +
-     +
-    client.send("Hola! M'acabo de connectar"); +
- +
-... +
-</code> +
- +
-</tabbox> +
- +
-<WRAP tip> +
-Teniu més explicacions i exemples a la pàgina [[WebSockets Java]] d'aquesta wiki. +
-</WRAP>+
  
android_threads.txt · Darrera modificació: 2025/10/14 18:53 per enric_mieza_sanchez