ActionBarSherlock eigenes Design

ActionBarSherlock ist ein Framework für Android um eine ActionBar implementieren zu können vor der Android Version 3.0, bei der es eine native ActionBar gibt.

Beispiel für Actionbar mit eigenem Design unter Android 2.3.3

Außerdem kann man sehr viele Funktionen nutzen,die selbst die native ActionBar nicht möglich macht, eine Übersicht kann man sich am besten verschaffen durch die Installation der Sample App auf einem Android Device.

Eine Schwierigkeit des Frameworks besteht in der Individualisierung des Designs, dies ist sehr schwer möglich ohne den Online Style Generator für ActionBarSherlock. Mit diesem lässt sich viel Zeit sparen, absolut zu empfehlen!

Aktiviertes Suchfeld in Actionbar

 

Vergleich von Augmented Reality Frameworks für Android

project nameMixareDroidARAndARvuforiawiktitudeandroid-augment-reality-framework
total ratingBCDA-B+F
project urlMixareDroidARAndARvuforiawiktitudeandroid-augment-reality-framework
licenceGNU GPL v3GNU GPL v3GNU GPL v3Anonymous Data collection by Qualcomm,
Attribution licence, the logo must be shown ether in loading, splash or credit screen license
not free, 599€ per App PricingApache License 2.0
version0.9.2??1.5.9.?initial version
latest build22.08.2012??22.02.2012?01.12.2011
documentationLinkBlog?Link?Link
tested Devices/Android Versionokno informationgoodvery good?
tested Devices URLLinkLinkAndroid 2.2 and newer, iOS 4 & 5.?
getting startedLinkLinkLinkLink?
Sample VideoLinkhttp://youtu.be/MHkobjWqLA8Link
sample appLinkLinkLinkLink and Link
special featuresespecially for 3D Objects (with commercial licence)for ios and androidruns in webview (like phonegap), easy implementation for android, ios etc but performance issues may occur, very good customizable
conclusionactive community and steady buildsfew documentation and no information about tested devicesprojects is not maintained any morevery good documentation and device support, critical licence and complex intital setupnot free and few informations on the website, might have performance issues but easy to implement with HTML5project is not maintained any more

Fazit:

Ich habe mich für Mixare entschieden, welches  sehr gut gecodet, aber weniger gut dokumentiert ist. Ist ist sehr einfach möglich seine eigenen Daten oder Wikipedia Daten über die Kamera zu legen und gleichzeitig dieselben Daten auf Google Maps als Marker anzuzeigen.

Vuforia erscheint für die Entwicklung von Android/iPhone Lösungen der geeignete Kanditat zu sein, jedoch wird in der Lizenz verlangt, dass Benutzerdaten an den Qualcomm Server gesendet werden und der User darüber informiert werden muss:

Auszug aus der Lizenz von Vuforia

“You must inform end-users of your application that certain types of anonymous usage data is collected by the Vuforia SDK and sent back to Qualcomm servers.”

“(i) the collection by QUALCOMM and/or its affiliates of Statistics from the Software (including but not limited to: (a) information about the end users’ devices such as device unique identifier, make, model, operating system name and version and kernel version, (b) information about our Software used to create your software or augmented reality end user application such as the SDK version and device profile, and (c) information about your software or augmented reality application and its use such as settings (e.g., camera resolution settings, configuration settings), start and stop dates and times, camera on/off events, target image obtained/lost events, and other general usage information (collectively “Statistics”)).”

Android automatische Error Reports von Usern mit ACRA

Ein praktische Bibliothek für Android Apps ist Acra (Application Crash Report for Android), damit lassen sich automatisch bei einem Fehler auf dem Handy eines Users die Fehlermeldung verschicken als:

  • Google Docs spreadsheet (default)
  • Email
  • eigenes HTTP POST Server Script
  • jede andere mögliche Verarbeitung mittels der Implementierung eines eigenen “report senders”

Im Falle eines Crahs kann man dem User auf folgende Arten mit dem Fehler begegnen:

  • Silent (default): ACRA actions are not visible. The crash report is sent and then the default android crash system does its job (Force Close dialog)
  • Toast: When the crash occurs, ACRA displays a toast and simultaneously sends the report.
  • Notification: An optional toast is displayed on application crash, but the report is not sent immediately. A status bar notification is published warning the user that he should send a report. When selected, the notification displays a dialog asking for the authorization to send the report, with an optional user comment.
  • Dialog: since 4.3.0b1, experimental, allows to display a crash dialog without the need of a status bar notification.

Installation weiterlesen…

Amazon S3 Android SDK Error: RequestTimeTooSkewed

Bei einer Fehlermeldung:

Status Code 403, AWS Request ID:.... RequestTimeTooSkewed The difference between the request time and the current time is too large. 

Hilft es die Uhr des Handy zu stellen manuell, weil Amazon sonst von einem zu alten Request ausgeht und diesen blockiert, wenn die Zeit um über 15Minuten unterscheidet von der Amazon Zeit.

Es gibt leider keine andere unterstütze Lösung von Amazon-Seite: siehe Thread.

Android Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-1.xml, reason: Connection to https://dl-ssl.google.com refused

Bei folgender Fehlermeldung Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-1.xml, reason: Connection to https://dl-ssl.google.com refused hat bei mir folgendes geholfen:

Testen der XML Webseite

https://dl-ssl.google.com/android/repository/addons_list-1.xml

wenn die Seite im Browser ohne Probleme angezeigt wird (es steht Text da, keine Fehlermeldung), muss man folgende Schritte unternehmen:

