Files
singlechat/android/README.md
Torsten Schulz (notebook) 84f57facba android version
2026-05-12 10:21:24 +02:00

72 lines
1.8 KiB
Markdown

# YPChat Android
Native Android-App fuer den bestehenden SingleChat/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