Zum Hauptinhalt springen

Voraussetzungen

Vor dem Klonen des Repositorys und dem Kompilieren des Projekts muss die folgende Software auf dem Entwicklungscomputer installiert und konfiguriert sein.

Entwicklungsumgebung​

WerkzeugMindestversionNotizen
AndroidStudioIgel (2023.1.1) oder höherDie neueste stabile Version wird empfohlen
JDK11Konfiguriert als sourceCompatibility und targetCompatibility im Modul :app
Gradle8.13Verwaltet durch den im Repository enthaltenen Wrapper (gradlew)
Android SDK (compileSdk)36Von Android Studio SDK Manager
Android SDK (minSdk)24 (Android 7.0 Nougat)Die Anwendung lässt sich auf früheren Versionen nicht installieren
Kotlin2.0+Verwaltet durch das Plugin kotlin.android, deklariert in build.gradle.kts

Dienstkonten erforderlich​

Das Projekt ist auf zwei externe Backends angewiesen, die aktive Konten erfordern:

Supabase

Sie benötigen ein Supabase-Projekt mit den in Base de datos beschriebenen Schematabellen. Die Anmeldeinformationen (SUPABASE_URL und SUPABASE_KEY) werden in AppConfig.kt als Konstanten deklariert. Für Produktionsumgebungen wird empfohlen, sie in eine local.properties-Datei oder in Umgebungsvariablen zu verschieben und die tatsächlichen Werte nicht in das Repository aufzunehmen.

Feuerbasis

Es ist ein Firebase-Projekt mit aktiviertem Data Connect-Dienst erforderlich. Die Datei google-services.json muss nach app/google-services.json kopiert werden. Diese Datei sollte nicht in das Repository hochgeladen werden, wenn das Projekt öffentlich ist.

Für die Anwendung erforderliche Berechtigungen​

Der AndroidManifest.xml deklariert die folgenden Berechtigungen:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
<uses-permission android:name="android.permission.SCHEDULE_EXACT_ALARM" />
<uses-permission android:name="android.permission.USE_EXACT_ALARM" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
ErlaubnisGeben Sieein Zweck
INTERNETNormalZugriff auf Supabase und Firebase
ACCESS_NETWORK_STATENormalKonnektivitätsprüfung
POST_NOTIFICATIONSLaufzeit (Android 13+)Benachrichtigungen zur Reservierungserinnerung anzeigen
SCHEDULE_EXACT_ALARMNormalStellen Sie genaue Alarme für Erinnerungen ein
USE_EXACT_ALARMNormalZusätzliche Gewährleistung der Alarmgenauigkeit in API 33+
RECEIVE_BOOT_COMPLETEDNormalDeklariert für zukünftige Alarmneuprogrammierung nach dem Zurücksetzen

Die Berechtigung POST_NOTIFICATIONS wird zur Laufzeit von MainActivity.onCreate() auf Geräten mit Android 13 (API 33) oder höher angefordert. In früheren Versionen wird die Berechtigung automatisch erteilt. Die App funktioniert auch ohne diese Berechtigung, sendet jedoch keine Erinnerungsbenachrichtigungen.

Die Netzwerkkonnektivität ist für den Betrieb der Anwendung von entscheidender Bedeutung, da alle Datenvorgänge remote erfolgen.