Firewall konfigurieren

  • Firewall deaktivieren, bzw. Ausnahme für SDK Manager.exe hinzufügen (das war es bei mir)

Force https aktivieren

  • starten des sdk managers (nicht aus Eclipse heraus!): C:\Program Files (x86)\Android\android-sdk\SDK Manager.exe
  • Tools/Options
  • ankreuzen: force https:// ….

Installieren von SDK Paketen

Damit die SDK Dateien korrekt installiert werden können, muss die SDK Manager.exe als Administrator gestartet werden: rechte Maustaste auf die Datei und als Administrator ausführen.

Android App in den Google Play Market stellen Windows7

Wenn man seine hart ercodete App in den Google Play Market stellen will muss man ein paar einfache Schritte durchführen. Im Vergleich zum Aufnahmeprozess im Apple App Store sind diese allerdings mit wenig Aufwand verbunden.

  1. Anlegen eines Developer Accounts für den Play Market. Es muss eine Gebühr von einmalig 25$ gezahlt werden, allerdings zwingend mit einem Google Checkout Account, den man mit einer Kreditkarte (z.B: Visa) verbinden muss.
  2. Die APK-Datei muss mit einem gültigem Zertifikat versehen werden, sonst gibt es eine Fehlermeldung: 
Google Play akzeptiert keine mit dem Debug-Zertifikat signierten APK-Dateien. Erstellen Sie ein neues Zertifikat, das mindestens 50 Jahre gültig ist.

Zertifizieren der App mit einem gültigem Zertifikat

weiterlesen…

Teil 2: Clean Code – richtige und falsche Kommentare

Nach dem Buch (Kapitel 4):  “Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code” von Robert C. Martin.

“Kommentieren Sie schlechten Code nicht – schreiben Sie ihn um.”

(Brian W. Kernighan und P.J. Plaugher)

 

Kommentare können beides sein, hilfreich und hinderlich:

  • hinderlich, wenn Sie überholt sind und Fehlinformationen liefern
  • störend, wenn Sie zu lang sind und unnötig
  • hilfreich, wenn Sie wohlplatziert sind

Der Einsatz von Kommentaren “soll unsere Unfähigkeit ausgleich, uns in unserem Code klar auszudrücken”(S.85). Bevor man einem Kommentar schreibt, sollte man vorher überlegen, ob der Code nicht noch ausdrucksstarker geschrieben werden könnte.

weiterlesen…

Huawei Ideos X3 USB Debugging Tutorial


Das Huawei Ideos X3 (U8510 Blaze) ist das sehr günstige Einsteiger Handy für Android Programmierer und Studenten (< 100€).

Zu Beginn müssen die USB-Treiber installiert werden werden. Diese sind auf dem Handy gespeichert. Eine sehr gute Anleitung findet man hier. Alternativ kann man die Treiber auch sehr einfach downloaden und installieren: Download.

Um das USB Debugging beim Huwaei Ideos X3 zu aktivieren, muss folgende Nummer gewählt werden um in das versteckte Menü zu kommen:

*#*#2846579#*#*

20120430-220205.jpgDanach ins ProjectMenu->3. Background setting->2. Log setting

->Log level setting, verbose auswählen.

->Log switch, Log on auswählen

Danach ins ProjectMenu->3. Background setting->6. Dump & Log auswählen

  • Open Dump & Log
  • Changing log switch
  • Open Sleep Log

Ihr Huawei Ideos X3 ist jetzt bereit Debug-Informationen und detailierte Fehlermeldungen an ihre IDE (Eclipse) zu senden.

Zum Testen auf High-End Android Geräten: Lesen Sie: Samsung Galayx S2 Debugging.

Entwickler Handy Empfehlung: Samsung Galaxy Nexus mit Android 4.0


Entwickler Tablet Empfehlung: Samsung Galaxy Tab 2 mit Android 4.0


Teil 1: Clean Code – Regeln für guten, sauberen Code

Sauberen und leicht verständlichen Code zu schreiben ist das höchste Ziel in einem guten IT-Projet. Vieles hängt davon ab:

  • Wartbarkeit
  • Einarbeitungszeit für andere Programmierer, versteht man schnell, was einzelne Funktionen erledigen
  • Robustheit bei Änderungen
  • Testbarkeit, fällt alles zusammen, bei kleinen Änderungen, können schnell stabile Updates bereitgestellt werden
  • Popularität bei anderen Programmierern z.B: bei Open Source Projekten, als negative Beispiel sei XT-Commerce genannt

Das sehr zu empfehlende Standardwerk zu dem Thema ist “Clean Code – Refactoring, Patterns, Testen und Techniken für sauberen Code” von Robert C. Martin. In diesem Artikel werden Kapitel 1 bis 3 behandelt.

Aussagekräftige Namen

Der Namen einer Variable, Funktion oder Klasse sollte sofort erklären, warum Sie existiert, was sie tut und wie sie benutzt wird. Wenn eine Variable einen Kommentar benötigt, drückt Sie ihren Zweck nicht aus.

Bsp:

int d //Anzahl vergangener Tage
besser ist:
int daysSinceCreation;

Aussprechbare Namen verwenden

Keine Konstrukte mit unklaren Abkürzungen wie: int daSiCre anstatt von daysSinceCreation.

Suchbare Namen verwenden

Moderne IDEs machen das Suchen einfach, aber es nützt nichts, wenn man nach dem Buchstaben e einer Laufvariable suchen muss und von Ergebnissen überschwemmt wird.

Variablen Namen mit einem Buchstaben sind nur als lokale Variablen in kurzen Methoden zu verwenden.

weiterlesen…