(English version) Wie in diesem Post beschrieben habe ich einen eigenen Musikplayer mit C# und WPF geschrieben. Da es bei größeren Wiedergabelisten durchaus vorkommen kann, dass einem mal ein Lied nicht gefällt, gibt es Hotkeys für den PC. Was ist aber, wenn man gerade gemütlich auf dem Bett liegt und man keine Lust hat, aufzustehen? Dafür habe ich eine App geschrieben, mit welcher man die grundlegenden Hotkeys (Play/Pause, nächstes Lied, vorheriges Lied) ausführen kann. Diese App kann man hier herunterladen.
Zur Verwendung der App: Die App kann man einerseits starten und dann auf die entsprechenden Buttons klicken, es gibt jedoch auch ein Widget, welches den Klick zum App Öffnen spart. Die App bietet jedoch mehr Funktionen, sogar das suchen nach einem Lied ist möglich.
In der App muss man nun IP, Port (Der Player macht standardmäßig einen Socket auf Port 7200 auf) und Passwort (welches man im Player mit F2 festlegen kann) eingeben. Dabei kann die IP lokal sein (z.B. wenn das Handy im selben Netzwerk ist wie das Handy) oder auch eine Internet-IP. Dafür muss man jedoch am Router noch eine entsprechende Port-Weiterleitung einrichten. Das Handy kann den Player in diesem Fall unabhängig davon steuern, ob es im WLAN oder im mobilen Netzwerk ist.
Eine Sammlung von meinen Projekten aus den Bereichen Physik, Elektronik, Informatik und sogar ein bisschen Botanik. Dieser Blog soll einerseits Hilfestellung bei Problemen geben aber andererseits auch als Anregung für weitere Projekte dienen. Falls es zu einem Thema Fragen oder Anregungen gibt: Einfach schnell einen Kommentar schreiben oder das Kontaktformular rechts unten benutzen, ich beantworte das normalerweise innerhalb von einem Tag.
AdSense
Posts mit dem Label Android werden angezeigt. Alle Posts anzeigen
Posts mit dem Label Android werden angezeigt. Alle Posts anzeigen
Dienstag, 17. September 2013
Montag, 16. September 2013
Android - Anwendungsdaten schreiben
(English version) Viele Android-Apps belegen einen gewissen (meist recht geringen) Speicherplatzt für "Daten". Diese Daten sind z.B. zum Speichern von Passwörtern oder ähnlichem nützlich. Ich will nun erklären, wie man auf diese Daten zugreifen kann. Zuerst kommt das Lesen:
Dies ist also analog zu einem C#-Dictionary mit einem String als Key und (hier) einem String als Value. Als Value kann jedoch auch ein Integer benutzt werden, die Syntax ist analog dazu. Existiert dieser Key nicht, so wird
Nun zum Schreiben:
Hier kann natürlich auch Int analog dazu verwendet werden. Außerdem können viele
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
String defaultStringValue = "";
String stringValue = sharedPref.getString("nameOfString", defaultStringValue);
Dies ist also analog zu einem C#-Dictionary mit einem String als Key und (hier) einem String als Value. Als Value kann jedoch auch ein Integer benutzt werden, die Syntax ist analog dazu. Existiert dieser Key nicht, so wird
defaultStringValue zurückgegeben.Nun zum Schreiben:
SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);String stringValue = "asdf";
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("nameOfString", stringValue);
editor.commit();
Hier kann natürlich auch Int analog dazu verwendet werden. Außerdem können viele
editor.put...-Befehle direkt hintereinander stehen und erst am Ende muss das editor.commit(); stehen. Damit sollte der grundlegende Zugriff auf Anwendungsdaten geklärt sein. Falls man von einem Widget aus auf Anwendungsdaten zugreifen will, muss man SharedPreferences benutzen. Was sich im Code ändert ist dann:SharedPreferences sharedPref = this.getSharedPreferences("nameOfPreferences", 0);
Kategorien:
Android
Montag, 2. September 2013
Android - Widget "stürzt ab" bei Drehung des Bildschirmes
(English version) Die genaue Fehlerbeschreibung ist: Ich habe ein Widget, wenn ich drauf klicke, möchte ich, dass sich die entsprechende App öffnet. Das funktioniert auch meistens. Manchmal passiert aber bei einem Klick überhaupt nichts, meistens nachdem der Bildschirm gedreht wurde. Schuld daran ist, dass bei manchen Sachen (z.B. Bildschirm drehen) die onUpdate-Funktion nicht aufgerufen wird, sondern lediglich die onReceive-Funktion. Da ich in der onUpdate-Funktion folgende Zeilen drin hatte
wurde normalerweise die MainActivity gestartet. Nicht aber, wenn onReceive aufgerufen wurde. Daher musste ich in die onReceive-Funktion diese drei Zeilen mit hinein nehmen (intent habe ich in localIntent umbenannt, da onReceive als Parameter bei mir Intent intent hat). Danach funktioniert alles wunderbar.
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
remoteViews.setOnClickPendingIntent(R.id.button, pendingIntent);
wurde normalerweise die MainActivity gestartet. Nicht aber, wenn onReceive aufgerufen wurde. Daher musste ich in die onReceive-Funktion diese drei Zeilen mit hinein nehmen (intent habe ich in localIntent umbenannt, da onReceive als Parameter bei mir Intent intent hat). Danach funktioniert alles wunderbar.
Kategorien:
Android
Dienstag, 18. Juni 2013
Android - Notizzettel fürs Handy
(English version) Da mir des öfteren unterwegs etwas wichtiges einfällt, was ich mir unbedingt notieren muss, jedoch fast nie Zettel und Stift dabei habe, habe ich mir eine App für Android geschrieben, welche als Notizzettel funktioniert. Zusätzlich dazu habe ich auf dem Handy Dropbox und DropSync installiert, diese Apps (insbesondere DropSync) synchronisieren dann die Notizen in meine Dropbox in einen Ordner namens toSync.
Das ganze funktioniert folgendermaßen: DropSync kann einzelne Ordner synchronisieren. Auf dem Handy ist daher ein Ordner "toSync" auf der SD-Karte, welchen DropSync automatisch synchronisiert. Meine App greift auf diese Datei zu.
Am Computer kann man dann die Datei notes.dat in der Dropbox einsehen bzw. bearbeiten. Für Linux hatte ich auch mal eine Anzeigesoftware geschrieben, das werde ich wohl in den nächsten paar Wochen auch für Windows umsetzen, dann stell ich das hier auch rein. Im allgemeinen ist das ja nicht schwer, das muss lediglich ein Fenster mit einem Textfeld und einem Speichern-Knopf sein.
Die App kann man sich hier herunterladen. Zum funktionieren muss allerdings der Ordner "toSync" vorhanden sein und auch die Datei "Notes.dat", sonst kann es sein, dass die App abstürzt.
Das ganze funktioniert folgendermaßen: DropSync kann einzelne Ordner synchronisieren. Auf dem Handy ist daher ein Ordner "toSync" auf der SD-Karte, welchen DropSync automatisch synchronisiert. Meine App greift auf diese Datei zu.
Am Computer kann man dann die Datei notes.dat in der Dropbox einsehen bzw. bearbeiten. Für Linux hatte ich auch mal eine Anzeigesoftware geschrieben, das werde ich wohl in den nächsten paar Wochen auch für Windows umsetzen, dann stell ich das hier auch rein. Im allgemeinen ist das ja nicht schwer, das muss lediglich ein Fenster mit einem Textfeld und einem Speichern-Knopf sein.
Die App kann man sich hier herunterladen. Zum funktionieren muss allerdings der Ordner "toSync" vorhanden sein und auch die Datei "Notes.dat", sonst kann es sein, dass die App abstürzt.
Kategorien:
Android
Abonnieren
Posts (Atom)