- Updated the application namespace and ID from "net.ypchat.app" to "de.ypchat.android" for better alignment with branding. - Increased Gradle heap size settings to optimize build performance. - Disabled dependency constraints to simplify dependency management. - Removed obsolete files related to the previous application structure, including MainActivity, YpChatApp, and various core components, streamlining the codebase. These changes collectively enhance the application's configuration and structure, improving maintainability and performance.
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 dieselbeconnect.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:
gradle wrapper --gradle-version 8.13
Danach:
.\gradlew.bat :app:assembleDebug
Backend-URLs
Debug und Release verwenden standardmaessig:
https://www.ypchat.net
Fuer lokale Tests kann die URL in android/local.properties ueberschrieben werden:
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.:
ypchat.baseUrl=http://192.168.178.42:3300
Implementierter Durchstich
GET /api/session- Socket.IO Connect mit WebSocket zuerst und Polling-Fallback
setSessionIdloginuserListrequestConversation- Textnachrichten ueber
message requestOpenConversationsrequestHistoryuserSearchblockUserPOST /api/logout- Laenderliste im Login ueber
/api/countries - Upload-Client fuer
/api/upload-imageim 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