Keine übernommenen Werte von selbst erstellter App nach Neustart

  • 22 Antworten
  • Letztes Antwortdatum
5

590239

Gast
Hallo an alle ich habe da einen frage wenn ich meine app schlise und wieder neu Starte übernimt die app falsche werte kann mir da einen helfen bitte.
 
wenn ich meine app schlise und wieder neu Starte

Wenn du eine Apple-App selbst erstellst hast (REAC / Swift ...) dann solltest du dich an ein Apple Entwickler Forum wenden .
Hier ist das Android Forum und wir unterstützen hier nur die native Entwicklung für Android ( Kotlin/Java/ C)

Aber auch in den anderen Foren solltest du direkt deinen Source mitliefern, damit man dir helfen kann
 
Zuletzt bearbeitet:
Hallo,

1) welche App genau?
2) Was für Werte werden nicht mit übernommen?
 
  • Danke
Reaktionen: Harald01 und swa00
Ok sorry im mach das in Android un bin neu auf dem gebit ich brauch noch par kleinen tipps von euch Danke
Beiträge automatisch zusammengeführt:

@MMI einen Einkaufliste die Artikelnamme hat un den preis speichert
 

Anhänge

  • Textdokument (neu).txt
    6,9 KB · Aufrufe: 70
Zuletzt bearbeitet von einem Moderator:
swa00 schrieb:
@MMI


... seine eigene App
ja eigene app
Beiträge automatisch zusammengeführt:

swa00 schrieb:
@MMI
Das Ding muss in das Entwicklerforum und ist auch NICHT für Apple sondern tatsächlich für Android :)
Also brav deinen veränderten Titel wiederholt anpassen - hast ja sonst nix zu tun :)
oh sorry bin falsch so ist das mit anfenger:1f605:
 
Zuletzt bearbeitet von einem Moderator:
@Aki75

a) es handelt sich um einen Kotlin Code für Android, nicht für Apple - das hast du falsch angegeben
b) was sagt denn dein Code im ErrorLog - dort müsstest du doch einsehen können ,warum das Teil nicht speichert
c) Hast du auch die Permission beim Benutzer angefragt , damit du überhaupt schreiben darfst ? das fehlt komplett im Source
d) Deine Loop in der Speicherfunktion kannst auch nicht so ausführen , dass muss in einen Thread
e) Man verwendet keine ListViews mehr ( deprecated) -> RecyclerView
 
Zuletzt bearbeitet:
danke dir ich kempfe mich mall durch
Beiträge automatisch zusammengeführt:

es speicher in die csv und hold die daten wieder her nur die gesamtsumme mach mir kopfschmerzen er rechne nach komerzalen
 
Zuletzt bearbeitet von einem Moderator:
Ja speichern wird er es und auch lesen denn für den Path denn du benutzt brauchst du keine Permission.

Wo genau in welcher Variablen entsteht dein Komma Problem?
Beiträge automatisch zusammengeführt:

Eine Ursache könnte sein das deine total variable von Typ float ist und nicht wie in deiner weuter Verarbeitung double.

