German txt-Datei speichern

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

ich schaffe es einfach nicht, eine kleine Textdatei in einem vom User gewählten Verzeichnis oder auf USB-Stick zu speichern.
Der Filedialog geht auf, ich kann das Verzichnis wählen, dort Schreibrechte vergeben, dann stürzt meine App ab.
Ich finde den Fehler einfach nicht

B4X:
Sub BtnDaba_4_Click 
    'Export Spieler-Datenbank
    '
    Storage.SelectDir(False)
    Wait For Storage_ExternalFolderAvailable
    FoldersStack.Clear
    Enter4_Folder(Storage.Root)
End Sub

Private Sub Enter4_Folder (folder As ExternalFile)
    FoldersStack.Add(folder)
    Dim sb As StringBuilder
    sb.Initialize
    '
    For Each fl As ExternalFile In FoldersStack
        If fl = Storage.Root Then
            sb.Append("Root")
        Else
            sb.Append(" / ").Append(fl.Name)
        End If
    Next
    '
    Dim destfile As ExternalFile = Storage.CreateNewFile(Storage.Root,"Mitspieler.txt")  'define destfile
    Dim Out As OutputStream = Storage.OpenOutputStream(destfile)                         'create Outputstream
    Dim In As InputStream  = File.OpenInput(File.Combine(oListDir,"/"),"Mitspieler.txt") 'create Inputstream
    File.Copy2(In,Out)                                                                      'copy file
    Out.Close                                                                            'close Outputstream
    '   
    ToastMessageShow("Datenbank wurde erfolgreich exportiert.", False)
    '
End Sub
 

b4x-de

Active Member
Licensed User
Longtime User
Ich kann nur raten... Gibt es hierfür Permissions, die erteilt sein müssen?
 

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

Hier kann man genau sehen, wo die App abstürzt, die 1 wird noch im Log gezeigt:
B4X:
'
Log("1")
'
Storage.SelectDir(False)
Wait For Storage_ExternalFolderAvailable
'
Log("2")
'  
FoldersStack.Clear
EnterFolder(Storage.Root)
'

Hier die das Log mit Fehlermeldung:


B4X:
oListDir = File.DirInternal & "/MeineApp"
File.MakeDir(File.DirInternal,"MeineApp")
 

peternmb

Well-Known Member
Licensed User
Longtime User
Irgendwie habe ich das gefühl du benutzt entweder eine veraltete B4A Version oder ein veraltetes SDK.
B4A 13.40 64-Bit
C:\ANDROID\platforms\android-36\android.jar

Ich bin mir sicher, dass das bereits problemlos funktioniert hat.
Diese Funktion wird in meiner App öfters angeboten aber eher selten benötigt.
Keine Ahnung seit wann das nicht mehr funktioniert, ich vermute nach einem Update von B4A oder des SDK.

Ich versuche, das in einem kleineren Projekt nachzubilden, kann aber etwas dauern...
 

DonManfred

Expert
Licensed User
Longtime User

peternmb

Well-Known Member
Licensed User
Longtime User
Eine kopie des Compilationwindows könnte auch helfen.
 

peternmb

Well-Known Member
Licensed User
Longtime User
Wird da ein #AdditionalJar benötigt? Falls ja, ist das referenziert?
Danke, das war anscheinend das Problem.
B4X:
#AdditionalJar: com.android.support:support-core-utils
Da alles bereits funktioniert hat gehe ich davon aus, dass die Referenzierung versehenlich gelöscht wurde .

Werde noch weiter testen aber anscheinen funktioniert nach dem Einfügen dieser Zeile jetzt wieder alles normal.
Vielen Dank für die Hilfen.
 
Cookies are required to use this site. You must accept them to continue using the site. Learn more…