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
Següent revisió
Revisió prèvia
android_threads [2023/10/17 14:33]
enric_mieza_sanchez [Exercicis]
android_threads [2024/10/21 13:53] (actual)
enric_mieza_sanchez [Android i WebSockets]
Línia 197: Línia 197:
   - Mostra la imatge al ''ImageView''. Comprova que al fer el ''imageView.setImageBitmap(bitmap)'' ens falla amb una excepció si ho fem al //thread// de comunicacions.   - Mostra la imatge al ''ImageView''. Comprova que al fer el ''imageView.setImageBitmap(bitmap)'' ens falla amb una excepció si ho fem al //thread// de comunicacions.
   - Utilitza el ''Handler'' com a l'exemple i comprova que ara canvia la imatge i no peta.   - Utilitza el ''Handler'' com a l'exemple i comprova que ara canvia la imatge i no peta.
 +
 +Si et queda temps, crida la API randomfox (explicada mes amunt) i obtingues una imatge diferent cada cop, i mostra-la al ''ImageView''.
  
 </WRAP> </WRAP>
Línia 215: Línia 217:
  
 \\ \\
 +
 +====== 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:
 +
 +<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 Java WebSockets al nostre codi:
 +
 +<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>
 +
 +<WRAP tip>
 +Teniu més explicacions i exemples a la pàgina [[WebSockets Java]] d'aquesta wiki.
 +</WRAP>
  
android_threads.1697553215.txt.gz · Darrera modificació: 2023/10/17 14:33 per enric_mieza_sanchez