wake-up-neo.com

Versteckte Funktionen der Android Entwicklung?

Ich bin überrascht, dass es noch keinen Android Hidden Features Post in der Hidden Features-Reihe, die ich jetzt für eine Weile verfolgt habe.

Die Hidden Features-Reihe ist ideal für Leute, die eine bestimmte Sprache noch nicht kennen. Es zeigt die Seile und einige wertvolle Tricks an einem Ort. Ich finde das eine geniale Idee. Sogar Experten finden manchmal Tricks, von denen sie noch nie gehört haben.

Ich beginne mit der Entwicklung von Android und würde gerne etwas über die versteckten Funktionen, Tipps, Tricks und Fallstricke erfahren.

Also, hier geht's: Was sind einige versteckte Funktionen von Android ?

121

Hoffentlich gibt es nicht zu viele versteckte, versteckte Funktionen - aber hier sind einige der weniger bekannten und nicht intuitiven Funktionen, die für Android) verfügbar sind, die auf jeden Fall Ihr Leben erleichtern und Ihre Apps verbessern werden.

  • Der gesamte Quellcode für die Plattform und alle nativen Apps, die nicht von Google stammen, können Sie im Android Open Source-Projekt durchsuchen, herunterladen, ausleihen oder stehlen.
  • Mit dem Ressourcen-Framework können Sie einfach lokalisierte Versionen Ihrer App erstellen, indem Sie einen neuen mit Anmerkungen versehenen Unterordner hinzufügen (z. B. values-fr), der eine XML-Datei mit Zeichenfolgen in einer anderen Sprache enthält (z. B. Französisch). . Android wählt zur Laufzeit den richtigen Ordner für Sie aus.
    • Mit demselben Ressourcen-Framework können Sie alternative Layouts für verschiedene Hardwarekonfigurationen, Bildschirmpixeldichten und Eingabegeräte verwenden, indem Sie diese einfach in einem benannten Ordner ablegen.
  • Seit Android 1.6) kann Ihre App Ergebnisse produzieren, die in den Ergebnissen einer Schnellsuchfeldsuche auf dem Homescreen angezeigt werden. Dies wird als benutzerdefinierte Suchvorschläge bezeichnet.
  • Mithilfe von Absichten und Absichtsfilter können Ihre Apps anonyme Anforderungen für den Abschluss einer Aktion stellen und bearbeiten. (ZB Die Where-App kann eine Tischreservierung über die Open Table-App anfordern. ) .
    • Sie können eine unbekannte Anwendung anfordern, um eine Aktion abzuschließen, ohne zu wissen, welche Anwendung (en) diese Anforderung erfüllen können
    • Ihre App kann Anforderungen von unbekannten Apps erfüllen, um Aktionen abzuschließen, ohne zu wissen, welche Apps die Anforderungen stellen. Wenn Sie dieses Recht einhalten, können Sie die Standard-Twitter-App, die Buchungs-App usw. erstellen.
  • Mit Alarme können Sie festlegen, dass Ihre App Aufgaben zu festgelegten Zeiten ausführt, auch wenn Ihre App nicht ausgeführt wird.
    • Mit der Methode setInexactRepeating können Sie viel Batterielebensdauer sparen, um regelmäßige Ereignisse (wie Serverabfragen oder Aktualisierungen) zu planen. Es synchronisiert Alarme von mehreren Apps so, dass sie zur gleichen Zeit und nicht adhoc auftreten.
  • Mit dem Preferences Framework können Sie Einstellungsbildschirme für Ihre Apps im selben Stil wie die Systemeinstellungen erstellen. Sie können sogar Systemeinstellungsbildschirme (z. B. Sicherheit und Speicherort) in die Einstellungshierarchie Ihrer Anwendung integrieren.
  • Mit den APIs AudioTrack und AudioRecord können Sie Audiodaten direkt von und zu den PCM-Audiopuffern streamen.
105
Reto Meier