private fun calculateTotal() {
var total = 0.0


Etweder gibst du denn Datentyp an oder benutzt 0.0L

Schaue doch auch mal in deine csv Datei wie es da gespeichert wird.
 
Zuletzt bearbeitet:
@jogimuc Also wen ich meinen App das erste mall starte und gebe die erste werte ein sieht das gut aus
1.jpg

Wenn ich sie schlisse und wieder starte dann bekomme ich das raus und ich weis nicht wo der Fehler liegt
2.jpg

uund das stecht in meine csv an statt 1.50 macht er 1.5
WhatsApp Bild 2024-01-09 um 07.42.46_965a7aba.jpg
danke für die hilfe
 
Wenn du als Delimiter in der CSV "," nimmst, dann dürfen deine Werte kein "," enthalten .
Daher musst du je nach Landessprache, das "," in "." konvertieren, sonst wird es als Delimiter angesehen.
 
Zuletzt bearbeitet:
Du benutzt ja als Delimiter das Semikolon
writer.append("$article;${decimalFormat.format(price)}\n")

Also benutze es auch beim zurück lesen, und nicht das Komma.

while (reader.readLine().also { line = it } != null) {
val values = line!!.split(",")
Beiträge automatisch zusammengeführt:

zeige deine CSV als Text Datei und nicht als Excel Bild
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: swa00
wie meinst du das ?
 
Zuletzt bearbeitet von einem Moderator:
Bearbeitet von: hagex - Grund: Direktzitat entfernt. Gruß von hagex
beim widereinlesen musst du nach den Semikolon suchen und nicht nach dem Komma.
val values = line!!.split(";")
Wie ich sagte schaue dir die CSV Datei in einem Texteditor an.
Dein Trennzeichen ist ja das ";" und nicht das Komma.
 
Ich habe das etwas angepasst jetzt sich ich das soScreenshot_20240110_100033_Total Commander.jpgDer Preis sicht gut aus aber bei der Rückgabe schreiber mir 2, 50.0 das verstehe och nicht und die Gesamtsumme ist 50 €
 
Sag, liest du auch alle Antworten hier genau durch ?
 
Zuletzt bearbeitet:
@swa00 da ich anfenger bin kann ich alles nicht verstehen was ihr schreibt sorry
 
Aber du hast doch selbst den obigen Code geschrieben, dann müsstest du doch innerhalb einer Sekunde die Beiträge von @jogimuc und mir zu 100% verstanden haben.

Oder bastelst du deine App mit GPT oder YT zusammen ? Das wird dann nichts
 
Zuletzt bearbeitet:
ja mit viel googel alles habe ich nicht verstanden wie gesagt bin erst seit 3 wochen dabei
Beiträge automatisch zusammengeführt:

/ Laden der gespeicherten Daten aus der CSV-Datei
private fun loadSavedData() {
try {
val folder = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "einkauf")
val file = File(folder, "Einkaufliste.csv")

if (file.exists()) {
val reader = BufferedReader(FileReader(file))

// Überspringe Header-Zeile
reader.readLine()

var line: String?
while (reader.readLine().also { line = it } != null) {
val values = line!!.split(",")
if (values.size == 2) {
val article = values[0].trim()
val priceString = values[1].trim().replace(" €", "")
val price = priceString.toFloatOrNull()

if (price != null) {
itemList.add("$article, ${price} €") // Hier wurde die Position des Leerzeichens korrigiert
}
}
}

reader.close()
arrayAdapter.notifyDataSetChanged()
calculateTotal()

showToast("Daten aus CSV-Datei geladen")
} else {
showToast("Die CSV-Datei existiert nicht.")
}
} catch (e: IOException) {
e.printStackTrace()
showToast("Fehler beim Laden der Daten aus der CSV-Datei")
}
}


//////////////////////////////////////////////////////////////////////////////////////////////////
private fun saveDataToCSV() {
try {

val folder = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "einkauf")
if (!folder.exists()) {
folder.mkdirs()
}

val file = File(folder, "Einkaufliste.csv")

val writer = FileWriter(file)

writer.append("Artikel;Preis\n")



val decimalFormat = DecimalFormat("0.00", DecimalFormatSymbols.getInstance(Locale.GERMAN))
decimalFormat.decimalFormatSymbols.decimalSeparator = ','

for (item in itemList) {
val values = item.split(",")
if (values.size == 2) {
val artikel = values[0]
val preisString = values[1].replace(" €", "")
val preis = preisString.toDoubleOrNull()

if (preis != null) {
val formattedPrice = decimalFormat.format(preis)
writer.append("$artikel;$formattedPrice\n")
}
}
}



writer.flush()
writer.close()

showToast("Daten in CSV-Datei gespeichert: ${file.absolutePath}")
} catch (e: IOException) {
e.printStackTrace()
showToast("Fehler beim Speichern der Daten in CSV-Datei")
}
}


fun sendCSV(view: View) {
createAndSendCSV()
}

private fun createAndSendCSV() {
try {
val folder = File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOCUMENTS), "einkauf")
val file = File(folder, "Einkaufliste.csv")

saveDataToCSV()

val intent = Intent(Intent.ACTION_SEND)
intent.type = "text/csv"
val fileUri = FileProvider.getUriForFile(this, "$packageName.provider", file)
intent.putExtra(Intent.EXTRA_STREAM, fileUri)
startActivity(Intent.createChooser(intent, "CSV-Datei versenden"))

} catch (e: IOException) {
e.printStackTrace()
showToast("Fehler beim Erstellen und Versenden der CSV-Datei")
}
}


}
das ist alles aus demm internet ich bin halt noch nicht so weit. könntet mir da helfen ?
 
Zuletzt bearbeitet von einem Moderator:
Mehr und ausführlicher kann man dir leider nicht die Antworten geben.
@jogimuc hat dir sogar code Beispiele dazu genannt - und begründet

Da musst du jetzt selbst durch - Wir können keinen Lehrgang bieten
 

Ähnliche Themen

R
  • RalfKahl
Antworten
10
Aufrufe
560
RalfKahl
R
K
Antworten
3
Aufrufe
458
mezzothunder
mezzothunder
Manny87
  • Manny87
Antworten
11
Aufrufe
448
swa00
swa00
Zurück
Oben Unten