2009-10-24 31 views
121

Ich bin überrascht, dass es keine Android Versteckte Funktionen Post noch in der Hidden Features series, dass ich seit einer Weile tracking jetzt bin.Versteckte Funktionen der Android-Entwicklung?

Die Hidden Features-Serie ist ideal für Leute, die neu in einer bestimmten Sprache sind. Es zeigt die Seile und einige wertvolle Tricks an einem Ort. Ich denke, es ist eine brillante Idee. Selbst Experten finden manchmal Tricks, von denen sie noch nie gehört hatten.

Ich starte Android Entwicklung und ich würde gerne über seine versteckten Funktionen, Tipps, Tricks und Fallstricke hören.

Also, hier gehts: Was sind einige versteckte Funktionen von Android?

Antwort

105

Hoffentlich gibt es nicht zu viele versteckte, versteckte Funktionen - aber hier sind einige der weniger bekannten und nicht-intuitiven Funktionen für Android, die Ihr Leben und Ihre Apps definitiv besser machen werden.

  • die Quelle aller Code für die Plattform und alle Nicht-Google native Anwendungen ist für Sie zur Verfügung zu durchsuchen, herunterladen, leihen oder aus dem Android Open Source project stehlen.
  • Mit der resources framework ist das Erstellen von lokalisierten Versionen Ihrer App so einfach wie das Hinzufügen eines neuen annotierten Unterordners (zB values-fr), der eine XML-Datei mit Strings in einer anderen Sprache (zB Französisch) enthält. Android wählt zur Laufzeit den richtigen Ordner für Sie aus.
  • Mit dem gleichen Ressourcen-Framework können Sie alternative Layouts für unterschiedliche Hardwarekonfigurationen, Bildschirmpixeldichten und Eingabegeräte verwenden, indem Sie sie einfach in den Ordner "named" kopieren.
  • Seit Android 1.6 kann Ihre App Ergebnisse produzieren, die in den Ergebnissen einer Homescreen-Schnellsuchfeldsuche angezeigt werden. Dies ist bekannt als custom search suggestions.
  • Mithilfe von Intents and Intent Filters können Ihre Apps anonyme Anforderungen für eine auszuführende Aktion erstellen und bearbeiten (z. B. The Where app can request a table booking from the Open Table app).
    • Sie können eine unbekannte Anwendung anfordern eine Aktion abzuschließen, ohne die Anwendung wissen zu müssen (n) kann dieser Antrag erfüllen
    • Ihre App kann Anfragen von unbekannten Anwendungen erfüllen Aktionen abzuschließen, ohne wissen zu müssen, welche Anwendungen machen die Anfragen. Spielen Sie dieses Recht, und Sie können die ‚default‘ Twitter-App erstellen oder Buchung App usw.
  • Alarms Verwenden Sie Ihre Anwendung festlegen können Aufgaben zu vorgegebenen Zeiten zu vollenden, auch wenn die App nicht läuft.
  • Sie können mit der setInexactRepeating-Methode eine Menge Akkulaufzeit sparen, um regelmäßige Ereignisse (wie Serverabfragen oder Updates) zu planen. Es synchronisiert Alarme von mehreren Apps gleichzeitig und nicht adhoc.
  • Mithilfe des Preferences Frameworks können Sie Einstellungsbildschirme für Ihre Apps im selben Stil wie die Systemeinstellungen erstellen. Sie können sogar Systemeinstellungen (z. B. Sicherheit und Standort) in die Einstellungshierarchie Ihrer Anwendung integrieren.
  • Mithilfe der AudioTrack and AudioRecord APIs können Sie Audiodaten direkt von und zu den PCM-Audiopuffern streamen.
+3

+1 für wirklich viele gute Punkte des Interesses – Alxandr

25

Ich denke, ich werde dann anfangen.


Eine nette versteckte Funktion, die ich denke, ist die Best Practices der Android-Dokumentation. Es enthält viele gute Tipps zum Entwerfen von schnell reagierenden und schnellen Apps.

Best Practices Abschnitte sind:

  • Unterstützung mehrerer Bildschirme (mehrere Größen und Auflösungen)
  • UI-Richtlinien
    • Icon Design
    • App Widget Entwurf
    • Aktivität und Aufgabengestaltung
    • Menü Design
  • Designing for Performance
  • Planung für Responsiveness
  • Planung für Nahtlosigkeit

