Klingeltöne mitliefern

  • Antworten:7
Axel R.
  • Forum-Beiträge: 10

24.10.2012, 10:43:25 via Website

Hi,

ich würde gerne bei meiner APP Klingeltöne mitliefern. Ich kann zwar mp3 im Paket mitliefern und über den Resourcenpfad darauf zugreifen, aber wie bekomme ich es hin, das diese Sounds auch in der systemeigenen Klingeltonauswahl erscheinen. Geht wahrscheinlich ganz einfach, aber ich stehe auf dem Schlauch.

Gruß Axel

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

24.10.2012, 10:51:23 via App

Einfach in das Verzeichnis "ringtones" ablegen...

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Axel R.
  • Forum-Beiträge: 10

24.10.2012, 11:02:20 via Website

Hi und erstmal danke für die Antwort!
Das ich manuell mp3 files in den Ordner ringtones kopieren kann, ist klar, aber wie bekomme ich es hin, das ich in der apk Datei die Klingeltöne intergiert habe. Lege ich in Eclipse einen Ordner ringtones im res Ordner an, meldet mir eclipse einen invalid resource directory name!?

Gruß Axel

Antworten
Axel R.
  • Forum-Beiträge: 10

24.10.2012, 11:32:15 via Website

Hi,

das bedeutet aber, das ich eine manuelle Funktion implementieren muss, die beim Programmstart prüft ob der copy (asserts nach ringtones) schon erfolgt ist und wenn nicht den copy ausführt!. Gibt es da keine "einfacherere" Möglichkeit?

Axel

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

24.10.2012, 11:50:25 via Website

Noch einfacher als eine Zeile und zwei Funktionen die jedes halbwegs vernünftige Programm ohnehin benötigt? Vielleicht gibt es in der Klicki/Bunti-Fraktion (AppInventor) ja einen Baustein den man hin und her schieben kann.

Schreib das erfolgte Kopieren in die Preferences. Dann musst Du nur dieses Flag prüfen. Schau hier wie das geht.

— geändert am 24.10.2012, 11:54:55

Antworten
Axel R.
  • Forum-Beiträge: 10

24.10.2012, 12:20:10 via Website

Naja, warum jedes "halbwegs vernüftige Programm" eine Funktion braucht, um festzustellen, das es das erste mal läuft, ist mir nicht ganz klar.
Meine APP hat schon einiges an Umfang und ich prüfe auch schon ab, ob gewisse Einstellungen schon durchgeführt wurden und wenn nicht wird dies eingefordert, was dem "erststartprüfen" ja schon sehr nahe kommt, aber im Umkehrschluss, jedes Programm das keine solche Prüfung macht, als "unvernüftig" (ich weis ist etwas überspitzt ;-) ) abzuhandeln, halte ich für verkehrt. Aber wir schweifen ab!

Das zu implentieren ist nicht schwer und in der Zeit in der ich das hier tippe, hätte ich es vermutlich auch schon fertig, ich verstehe halt nur nicht warum es für so eine Anforderung im Sinne von "Erweiterung der Systemresourcen" keine direkte Lösung gibt, also quasie einen Ordner Ringtones der einfach übernommen wird.

Aber gut, mache ich es wie vorgeschlagen.

Axel

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

24.10.2012, 13:27:28 via Website

Da Du in Deiner App offensichtlich schon mit Preferences arbeitest kannst Du diese selbstverständlich als "vernünftiges Programm" bezeichnen ;-)

Was Du Dir wünschst ist eine Convenience Methode. Von diesen gibt es unglaublich viele im Android SDK. Offensichtlich haben das, was Du vermisst, aber noch nicht ausreichend Entwickler benötigt. Und da es eine einfache Lösung für Dein Problem gibt ist es auch unwahrscheinlich das das mal kommen wird.

Also, lange Rede kurzer Sinn: Kopieren einer Datei mit den Apache FileUtils (1 Zeile), setzen eines Flags in den Preferences (1 Zeile), lesen eines Flags aus den Preferences (1 Zeile). Zu diesen 3 Zeilen gesellen sich noch zwei Methoden für die Preferences (die hast Du ohnehin) plus eine Schleife um den assets Ordner.

Dafür benötigt man nun wirklich keine Convenience Methode.

Antworten