Beiträge von schymura

    Hallo,
    gibt es bei Listen (List java.util.List) wirklich keine insert() Methode?
    Wenn ich bei der nachfolgend gezeigten Liste


    Code
    List<String> AbspielListe =new ArrayList<String>();


    an einer bestimmten Stelle ein neues Elemt einfügen will, dann habe ich bisher nur die Möglichkeit gefunden zuerst ein neues Elemnt am Ende der Liste anzuhängen, dann alle Elementinhalte von hinten anfangend um 1 Position nach hinten zu verschieben um dann endlich an der gewünschten Stelle den Wert auf den gewünschten Eintrag zu setzen. Siehe Beispiel:


    Code
    String halten="Test";
    AbspielListe.add(halten);
    int hier_einfuegen=5;
    for (int j=AbspielListe.size()-1; j > hiereinfuegen ; j--)
    {
    	AbspielListe.set(j,AbspielListe.get(j-1).toString();	
    }
    AbspielListe.set(hier_einfuegen,halten);
    }


    Gibt es eine bessere Möglichkeit, die ich vielleicht nur übersehen habe?


    Erwartungsvolle Grüße, schymura ;)

    Hallo khh,

    Zitat

    API 10, was ich vorher verwendet hatte ist nicht mehr installiert.

    wenn du auch andere API's oder auch andere Tools haben willst, dann kannst du doch über den Android SDK Manager in der Eclipse Menüzeile dir die gewünschten Sachen herraussuchen und installieren lassen.......


    Falls du alles anklicken solltest, so hat dein Rechner heute Nacht noch was zu tun........


    Schöne Grüße, schymura ^^

    Hallo khh,
    habe ich das richtig verstanden, du willst weiter garnichts, als mehrere LinearLayout ineinander zu schachteln, ohne dass du da irgendwas ausgeben willst?


    Bei mir sieht zum Beispiel eine LinearLayout Schachtelung so (mit Inhalt) aus:



    Kannst du damit was anfangen?
    Schöne Grüße, schymura ^^

    Hallo Lucas de Vil,
    ja, das ist ja das Komische...
    In http://developer.android.com/r….Audio.GenresColumns.html
    steht unter MediaStore.Audio.GenresColumns

    Nach Beschreibung also sollte anrdoid ab Version 1 das Feld name haben, es kommt jedoch, diesmal bei Wegnahme der Auskommentierzung bei MediaStore.Audio.GenresColumns.NAME die gleiche Fehlermeldung....

    Zitat

    02-19 13:29:14.269: W/dalvikvm(1125): threadid=1: thread exiting with uncaught exception (group=0x40018578)
    02-19 13:29:14.269: E/AndroidRuntime(1125): FATAL EXCEPTION: main
    02-19 13:29:14.269: E/AndroidRuntime(1125): android.database.sqlite.SQLiteException: no such column: name: , while compiling: SELECT _id, name, _data, artist, album, title FROM audio ORDER BY title
    02-19 13:29:14.269: E/AndroidRuntime(1125):

    Schöne Grüße, schymura ?(

    Hallo Lucas de Vil,

    Zitat

    Kannst du nicht einfach die MediaStore.Audio.Media.EXTERNAL_CONTENT_URI in deine Liste packen?

    Wenn ich versuche eine Liste vom Typ Cursor mit

    Code
    Collections.shuffle(cursor);


    zu mischen, dann weigert sich schon Eclipse......
    Werde wohl mit 2 Listen arbeiten, eine alphabetische geordnete zum Anzeigen und Aussuchen des (eines) Starttitels und dann die andere zum Abspielen.
    Kann ja dann über mehrere Möglichkeiten, etwa

    Code
    mMediaPlayer.setDataSource(getApplicationContext(), contentUri);
    MediaMetadataRetriever mmr = new MediaMetadataRetriever();
    mmr.extractMetadata(MediaMetadataRetriever.METADATA_KEY_GENRE);
    
    
    // oder auch einfach nur über
    Integer.toString(mMediaPlayer.getDuration());


    alle Daten auslesen um sie wähend des Abspielens anzuzeigen und aktualisieren.


    Dankbare Grüße, schymura ^^

    Hallo block_ ,
    du hast ja Recht!
    Hier also der LogCat, wenn ich bei MediaStore.Audio.Genres.NAME die Auskommentierumg wegnehmne.


    Das Interessante (nicht verständliche) ist, dass MediaStore.Audio.Genres.Members eine Unterklasse von MediaStore.Audio.Genres ist (sein soll).


    Nicht verstende Grüße, schymura ?(

    Hallo MarcelusMaximus1012,
    leider kann ich dir nichts schreiben, wie das bnei dir im englischsprachigen Menü von Eclipse genau heisst (ist bei mir deutschsprachig), aber wenn du unter Neu (New)im darauf aufspringen Untermenü den alleruntersten Punkt (bei mir Andere) öffnest, dannerhältst du wieder eine Unterauswahl, in der dann unter Android die Auswahl "Android Activity" angeboten wird.
    Das wäre das, was du anscheinend sucht.
    Schöne Grüße, schymura ^^

    Hallo MarcelusMaximus1012,

    Zitat

    das Problem ist allerdings, dass dieses @string mit angezeigt wird auf dem Textfeld im Display.

    vermutlich liegt es daran, dass du beim Hintergrund des Textfeldes "@String" geschrieben hast statt "@string".
    Außerdem, warum sollte man dir böse sein?
    Schöne Grüße, schymura ^^

    Hallo Lucas de Vil,
    danke für deine Antwort.

    Zitat

    Wenn es also ein List.shuffle() gibt und dieses verspricht, die Daten zufällig umzusortieren, dann ist List.shuffle() zu nutzen.

    Gibt es, ich dachte da an

    Code
    Collections.shuffle(DieListe);


    und das geht auch ganz gut, nach mehrmaligen Versuchen ist dann tatsächlich immer einen andere Reihenfolge vorhanden.

    Zitat

    So kannst du immer stur das erste Listitem abspielen und brauchst dich um Cursorkrams etc. nur in der Playlist-Ansicht selbst sorgen.

    Leider muss ich mich wohl doch um den Cursorkrams kümmern, denn die anderen Daten (FieName, Spieldauer, etc.) sind ja über

    Code
    Cursor cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,zusuchen,null,null,null);


    in einem Cursor "versteckt".


    Na, vielleicht geht der ja auch irgendwie zu "schütteln".


    Schöne, dankbare Grüße, schymura ^^

    Hallo,
    für eine eigene Musik-App, die nach einer einzustellender Spieldauer das Abspielen beendet (ich schlafe gern mit Musik ein) fehlt mir unter Anderem noch eine gute Idee, wie ich aus den "zusammengesuchten Daten" (contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI,null,null,null,null) der Musikstücke eine temporäre Liste mit den Daten zum Abspielen mit dem MediaPlayer() erzeuge, auf die dann in zufälliger Reihenfolge zugegriffen werden soll, aber so, dass wirklich "kein" Titel 2 mal gespielt wird, ehe nicht alle in Frage kommenden Stücke gespielt wurden.
    Ist es gut eine Liste mit shuffle() zu bearbeiten und dann von oben nach unten abzuspielen, oder sollte man lieber mit Random() arbeiten und dann nach Start der Musikstücks dann den Eintrag aus der Liste zu löschen?


    Erwartungsvolle Grüße, schymura ^^

    Hallo,
    mit dem Ermitteln der Daten für einen MediaPlayer() und auch dem Abpielen der Dateien scheine ich ja klar zu kommen, aber wenn ich versuche auf die einzelnen Genres (Rock, Country, etc.) zuzugreifen habe ich jeweils einen Absturz der App.
    Hier der betreffende Codeteil:


    So wie oben gezeigt läuft die App ohne Fehler. Wenn aber bei einer der beiden Zeilen MediaStore.Audio.Genres.NAME oder auch MediaStore.Audio.GenresColumns.NAME die Auskommentierung weg genommen wird, so landet sie im Nivana.
    Und ich wollte eingentlich auch die Genres bei der Auswahl benutzen........
    Was habe ich übersehen, welchen Fehler machte ich?
    Hoffnungsvolle Grüße, schymura ?(

    Hallo freemoser,
    noch einen Möglichkeit, außer der von titus beschriebenen.
    Wie wäre es mit einer "neuen" Liste, die du mit den Einträgen der alten füllst, jedoch in der Reihenfolge von hinten nach vorn.
    Die kannst du dann dem ListView geben und die alte Liste löschen, falls du sie nicht mehr brauchst......


    Schöne Grüße, schmyura ^^

    Hallo,
    nun habe ich wieder mal eine Frage:
    Weshalb habe ich sehr unterschiedliche Werte bei einer mp3 Datei wenn ich die Dauer
    einerseits über

    Code
    MediaPlayer.getDuration();


    und andererseits über

    Code
    MediaMetadataRetriever.METADATA_KEY_DURATION


    auslese?


    Und dann auch noch die Frage, sind das Millisekunden oder welcher Art sind die Intergerwerte?


    Erwartungsvolle Grüße, schmyura ^^

    Hallo MaWa,
    sowas hatte ich auch schon mal. Eclipse (Juno) hat mich schon mehrfach überrascht!


    Ich hab dann das ganze Projekt nur dadurch retten können, dass ich "alles neu gemacht habe".
    Also ein neues Projekt erstellt in einem anderen Abreitsverzeichnis und dann, nachdem ich dann auch alle Activitys mit gleichen Namen dort neu erzeugt hatte, dann für alles (im res) und auch im im scr die Dateien geöffnet hatte und dann mit Hilfe eines anderen Editors die "alten Daten" einfach kopiert habe.
    Dabei habe ich dann auch festgestellt, dass man (um Ecilpse) Fehler zu vermeiden aufpassen muss, dass man die Daten im "res" immer nur in der Editor-Ansicht (nicht Layout oder so) kopieren darf, weil sonst Fehler auftreten.
    Zeitaufwand bei einem Projekt mit etwa 5 Activitys 15 Minuten.


    Copy and Paste ist also nicht nur bei Doktorarbeiten gut....


    Schöne Grüße, schymura ^^

    Hallo [DT]Sniper,


    Zitat

    Problem ist nur, dass sich bei meinen layout gar nichts der bildschirmgröße anpasst

    mein Fehler!
    Ich hatte nicht verstanden, dass du dein Layput an die verschiedenen Bildschirmgößen anpassen willst, ich hatt nur damit gerechnet, das es immer mittig sein sollte.
    Ich warte mit dir auf eine schöne Lösung!
    Schöne Grüße, schymura ^^