Ein weiteres verstecktes Feature ist, dass diese Dokumente offline verfügbar als Teil des SDK sind. Zuerst lud ich jeden Tag ein paar Seiten für meine Zugfahrt auf, aber ich musste das nicht mehr machen, nachdem ich sie im SDK-Verzeichnis gefunden hatte.


Wenn Sie Eclipse, werden Sie feststellen, dass es nicht XML-Dateien nicht formatiert werden sehr gut und wenn es funktioniert, ist es sehr inkonsistent (manchmal spaltet sie die Attribute von neuen Linien, manchmal nicht). Um es zu beheben, drücken Sie Strg-Umschalt-F (Auto-Format). Die Regeln, die Ctrl-Shift-F verwendet, sind in Fenster-> Einstellungen-> XML-> XML-Dateien-> Editor.

+1

Die letzte wird sicherlich Teil meines Workflows sein. Das nervte mich für die letzte Woche ... Danke !! – Mikle

35

Die tools in the /tools directory des SDK verdienen eine Erwähnung:

  • unsere Designer war besonders beeindruckt von draw9patch die dehnbare Tasten entwerfen geholfen. Er gab mir Assets von dort, und ich änderte von einer Hintergrundfarbe zu einem 9-Patch-Zeichen und nun haben wir einen benutzerdefinierten Button, abgerundete Ecken usw., die so gestreckt sind, dass sie in den Text passen.
  • ddms, die auch in das Eclipse-Plugin integriert ist. Es ist ungeheuer mächtig, aber ich benutze es, um Screenshots zu machen.
  • adb - interagieren Sie mit Ihrem Gerät oder Emulator über die Befehlszeile. Ich benutze dies, um die Logs von meinem Gerät in einem Terminal-Fenster auf meinem Desktop zu verfolgen, obwohl ich es für die Installation und Deinstallation von Apps, die sich schlecht benehmen, nützlich fand.
  • sqlite3 - ideal für die Interaktion mit einer installierten Datenbank und Abfragen ausprobieren.
  • apkbuilder, zipalign, aapt - ideal für kopflos laufen baut
  • monkey für Fuzz-Testen Sie Ihre App.

würde ich heraus auch die drei Planung für Performance, Responsiveness und Seamlessness, aber ich würde auch einen vierten Coding for (Battery) Life hinzufügen.

Obwohl der Javadoc kann manchmal ein wenig spärlich sein, hilft es kein Ende, um die Quelle genau dort für Sie zu sehen.

Es ist auch sehr nützlich, viele sample apps written by Googlers zu bauen, zu untersuchen und dann zu sehen, wie sie es gemacht haben.

+3

+ 1 für das Erwähnen des Affen – Janusz

+1

Sie vermissten ein anderes nettes Werkzeug layoutopt. – 100rabh

+0

Eine weitere gute fehlt, die ich die ganze Zeit verwenden, ist Hierarchieviewer. –

13

Auch im Hinblick auf Best Practices, möchten Sie vielleicht Android Codierstil auszuchecken:

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

sowie den Eclipse-Code und die Importe Formatierer (android-formatting.xml, android.importorder) Diese sind in der Plattform Quellcode unter Entwicklung/IDE/Eclipse

+2

Es gibt ein paar zu viele Umrisse, durch die Sie springen können, um den Code nur für den Eclipse-Formatierer zu erhalten. Sie finden ihn hier: http://www.google.com/codesearch/p?hl=de#CRBM04-7BoA/ide/eclipse /android-formatting.xml&q=android-formatting&sa=N&cd=1&ct=rc – idbrii

14

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

http://escomic.net/217

+4

Es gibt auch http://idunnolol.com/android/drawables.html mit einer vollständigen Dokumentation aller xml-Features für Shapes. Formen können sehr wichtig sein, um runde Courner-Hintergründe zu erstellen, die beim Klicken die Farbe ändern oder Xml-definierte Verläufe anstelle von benutzerdefinierten Hintergrund-Zeichnungsdateien erstellen. – Janusz

+0

ist es möglich, einem xml-Dokument eine Anzahl von Shapes hinzuzufügen. z.B. ein paar Kreise und Rechtecke? – skyfoot

7

hierarchyviewer in/Tools ermöglicht es Ihnen, zu debuggen/analysieren Ihre Ansicht Layout: Polsterung, Positionierung, Ansichtshierarchie usw.

Es ersparte mir eine viel Zeit ein paar Mal, wenn Sie versuchen herauszufinden, warum die Dinge so ausgelegt sind, wie sie sind.