From 718fe65a75bdb357506b3cb80c4ec41673b90e50 Mon Sep 17 00:00:00 2001 From: BuildTools Date: Tue, 4 Jun 2024 16:19:11 +0200 Subject: [PATCH] Add README Update some stuff --- README.md | 30 +++++++++++++++++++ .../com/schoolapp/cleverclass/FachActivity.kt | 3 +- .../schoolapp/cleverclass/NotenActivity.kt | 19 +++++++----- .../schoolapp/cleverclass/SettingsActivity.kt | 30 ++++++++++++------- 4 files changed, 62 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index bfc7f12..61a2661 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,32 @@ # CleverClass +CleverClass ist eine Android-App, die Schülern hilft, ihre Schulnoten zu verwalten, ihren Durchschnitt zu berechnen, den Vertretungsplan von DSBmobile einzusehen, den Stundenplan zu speichern und anzuzeigen sowie ein Periodensystem zu nutzen. +## Funktionen und Verwendung +- **Notenverwaltung:** Trage deine Schulnoten ein und berechne deinen Durchschnitt. Perfekt, um alle Noten aus der Schule übersichtlich zu speichern. +- **Vertretungsplan:** Rufe den aktuellen Vertretungsplan von DSBmobile direkt in der App auf. +- **Stundenplan:** Trage deinen Stundenplan ein, speichere und verwalte ihn in der App, um immer den Überblick zu behalten. +- **Periodensystem:** Nutze das integrierte Periodensystem, um schnell Informationen zu chemischen Elementen nachzuschlagen. +## Installation +CleverClass kann einfach über den Play Store installiert werden oder durch das Herunterladen der APK-Datei: + +Play Store: +- Öffne den Google Play Store auf deinem Android-Gerät +- Suche nach "CleverClass" +- Tippe auf "Installieren" + +APK-Datei: +- Lade die APK-Datei von der [Website](https://google.com/) herunter +- Öffne die heruntergeladene APK-Datei auf deinem Android-Gerät +- Folge den Anweisungen auf dem Bildschirm, um die Installation abzuschließen +## Anforderungen +Betriebssystem: Android +## Autoren +- Paul Posch +- Matthias Meyer +- Jakub Szarko +- Emilian Bührer +## Lizenz +Dieses Projekt steht unter der [GNU General Public License](LICENSE) Version 3, 29 June 2007. + +## Sonstiges +Dieses Projekt ist als Schulprojekt inerhalb von 3 Monaten entstanden. \ No newline at end of file diff --git a/app/src/main/java/com/schoolapp/cleverclass/FachActivity.kt b/app/src/main/java/com/schoolapp/cleverclass/FachActivity.kt index 4c38de5..6ba7786 100644 --- a/app/src/main/java/com/schoolapp/cleverclass/FachActivity.kt +++ b/app/src/main/java/com/schoolapp/cleverclass/FachActivity.kt @@ -89,7 +89,6 @@ class FachActivity : ComponentActivity() { CoroutineScope(Dispatchers.IO).launch { getGrades(this@FachActivity, name).collect { savedGrades -> grades = savedGrades.toMutableList() - println() } } @@ -513,7 +512,7 @@ fun GradePrefab( @Composable fun Item(name : String, onItemClick: (String) -> Unit){ DropdownMenuItem( - text = { Text(text = name) }, + text = { Text(text = name, style = MaterialTheme.typography.labelMedium) }, onClick = { onItemClick(name) } ) } diff --git a/app/src/main/java/com/schoolapp/cleverclass/NotenActivity.kt b/app/src/main/java/com/schoolapp/cleverclass/NotenActivity.kt index 15f44b2..2567f62 100644 --- a/app/src/main/java/com/schoolapp/cleverclass/NotenActivity.kt +++ b/app/src/main/java/com/schoolapp/cleverclass/NotenActivity.kt @@ -114,8 +114,11 @@ fun NotenContent(activity: ComponentActivity){ val editor = sharedPreferences.edit() var allAverage by remember { - mutableStateOf(calculateAllAverage(loadAllAverages(sharedPreferences))) + mutableStateOf(0f) } + + allAverage = calculateAllAverage(sharedPreferences) + var showDeleteConfirmation by remember { mutableStateOf(false) } @@ -189,7 +192,7 @@ fun NotenContent(activity: ComponentActivity){ saWeight = saWeights[i], activity = activity, sharedPreferences = sharedPreferences, - onAvgChange = { allAverage = calculateAllAverage(loadAllAverages(sharedPreferences)) } + onAvgChange = { allAverage = calculateAllAverage(sharedPreferences) } ) } @@ -201,7 +204,7 @@ fun NotenContent(activity: ComponentActivity){ saWeight = saWeights[i], activity = activity, sharedPreferences = sharedPreferences, - onAvgChange = { allAverage = calculateAllAverage(loadAllAverages(sharedPreferences)) } + onAvgChange = { allAverage = calculateAllAverage(sharedPreferences) } ) } @@ -213,7 +216,7 @@ fun NotenContent(activity: ComponentActivity){ saWeight = saWeights[i], activity = activity, sharedPreferences = sharedPreferences, - onAvgChange = { allAverage = calculateAllAverage(loadAllAverages(sharedPreferences)) } + onAvgChange = { allAverage = calculateAllAverage(sharedPreferences) } ) } @@ -225,7 +228,7 @@ fun NotenContent(activity: ComponentActivity){ saWeight = saWeights[i], activity = activity, sharedPreferences = sharedPreferences, - onAvgChange = { allAverage = calculateAllAverage(loadAllAverages(sharedPreferences)) } + onAvgChange = { allAverage = calculateAllAverage(sharedPreferences) } ) } @@ -237,7 +240,7 @@ fun NotenContent(activity: ComponentActivity){ saWeight = saWeights[i], activity = activity, sharedPreferences = sharedPreferences, - onAvgChange = { allAverage = calculateAllAverage(loadAllAverages(sharedPreferences)) } + onAvgChange = { allAverage = calculateAllAverage(sharedPreferences) } ) } @@ -343,9 +346,10 @@ fun GroopTitle(name: String, top: Boolean){ Spacer(modifier = Modifier.height(12.dp)) } -fun calculateAllAverage(avgs: List): Float{ +fun calculateAllAverage(sharedPreferences: SharedPreferences): Float{ var total = 0.0f var number = 0 + val avgs = loadAllAverages(sharedPreferences) avgs.forEach{ avg -> if (avg != 0.0f && !avg.isNaN()){ @@ -353,6 +357,7 @@ fun calculateAllAverage(avgs: List): Float{ number += 1 } } + return (total / number) } diff --git a/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt b/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt index e57cabb..295495e 100644 --- a/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt +++ b/app/src/main/java/com/schoolapp/cleverclass/SettingsActivity.kt @@ -19,6 +19,7 @@ import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.width import androidx.compose.foundation.layout.wrapContentHeight +import androidx.compose.foundation.layout.wrapContentSize import androidx.compose.foundation.rememberScrollState import androidx.compose.foundation.verticalScroll import androidx.compose.material.icons.Icons @@ -129,17 +130,24 @@ fun SettingsContent(activity: ComponentActivity) { horizontalAlignment = Alignment.CenterHorizontally ) { Divider() - Spacer(modifier = Modifier.height(16.dp)) - Text( - text = "About", - style = MaterialTheme.typography.bodySmall, - color = MaterialTheme.colorScheme.onBackground, - modifier = Modifier.clickable { - val intent = Intent(activity, AboutActivity::class.java) - activity.startActivity(intent) - } - ) - Spacer(modifier = Modifier.height(16.dp)) + Spacer(modifier = Modifier.height(8.dp)) + Box( + contentAlignment = Alignment.Center, + modifier = Modifier + .wrapContentSize() + .clickable { + val intent = Intent(activity, AboutActivity::class.java) + activity.startActivity(intent) + } + ) { + Text( + text = "About", + style = MaterialTheme.typography.bodySmall, + color = MaterialTheme.colorScheme.onBackground, + modifier = Modifier.padding(horizontal = 32.dp, vertical = 8.dp) + ) + } + Spacer(modifier = Modifier.height(8.dp)) } } }