Dieser Artikel ist Teil der Friends4-Enzyklopädie und wird nach Wiki-Prinzipien gepflegt, geprüft und versioniert.
Friends4 Android-App
Projektstruktur app/src/main/ ├── AndroidManifest.xml ├── java/de/friends4/app/ │ ├── activities/ │ │ ├── SplashActivity.kt ← AppStart, prüft ob eingeloggt │ │ ├── StartActivity.kt ← Logo + Login/RegistrierenButtons │ │ ├── LoginActivity.kt ← LoginFormular → POST /auth/api/login │ │ ├── RegisterActivity.kt ← Öffnet friends4.de/auth/register im Browser │ │ ├── DashboardActivity.kt ← Hauptseite nach Login │ ├── api/ │ │ ├── ApiService.kt ← RetrofitSchnittstelle │ │ └── RetrofitClient.kt ← HTTPClie
Friends4 Android-App
Projektstruktur
app/src/main/
├── AndroidManifest.xml
├── java/de/friends4/app/
│ ├── activities/
│ │ ├── SplashActivity.kt ← App-Start, prüft ob eingeloggt
│ │ ├── StartActivity.kt ← Logo + Login-/Registrieren-Buttons
│ │ ├── LoginActivity.kt ← Login-Formular → POST /auth/api/login
│ │ ├── RegisterActivity.kt ← Öffnet friends4.de/auth/register im Browser
│ │ ├── DashboardActivity.kt ← Hauptseite nach Login
│ ├── api/
│ │ ├── ApiService.kt ← Retrofit-Schnittstelle
│ │ └── RetrofitClient.kt ← HTTP-Client + Cookie-Handling
│ ├── models/
│ │ └── Models.kt ← LoginRequest, LoginResponse, User, ChatMessage
│ └── utils/
│ └── SessionManager.kt ← Login-Session in SharedPreferences
└── res/
├── layout/ ← XML-Layouts für alle Screens
├── drawable/ ← Hintergründe, Icons, Logo
├── values/ ← colors.xml, strings.xml, themes.xml
└── anim/ ← Logo-Animation
Einrichtung in Android Studio
1. **Neues Projekt erstellen:**
- File → New → New Project → Empty Activity
- Package: `de.friends4.app`
- Sprache: Kotlin
- Min SDK: API 24
2. **Dateien kopieren:**
- Alle Dateien aus diesem ZIP in die entsprechenden Ordner kopieren.
3. **Server-URL anpassen:**
- `app/src/main/java/de/friends4/app/api/RetrofitClient.kt`
- Zeile: `private const val BASE_URL = "https://friends4.de/"`
4. **Synchronisieren & bauen:**
- File → Sync Project with Gradle Files
- Build → Make Project
Nächste Schritte
- [ ] Siehe `ANDROID_TODO.md` für die priorisierte Roadmap
- [ ] Performance-Budgets & Messung: `docs/performance-targets.md`
- [ ] Aktueller Fokus: Dashboard, Profil, Nachrichten
- [ ] Vorübergehend aus der App ausgeklammert: Gameworld, Worldchat, VideoWorld, Sedcard
- [ ] Push-Benachrichtigungen vorbereiten
- [ ] Play-Store-Release vorbereiten
Hinweise
Nutze diesen Artikel als Orientierung. Bei Regeln gilt die aktuell freigegebene Version und bei Unsicherheit die Moderation.
Warnungen
Melde veraltete, missverständliche oder sicherheitsrelevante Informationen direkt über das Formular.
Diskussion
Die Diskussionsseite ist für konkrete Verbesserungsvorschläge gedacht: fehlende Abschnitte, unklare Formulierungen, Quellenhinweise oder Korrekturen. Sie ist keine Chatfunktion.
Bilder und Downloads
Optionale Medien, Grafiken oder Downloads können über strukturierte Daten und zukünftige Dateifreigaben ergänzt werden.