Beiträge von Eddi

    Hallo,


    ich glaube das Problem liegt woanders.
    Ich habe meine App mit mehreren Emulatoren getestet.
    Bei einem Emulator bekomme ich keine Berechtigung auf /storage/emulated/0/...
    [Blockierte Grafik: https://ibb.co/St8wCjd]
    ls: /storeage/emulated/: Permission denied
    Ist da der Emulator dran schuld oder muss ich im Projekt etwas einstellen?
    Ich benötige Zugriff auf sdcard.


    Gruß Eddi

    Hallo,


    ich möchte in meinem Android Emulator die Berechtigung einer Datei ändern.

    Code
    adb -s emulator-5554 shell chmod 777 /sdcard/mydata/file.txt



    Aber ich erhalt die Meldung: opperation not permitted



    Also habe ich root zuerst aktiviert.




    Code
    adb root
    adb -s emulator-5554 shell chmod 777 /sdcard/mydata/file.txt


    Jetzt erhalte ich keine Fehlermeldung mehr, aber im Device File Explorer werden die Permissions nicht geändert.



    Hat jemand eine Idee?



    Gruss


    Eddi

    Hallo jogimuc,


    der Absturz war in der OnCreate der Activity "Startseite" beim Zugriff auf das Bundle savedInstanceState.
    Ich hab die notifyDataSetChanged und deleteFragment entfernt und jetzt funktioniert es.



    Jetzt hab ich aber ein weiteres Problem.


    Beim drehen des Handys wird ja die Activity neu erstellt aber die Fragmente im FragmentManager bleiben bestehen und es kommen 3 neue hinzu.


    (die beim Start ja erstellt werden) Nun habe ich wenn ich mehrmals drehe jedesmal mehr fragmente und alle werden neu initialisiert.


    Daher wollte ich die alten Fragmente löschen. Oder wie kann ich prüfen welche Fragemente aktiv sind.



    habs jetzt so:
    Ich hab jetzt die Fragmente die vom FragmentManager automatisch erstellt werden und den standard construktor durchlaufen, nicht initialisiert.
    Ich habe nur die 3 neuen Fragmente die durch einen erweiterten constructor erzeugt werden mit daten gefüllt, somit denke ich habe ich das Problem gelöst ? :whistling:

    Hallo jogimuc,


    ich hab mal den Code zusammengefasst damit es leserlich bleibt.


    Hallo,


    ich habe eine Activity (AppCompatActivity) in der ein FrameLayout durch ein Fragment ausgetauscht wird.


    Java
    MyFragment fragment = new MyFragment();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.id_framelayout, fragment);
    transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
    //transaction.addToBackStack(null);
    transaction.commit();


    In diesem Fragment (MyFragment) ist ein ViewPager mit 3 Fragmenten, welche in einem Adapter zum Activity-FragmentManager hinzugefügt werden.
    Also stecken im FragmentManager der Activity 4 Views.
    Wenn ich nun das Handy drehe stürtzt meine App ab und ich weiss nicht warum.
    Der Absturz passiert in onCreate der Activity, den im Bundle savedInstanceState sind alle 4 Views vermerkt.


    Wenn ich vor dem Handy drehen versuche die 3 Views zu entfernen, hat dies keinen Effekt denn sie bleiben im FragmentManager.


    Was mache ich falsch oder muss ich einen separaten FragmentManager in MyFragment erstellen damit die 3 Views aus dem ViewPager isoliert sind.


    Ich verstehe das nicht, denn ohne den ViewPager funktioniert das drehen, wenn nur ein Fragment im FragmentManager ist.




    Grüße Eddi

    Hallo jogimuc,


    genau danach habe ich gesucht. :thumbup:


    Ich habe das wohl nicht ganz verstanden und finde es immer noch etwas unlogisch das man den Verzeichnisinhalt mit new File erhält und nicht mit getDir.
    Sonst heissen die Funktionen auch getExternalFilesDir oder so...


    Steckt sonst immer das Word Dir drin. :whistling:
    Daher habe ich immer an der falschen Stelle gesucht. :-/


    Danke für die Hilfe und Gruss
    Eddi

    Mit FileInputStream kann ich im Verzeichnis "/sdcard/mydata/in" eine datei auslesen.



    Aber ich weiss nicht wie ich dieses Verzeichnis auslesen kann.


    Bin etwas am verzweifeln, teste hier alles mögliche aber komme nicht auf die Lösung, wenn es denn eine gibt. 8|


    Gruß Eddi

    Hallo,


    habe ein neues Problem, oder besser gesagt hatte es bisher umgangen. Weil ich keine andere Lösung gefunden habe.


    Wenn ich die Dateien im App-Verzeichnis auslese funktioniert folgendes:


    Ich übertrage Daten mit adb.exe auf das Handy nach"/sdcard/mydata/in" und möchte mir die Dateien in der App anschauen.
    getDir bringt eine Exception



    Wie geht das?


    Viele Grüße Eddi

    Hallo Xcreen,


    danke für die Info, ich werde es mal ausprobieren. :thumbup:


    Schade nur das Elemente die am unteren rand plaziert werden (Layout_Margin:bottom) nach oben geschoben werden, sobald die Tastatur eingeblendet wird.
    Android hätte man die Tastatur auch einfach nur anzeigen können ohne das Layout zu zerstören.


    Gruß Eddi

    Hallo,


    ich habe ein Layout mit 2 Constraint Layouts. In dem ein Textfeld und ein FloatingButton sind.
    Wenn die Tastatur für das Textfeld angezeigt wird, wird der Button mit nach oben geschoben.
    Dieser stört aber bei der Eingabe. Kann ich den Button ausblenden wenn die Tastatur angezeigt wird ?



    Gruß Eddi

    Hallo,


    ich habe ein ConstraintLayout in einem Fragment.
    Im Fragment ist ein Edittext und eund Button drunter.
    Wenn ich nun im Edittext etwas eingeben möchte wird das Inputfeld eingeblendet und der Button wird mit nach oben verschoben.
    Dann sieht man nicht mehr was man eingibt.
    Kann man das unterbinden, das der Button nach oben verschoben wird. :huh:


    Gruss Eddi

    Hi jogimuc,


    ich habe eine onActivityResult, habe sie nur vergessen zu zeigen. :whistling:


    Ich komme hier auch vorbei wenn ich ohne FileProvider arbeite.
    Ich brauche aber das ganze Bild also in der vollen auflösung, in der Anleitung steht das ich den FileProvider dazu brauche.
    Aber wenn ich es so mache bekomme ich eine Fehlermeldung.


    Also wenn ich diese Funktion aufrufe:


    Java
    Uri photoURI = FileProvider.getUriForFile(getActivity(),
                                "de.domain.app.fileprovider",
                                photoFile);

    java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/Android/data/de.domain.app/files/bilder/jpeg_20180728_171909_856373984.jpg


    Gruss Eddi

    Hallo jogimuc,
    Aber warum funktioniert der fileprovieder nicht. Brauche ich diesen garnicht?
    Bekomme ich in der onactivityrequest das vollständige Bild und kann es dann dort speichern, also in der vollständigen Auflösung?


    Gruß Eddi

    Hallo,


    ich habe ein Problem mit dem FileProvider.


    Ich habe zuerst versucht das Bild im Internen Speicher der App zu speichern, bis ich hier gelesen habe das es nicht geht.
    https://android-developers.de/…ht=FileProvider#post20618


    Jetzt versuche ich das Bild auf der sdcard zu speichern, ohne das es in der Gallerie landet.


    Ich habe dieses Beispiel befolgt: https://developer.android.com/training/camera/photobasics


    Der este Part funktioniert auch bei mir, also ich starte die Kamera und habe in onActivityResult zugriff auf das Bitmap.
    Nur landet hier auch ein Bild in der Gallerie, das möchte ich aber nicht, das Bild soll nur in der App sichtbar sein.
    Also habe ich den Part Save the full-size photo im Beispiel getestet. (Mit FileProvider)


    Ich bekomme aber immer diese Meldung (wird in FileProvider.getUriForFile ausgelöst):
    java.lang.IllegalArgumentException: Failed to find configured root that contains /storage/emulated/0/Android/data/de.domain.app/files/bilder/jpeg_20180727_140424_2091066294.jpg


    Die Kamera startet aus einem Fragment.


    Hier mein Code:


    Code: provider_paths.xml
    <?xml version="1.0" encoding="utf-8"?>
    <paths xmlns:android="http://schemas.android.com/apk/res/android">
        <files-path name="bilder" path="Android/data/de.domain.app/files" />
    </paths>

    Gruss Eddi

    Hallo jogimuc,


    habe mir die Berechtigungen angeschaut. Jetzt geht es ich kann auf der SD-Karte lesen und schreiben. :thumbup:
    Ich wäre da nicht so schnell drauf gekommen. :thumbup:


    Jetzt habe ich nur noch ein letztes Problem, denn das löschen will nicht funktionieren obwohl jetzt die Schreibrechte vorhanden sind.
    Es kommt folgende Meldung: java.lang.IllegalArgumentException: File /sdcard/test/file.txt contains a path separator
    Ich kann ja den path separator nicht weglassen, wie ist das zu verstehen.


    Code
    deleteFile("/sdcard/test/file.txt");


    Gruss Eddi

    Hi,


    ich bin zwar auch neu in der Android Welt, aber hoffe kann etwas helfen.


    Bei mir ist das auch so .. nach den Update muss das projekt aktualisiert werden.
    Hast du schon auf den Link unten geklickt "Re-Download depen..." ?


    Wenn Ja versuche ein neues Projekt zu starten und schau ob im neuen Projekt alles funktioniert.


    Wenn im neuen Projekt alles funktioniert kopier den Quelltext ins neue Projekt und schau ob es geht.


    Du hast nicht geschrieben ob neue Projekte auch betroffen sind.


    Gruss Eddi