Die tools im Verzeichnis/tools des SDK verdienen eine Erwähnung:

  • unser designer war besonders beeindruckt von draw9patch, mit dessen Hilfe dehnbare Knöpfe entworfen wurden. Er gab mir Vermögenswerte von dort, und ich änderte von einer Hintergrundfarbe zu einem 9-Patch, der gezeichnet werden kann, und jetzt haben wir einen benutzerdefinierten Knopf, abgerundete Ecken usw., die gestreckt wurden, um den Text zu passen.
  • ddms, das auch in das Eclipse-Plugin integriert ist. Es ist immens mächtig, aber ich benutze es, um Screenshots zu machen.
  • adb - über die Befehlszeile mit Ihrem Gerät oder Emulator interagieren. Ich verwende dies, um die Protokolle von meinem Gerät in einem Terminalfenster auf meinem Desktop zu verfolgen, obwohl ich es für nützlich befunden habe, um Apps zu installieren und zu deinstallieren, die sich schlecht verhalten.
  • sqlite3 - ideal für die Interaktion mit einer installierten Datenbank und zum Ausprobieren von Abfragen.
  • apkbuilder, zipalign, aapt - ideal für Headless Builds
  • monkey zum Testen Ihrer App.

Ich würde auch die drei Entwürfe für Leistung , Reaktionsfähigkeit und Nahtlosigkeit herausgreifen, möchte aber auch hinzufügen ein viertes Codierung für (Batterie-) Lebensdauer .

Obwohl das Javadoc manchmal etwas spärlich sein kann, hilft es kein Ende zu haben, dass die Quelle genau dort ist, wo Sie sie ansehen können.

Es ist auch sehr nützlich, eine Menge von von Googlern geschriebenen Beispiel-Apps zu haben um zu bauen, zu untersuchen und dann zu sehen, wie sie es gemacht haben.

35
jamesh

Dann fange ich wohl an.


Eine nette versteckte Funktion, denke ich, sind die Best Practices der Android) Dokumentation. Sie enthält viele großartige Tipps zum Entwerfen von reaktionsschnellen und schnellen Apps.

Best Practices Abschnitte sind:

  • Unterstützung mehrerer Bildschirme (verschiedene Größen und Auflösungen)
  • UI-Richtlinien
    • Icon Design
    • App Widget Design
    • Aktivitäts- und Aufgabengestaltung
    • Menü-Design
  • Auf Leistung ausgelegt
  • Entwerfen für Reaktionsfähigkeit
  • Entwerfen für Nahtlosigkeit

Eine weitere versteckte Funktion ist, dass diese Dokumente als Teil des SDK offline verfügbar sind. Anfangs hatte ich jeden Tag ein paar Seiten für meine morgendliche Zugfahrt geladen, musste dies aber nicht mehr tun, nachdem ich sie im SDK-Verzeichnis gefunden hatte.


Wenn Sie Eclipse verwenden, werden Sie feststellen, dass XML-Dateien nicht sehr gut formatiert werden und dass dies sehr inkonsistent ist (manchmal werden die Attribute durch neue Zeilen getrennt, manchmal nicht). Um das Problem zu beheben, können Sie Strg-Umschalt-F (automatische Formatierung) drücken. Die Regeln, die Strg-Umschalt-F verwendet, befinden sich unter Fenster-> Einstellungen-> XML-> XML-Dateien-> Editor.

25

Android unterstützt XML <shape> 's, die als SVG-ähnliche Drawables verwendet werden können. Leider gibt es keine Dokumentation für sie. Dies sind die besten Informationen, die ich finden konnte:

http://escomic.net/217

14
Timmmm

Auch in Bezug auf Best Practices sollten Sie Android Codierungsstil:

http://source.Android.com/source/code-style.html

sowie den Eclipse-Code und importiert Formatierer (Android-formatting.xml, Android.importorder), die im Plattform-Quellcode unter development/ide/Eclipse zu finden sind

13
dljava

hierarchyviewer in/tools ermöglicht Ihnen das Debuggen/Analysieren Ihres Ansichtslayouts: Auffüllen, Positionieren, Ansichtshierarchie usw.

Ich habe ein paarmal viel Zeit gespart, als ich herausgefunden habe, warum die Dinge so angeordnet sind, wie sie sind.

7