Beiträge von The_S

    Meiner Meinung für die Android-Entwicklung wichtige Java-Punkte (innerhalb von 2 Minuten überlegt, also kein Anspruch auf Vollständigkeit ;)):


    - Collections-Framework
    - Threading
    - GarbageCollector Konzept
    - Exceptionhandling
    - Vererbung und Interfaces
    - Generics
    - Serialisierung
    - Code Conventions
    - Modifier


    Falls du in OOP nicht fit bist, kommen hier noch ein paar Must-Have Konzepte mit rein. Und natürlich allgemein Design-Patterns und allgemeine Conventions, die dir aber als erfahrener Programmierer bekannt sein sollten ;) .


    Also kurz in die Basics einlesen, dann verstärkt auf die von mir oben genannten (und später evtl. ergänzten ;) ) Gebiete eingehen und anschließend "Hello Android World".

    Auch von mir vielen Dank für die Links. Was spricht aber eigentlich gegen Regex? Oder anders gefragt, was braucht weniger CPU und Speicher, RegEx oder ein Parser?


    Das hängt wohl komplett vom Entwickler ab ;) . Wird der Parser ungünstig programmiert, ist der reguläre Ausdruck mit Sicherheit schneller. Da ein Parser jedoch explizit für ein ganz bestimmtes Problem entwickelt wurde, und somit darauf auch besser zugeschnitten ist (bzw. sein kann), ist ein perfekter Parser wohl deutlich effizienter als ein regulärer Ausdruck. Programmier es mit der Technik, in der du fitter bist. Biste ein RegEx-Crack? Dann nehm RegEx! Stehste hingegen mit RegEx auf Kriegsfuß (so wie ich ;) ) und programmierst lieber eigene Algorithmen, dann schreib dir nen Parser. Programmieren tut man ja sowieso nur gegen Schnittstellen, von daher ist die Logik schnell ausgetauscht, falls man feststellt, dass es auf die zuerst gewählte Art doch zu langsam ist.

    Weiß jetzt nicht, ob ich deine Frage richtig verstanden habe, aber wenn es sich um nicht zu viele Daten handelt, die Daten sich relativ selten ändern/wachsen und du keine Suchanfragen formulieren musst, dann bleib bei XML. Ansonsten würde ich eher zu einer Datenbank tendieren.

    Statement:


    Bin Vollzeit (40h/Woche) Softwareentwickler im Java EE Bereich. Denke das läuft bei dir unter "Web" ;) . Parallel hierzu habe ich ein Nebengewerbe, in welchem ich hauptsächlich für Mobile Geräte entwickle. Außerdem studiere ich berufsbegleitend an der FU Hagen und bin somit auch Student.

    Hallo,


    ich versuche verzweifelt seit mehreren Tagen für meine erste eigene Wecker-App einen "Snooze"-Dialog zu realisieren. Ich registriere aus meiner Root-Activity einen Alarm über den AlarmManager. Wenn die gewählte Zeit erreicht ist, startet der BroadcastReceiver meinen AlarmService. Dieser wiederrum spielt einen Ton ab, ruft eine Activity (Snooze/Aus) auf und wartet im Falle von Snooze die definierte Zeit, um anschließend die Activity mitsamt Ton erneut aufzurufen. Die Kommunikation zwischen Activity und Service ist über einen weiteren BroadcastReceiver realisiert. Soweit so gut und soviel zum Aufbau.


    Die technische Umsetzung treibt mich aber in den Wahnsinn! Es kann doch nicht so schwer sein, aus dem Service eine Activity so zu starten (aktuell so:


    Java
    Intent i = new Intent(this, MyDialogActivity.class);i.putExtra(MyDialogActivity.TEXT, myObject.getText());
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(i);


    ), dass die Activity immer angezeigt wird, auch wenn die Root-Activity noch aktiv ist, über den Back-Button beendet, oder über den Home-Button in den Hintergrund verschoben wurde. Ist das Handy nicht im Standbymodus soll die Activity sofort angezeigt werden, ist das Handy im Standbymodus soll die Activity angezeigt werden, sobald der User das Handy aus dem Standbymodus aufweckt. Hier liegt auch das aktuelle Problem. Manchmal wird die Activity nicht im Standbymodus gerufen, manchmal nicht, wenn man die Root-Activity über den Back-Button beendet hat, manchmal wann anders nicht ... (abhängig von irgendwelchen kläglichen Versuchen meinerseits alle Fälle abzudecken).


    Sobald der User die Activity gesehen und einen Button (Snooze, Aus bzw. die Hardwaretasten Back und Home) gedrückt hat, soll die Activity komplett beendet werden. Hierzu rufe ich beim Button-Klick die finish()-Methode auf und überschreibe die onPause-Methode wie folgt (pm=PowerManager) (scheint auch zu funktionieren)


    Java
    protected void onPause() { if (pm.isScreenOn()) {  sendBroadcast(retValue);	  if (!isFinishing()) {	   finish();	  } else {	   moveTaskToBack(true);  } } super.onPause();	}


    Außerdem soll die Activity nur aus diesem Service geöffnet werden können. Hierzu deaktiviere ich die History:


    Code
    android:name=".activities.MyDialogActivity" android:noHistory="true" android:excludeFromRecents="true"


    Fragen:


    1.) Gibt es evtl. eine komplett andere, einfachere Lösung einen solchen Snooze/Aus-Dialog zu realisieren?
    2.) Falls nein, was mache ich falsch?


    Danke und Grüße