# YPChat Android Native Android-App fuer den bestehenden YPChat-Server. ## Stack - Kotlin - Jetpack Compose - Retrofit/OkHttp fuer REST - Socket.IO Android Client fuer den Chat - persistente OkHttp `CookieJar`, damit REST und Socket dieselbe `connect.sid`-Session nutzen ## Projekt Oeffnen Den Ordner `android/` in Android Studio oeffnen. Das Projekt ist auf Android Gradle Plugin `8.13.2`, Gradle `8.13`, JDK 17 und `compileSdk = 36` ausgelegt. Falls Android Studio keinen Gradle Wrapper erzeugt, kann er in diesem Ordner mit einer lokalen Gradle-Installation nachgezogen werden: ```powershell gradle wrapper --gradle-version 8.13 ``` Danach: ```powershell .\gradlew.bat :app:assembleDebug ``` ## Backend-URLs Debug und Release verwenden standardmaessig: ```text https://www.ypchat.net ``` Fuer lokale Tests kann die URL in `android/local.properties` ueberschrieben werden: ```properties ypchat.baseUrl=http://10.0.2.2:3300 ``` `10.0.2.2` zeigt im Android Emulator auf den lokalen Rechner. Auf einem echten Geraet muss stattdessen die LAN-IP des Rechners oder ein Dev-Tunnel verwendet werden, z.B.: ```properties ypchat.baseUrl=http://192.168.178.42:3300 ``` ## Implementierter Durchstich - `GET /api/session` - Socket.IO Connect mit WebSocket zuerst und Polling-Fallback - `setSessionId` - `login` - `userList` - `requestConversation` - Textnachrichten ueber `message` - `requestOpenConversations` - `requestHistory` - `userSearch` - `blockUser` - `POST /api/logout` - Laenderliste im Login ueber `/api/countries` - Upload-Client fuer `/api/upload-image` im Repository vorbereitet ## Noch Offen - Android Photo Picker an `uploadImage()` anschliessen - lokale Logout-Markierung analog Web-Frontend speichern - Reconnect-Feinschliff nach App-Background testen - Play-Store-Texte, Datenschutz, Impressum und App-Icons finalisieren