Beiträge von michael

    Stimmt, die Home Taste kann ja auch ein Hardware Button sein. Aber man könnte z.B. einen View erzeugen, der immer im Vordergrund ist. Man kommt dann zwar noch an die Leisten oben und unten, aber an dem View in der Mitte kommt man nicht vorbei. Ich nutze diese Methode in meiner Floating Stopwatch. So ein View in voller Größe erfüllt schon mal 99% der Anforderungen.


    Die Floating Stopwatch setzt sich einfach immer in den Vordergrund, kann in Größe, Farbe, etc. verändert werden und bleibt immer sichtbar, egal welche Activity gerade genutzt wird. Ich nutze die App beim Sport, wenn ich z.B. ein Google IO Video anschaue und meine Fitness-Übungen mache. Aber das nur am Rande :)


    https://play.google.com/store/…jentsch.floatingstopwatch

    Das klingt nicht so einfach. Vermutlich verwendet die Webseite Media-Queries. Ein Möglichkeite ist es, den Webview in einen ScrollView zu integrieren und den dann so weit zu vergrößern, dass der Webview 1080p hat. Das bedeutet aber, dass Du scrollen musst. Getestet habe ich so etwas auch noch nicht, könnte aber klappen.

    In bestimmten Fällen kann es schon sinnvoll sein, dem Nutzer den Home Button zu entziehen. Z.B. eine Kindersicherung bei der nur bestimmte Apps aufgerufen werden können oder was ich auch schon mal gesehen habe, im Restaurant ein Tablet als interaktive Speisekarte. Da möchte man ja auch nicht, dass der Gast den Tablet einfach für etwas andres nutzt. Im Fall "Restaurant" habe ich das mal auf dem iPad gesehen. Die Lösung war echt gut gemacht.

    Die Lösung heißt DeviceId



    Code
    import android.provider.Settings.Secure;
    
    
    private String android_id = Secure.getString(getContext().getContentResolver(),Secure.ANDROID_ID);


    Added in API level 3


    A 64-bit number (as a hex string) that is randomly generated when the user first sets up the device and should remain constant for the lifetime of the user's device. The value may change if a factory reset is performed on the device.


    Note: When a device has multiple users (available on certain devices running Android 4.2 or higher), each user appears as a completely separate device, so the ANDROID_ID value is unique to each user.

    Hi,


    Im Stacktrace kannst du genauehen, in welcher Zeile Du ein Problem hast. Der Nullpointer bedeutet, dass ein Objekt nicht initialisiert wurde und du dementsprechend noch keine Methode mit dem Objet ausführen kannst.
    Dir fehl irgendwo eine Initialisierung des Objektes z.B. in der Form


    Klasse objekt = new Klasse (...)

    Wie gesagt. Open Source finde ich gut. Ich logge auch schon fleißig mit. Ich habe einige Probleme gehabt, die Daten aus der App zu bekommen. Allerdings habe ich nun mit Hilfe eines BroadcastRecivers eine gute Lösung gefunden, die nicht nur mit dem Google Music Player funktioniert, sondern prinzipielle mit jedem Media Player, der die Notification.MediaStyle zum Steuern des Players verwendet.


    Die zusätzliche Akku Last geht nun auch gegen 0, ein Webservice, der die Daten entgegen nimmt und ein lokaler Cache (falls das Internet gerade nicht geht) ist auch fertig. Eine rudimentäre Webseite zum Anzeigen der Daten ist auch schon online.


    Nun geht es im wesentlichen noch darum, eine Activity und einen View zu bauen. Leider habe ich momentan wenig Zeit. Evtl. mache ich den Rest dann am Donnerstag im Zug. Da fahre ich zur CeBIT und habe ein paar Stunden Zeit :)

    Klingt aus meiner Sicht auch etwas komisch. Wenn ich einen privaten Konstruktor habe kann ich nur innerhalb der Klasse eine Objekt erzeugen - Also Singleton. Richtig.
    Alles andere macht IMHO keinen Sinn.




    Code
    public class Bla 
    {
        // Manchmal kann das Leben so einfach sein 
        private Bla () {
            throws new RuntimeException ();
        } 
    }

    Ok, das Thema scheint nicht so interessant zu sein. Trotzdem habe ich die letzte Nacht genutzt, um mal einen Prototypen zu entwickeln. Die erste Version war ein echter Akku Fresser. Nach ein paar Optimierungen bin ich nun aber Zufrieden mit der Lösung.
    Nun muss nur noch eine "passable" Oberfläche gebaut werden und wenn nicht noch was unvorhersehbares passiert, ist die erste Version in der nächsten Woche im Play Store.


    Daher suche ich auf diesem Weg schon mal "Beta Tester", die Lust haben, den Media Logger mal zu testen.


    PS: Da die App einigermaßen sensible Daten "Interpret, Album und Titel" der abgespielten Songs per Webservice auf einen Server überträgt, werde ich sowohl die Sourcen der App als auch die Server Komponente (PHP MySQL) unter einer Open Source Lizenz auf github.com veröffentlichen. So kann Jeder, der die nötigen Grundkenntnisse hat, sich die App selber compilieren und einen Server aufsetzen.

    Hi,


    ich höre sehr viel Musik und nutze mein Handy als Player. Nun habe ich mir überlegt, dass ich gerne auf einem Webspace (in der Cloud) speichere, wann ich welchen Song gehört habe.
    Die erfassten Daten könnte man später analysieren. Z.B.


    - Bei welchem Wetter ich am liebsten welche Musik höre.
    - Was höre ich eher am Montag und was am Wochenende
    - Wie sich mein Musikgeschmack mit der Zeit verändert hat
    - In Kombination mit meiner Versionsverwaltung (Git) könnte ich sogar herausfinden, bei welcher Musik ich die meisten "Lines of Code" Programmiere :-$
    - etc.
    Die Möglichkeiten sind nahezu unbegrenzt.


    Hat noch jemand außer mit Interesse an so einem Projekt?
    Weiß jemand, wie man den Google Music Player dazu bringt, zu verraten was gerade läuft?

    Das geht auch. Dazu musst Du in der App folgende tun.


    1. Prüfen ob es ein Update gibt.
    2. Neue APK herunterladen und speichern
    3. Intent für die APK Datei aufrufen
    Beispiel:

    Code
    Intent intent = new Intent(Intent.ACTION_VIEW);
    intent.setDataAndType(Uri.fromFile(new File(Environment.getExternalStorageDirectory() + "/download/" + "update.apk")), "application/vnd.android.package-archive");
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(intent);

    Ist eigentlich nicht so kompliziert. Allerdings muss die Einstellung "Unknown Sources" auf dem Gerät aktiv sein.
    Siehe dazu auch auch unter http://ux5.de/1r527 .

    Du kannst die APK Datei einfach auf den Server legen und verlinken. Dann kann sich jeder die APK Datei auf sein Android Gerät kopieren und installieren (Wenn die Einstellungen das zulassen). Automatische Updates (wie im Google Play Store) sind dann erst mal nicht möglich.
    Für jedes Update musst Du eine neue Version auf den Server kopieren und die Nutzer per Mail (etc.) darüber informieren, dass es eine neue Version gibt.
    Aber der Google Play Store ist in meinen Augen die bessere Lösung. Ausser die App verstößt in irgendeiner Weise gegen die App Store Regeln.
    Auch geschlossene Nutzergruppen sind hier kein Problem.