Tutorial

Android ListFragment, Loader und onLoadFinished

In einer meiner Apps lade ich Daten über einen Loader in eine ListView in einem ListFragment. Nach Laden der Daten sollten für bestimmte Zeilen AsyncTasks abgefeuert werden. Mit folgendem Code bekommt man sowas hin: listView.post(new Runnable() { @Override public void run() { listView.setSelection(savedScrollPosition); savedScrollPosition = null; } }); Gefunden habe ich das bei Stackoverflow

SimpleCursorAdapter – bindView wird bei erstem Eintrag doppelt aufgerufen

Weniger ein Problem, man muss nur wissen, warum das hier doppelt aufgerufen wird. In meinem Falle war die Ursache, dass ich bei der zugrundeliegenden ListView bei layout_height => 0dp (in Verbindung mit layout_weight) bzw. wrap_content gewählt habe. Warum das ganze so ist? Keine Ahnung, aber evtl. muss Android bindView einmal aufrufen, um die Höhe einer [...]

Android Theming Nice to know #1

When using a custom adapter be aware that new EinfacheListeSimpleButtonAdapter(getSherlockActivity().getApplicationContext(), … ignores a theme specified in the current fragment/activity. It’s better to use new EinfacheListeSimpleButtonAdapter(getSherlockActivity(),…

Git-Icon-1788C

Wechsel von Subversion auf Git

Vor einiger Zeit hatte ich mir mal einen kleinen Überblick über Online-Repositories verschaft, um mein Subversionserver zu hause abschalten zu können. Allerdings fand ich damals keinen Dienst, kostenlos private Repositories bereitstellt. Mit Bitbucket von Atlassian habe ich jetzt aber einen Dienst gefunden, der genau das bietet. Die einzige Beschränkung ist die Anzahl Nutzer, die darauf [...]

V1.5.4 der kleinen Einkaufsliste Pro verfügbar / V1.5.4 Little Shoppinglist Pro released

Enthalten ist eine Korrektur der Bildskalierung beim Aufnehmen neuer Produktbilder, die sowohl die Erfassung per Kamera als auch aus der Gallerie betrifft. Die Bilder werden danach wieder optimal dargestellt. – V1.5.4 features a fix for image scaling. If  adding images via camera or gallery now images are now scaled correct.

Android Nice2Know – Android, Fragments, Container views und setRetainInstance(true)

…haben bei meiner App in einer Multipane-View nach Rotation auf Singlepane-View immer zu einer IllegalArgumentException geführt. Der Grund war klar: Im Singlepane-Layout fehlte die Containerview. Aber: in den Beispielen fehlte die auch. Jetzt hab ich endlich im Professional Android 4 Application Development Buch einen Satz gefunden, der besagt: Bei mehreren Layouts für diverse Ansichten sollte [...]

Android Nice2Know – Zugriff auf Views in onActivityCreated

Niemals in einem Fragment innerhalb von onActivityCreated auf Layoutelemente des Fragments zugreifen und wenn dann nur mit Null-Check. Grund: onActivityCreated wird auch beim detach aufgerufen. Dann wurde die View aber nicht aufgebaut und die Layoutelemente werde nicht gefunden.

Google Play jetzt mit alternativer Bezahlweise / Alternate Ways to pay in Google Play

Einige User hatte mir gegenüber mal erwähnt, dass eine Bezahlung auch ohne Kreditkartenzwang gut wäre. Da ich die App aber nur über den Play-Store anbiete, bin ich an die dortigen Bezahlmechanismen gebunden. Jetzt hat Google die Bezahlmöglichkeiten erweitert. Es ist nun möglich per Telefonrechnung zu zahlen. Wahrscheinlich erstmal nur für Smartphonenutzer mit Vertrag relevant. Pre-Paid [...]

Entwicklertagebuch: ManagedQuery unter Honeycomb…

sollte man tunlichst vermeiden. Was bis einschliesslich Android 2.3.4 problemlos funktionierte, klappt nun unter Android >= 3.0 nicht mehr so gut. Wechselt man die Aktivität und ruft per Zurück wieder die Aktivität auf, dann kam es in meiner App zu einer IllegalStateException. Ursache war der durch die managedQuery bereits geschlossene Cursor. Mit Hilfe des Internets [...]

Entwicklertagebuch: Content Provider

Kein großes Tutorial hier, davon gibt es genug. Die Notepad-Beispiel-App von Google zeigt wie es funktioniert. Aber: Ich habe doch gestern über eine Stunde versucht einen eigenen Content Provider zu nutzen. Im Testprojekt mit jUnit lief der Datenzugriff problemlos. Aber im eigentlichen Projekt lief es nicht. Der Provider konnte nicht gefunden werden. Über eine Stunde [...]