Versteckte Funktionen der Android-Entwicklung?

121

Ich bin überrascht, dass es in der Hidden Features-Reihe , die ich seit einiger Zeit verfolge , noch keinen Beitrag zu versteckten Android- Funktionen gibt .

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

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

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

Artem Russakovskii
quelle

Antworten:

105

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 und die Ihr Leben definitiv einfacher und Ihre Apps besser machen.

  • Der gesamte Quellcode für die Plattform und alle nicht von Google stammenden nativen Apps können Sie im Android Open Source-Projekt durchsuchen, herunterladen, ausleihen oder stehlen .
  • Mithilfe des Ressourcen-Frameworks ist das Erstellen lokalisierter Versionen Ihrer App so einfach wie das Hinzufügen eines neuen kommentierten Unterordners (z. B. Werte-fr), der eine XML-Datei mit Zeichenfolgen in einer anderen Sprache (z. B. Französisch) enthält. 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 sie einfach in einem benannten Ordner ablegen.
  • Seit Android 1.6 kann Ihre App Ergebnisse erzeugen, die in den Ergebnissen einer Startbildschirm-Schnellsuchfeldsuche angezeigt werden. Dies wird als benutzerdefinierte Suchvorschläge bezeichnet .
  • Mithilfe von Absichten und Absichtsfiltern können Ihre Apps anonyme Anforderungen für den Abschluss einer Aktion stellen und bearbeiten (z. B. Die Where-App kann eine Tischbuchung über die Open Table-App anfordern ).
    • Sie können eine unbekannte Anwendung anfordern, um eine Aktion abzuschließen, ohne wissen zu müssen, welche Anwendung (en) diese Anforderung erfüllen können
    • Ihre App kann Anforderungen von unbekannten Apps erfüllen, um Aktionen abzuschließen, ohne wissen zu müssen, welche Apps die Anforderungen stellen. Spielen Sie dieses Recht und Sie können die 'Standard'-Twitter-App oder Buchungs-App usw. erstellen.
  • Mithilfe von Alarmen können Sie Ihre App so einstellen, dass Aufgaben zu festgelegten Zeiten ausgeführt werden, auch wenn Ihre App nicht ausgeführt wird.
    • Mit der Methode setInexactRepeating können Sie viel Akkulaufzeit sparen , um regelmäßige Ereignisse (z. B. Serverabfragen oder Updates) zu planen. Es synchronisiert Alarme von mehreren Apps, um gleichzeitig und nicht adhoc aufzutreten.
  • Mit dem Einstellungen- Framework können Sie Einstellungsbildschirme für Ihre Apps im gleichen Stil wie die Systemeinstellungen erstellen. Sie können sogar Systemeinstellungsbildschirme (z. B. Sicherheit und Standort) in die Einstellungshierarchie Ihrer Anwendung integrieren.
  • Mit den AudioTrack- und AudioRecord- APIs können Sie Audiodaten direkt von und zu den PCM- Audiopuffern streamen .
Reto Meier
quelle
35

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

  • Unser Designer war besonders beeindruckt von draw9patchder Gestaltung dehnbarer Knöpfe. Von dort gab er mir Assets, und ich wechselte von einer Hintergrundfarbe zu einer 9-Patch-Zeichenfarbe. Jetzt haben wir eine benutzerdefinierte Schaltfläche, abgerundete Ecken usw., die entsprechend dem Text gedehnt wurden.
  • ddms, das auch in das Eclipse-Plugin integriert ist. Es ist immens mächtig, aber ich benutze es, um Screenshots zu machen.
  • adb- Interagieren Sie über die Befehlszeile mit Ihrem Gerät oder Emulator. 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 das Ausprobieren von Abfragen.
  • apkbuilder, zipalign, aapt- ideal für kopflos laufen baut
  • monkey zum Fuzz-Testen Ihrer App.

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

Obwohl der Javadoc manchmal etwas spärlich sein kann, hilft er kein Ende , die Quelle genau dort zu haben, wo Sie sie sich ansehen können.

Es ist auch sehr nützlich, viele Beispiel-Apps von Googlern schreiben zu lassen, um zu erstellen, zu untersuchen und dann zu sehen, wie sie es gemacht haben.

Jamesh
quelle
1
Sie haben eine weitere nette Werkzeuglayoutoption verpasst.
100 Rabh
Ein weiterer guter Fehler, den ich ständig benutze, ist der Hierarchie-Viewer.
Artem Russakovskii
25

Dann fange ich wohl an.


Eine nette versteckte Funktion, denke ich, sind die Best Practices der Android-Dokumentation. Es enthält viele großartige Tipps zum Entwerfen reaktionsschneller und schneller Apps.

Die Best Practices- Abschnitte sind:

  • Unterstützung mehrerer Bildschirme (mehrere Größen und Auflösungen)
  • UI-Richtlinien
    • Icon Design
    • App Widget Design
    • Aktivitäts- und Aufgabendesign
    • Menügestaltung
  • Entwerfen für Leistung
  • 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. Zuerst habe ich jeden Tag ein paar Seiten für meine morgendliche Zugfahrt geladen, musste das 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 wenn dies der Fall ist, ist es sehr inkonsistent (manchmal werden die Attribute durch neue Zeilen aufgeteilt, manchmal nicht). Um das Problem zu beheben, können Sie Strg-Umschalt-F (automatische Formatierung) drücken. Die Regeln, die Strg-Umschalt-F verwendet, finden Sie unter Fenster-> Einstellungen-> XML-> XML-Dateien-> Editor.

Artem Russakovskii
quelle
1
Der letzte wird sicher Teil meines Workflows sein. Das hat mich die letzte Woche geärgert ... Danke !!
Mikle
14

Android unterstützt XML <shape>-Dateien, die als SVG-ähnliche Zeichen 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

Timmmm
quelle
4
Es gibt auch idunnolol.com/android/drawables.html mit einer vollständigen Dokumentation aller XML-Funktionen für Formen. Formen können sehr wichtig sein, um runde Courner-Hintergründe zu erstellen, deren Farbe sich beim Klicken ändert, oder um XML-definierte Verläufe anstelle von benutzerdefinierten Hintergrundzeichnungen zu erstellen.
Janusz
Ist es möglich, einem XML-Dokument mehrere Formen hinzuzufügen? zB ein paar Kreise und Rechtecke?
Skyfoot
13

Auch im Hinblick auf Best Practices möchten Sie möglicherweise den Android-Codierungsstil überprüfen:

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

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

dljava
quelle
2
Es gibt ein bisschen zu viele Rahmen, um den Code nur für den Eclipse-Formatierer
abzurufen.
7

Mit hierarchyviewer in / tools können Sie Ihr Ansichtslayout debuggen / analysieren: Auffüllen, Positionieren, Ansichtshierarchie usw.

Es hat mir ein paar Mal viel Zeit gespart, als ich versuchte herauszufinden, warum die Dinge so angeordnet sind, wie sie sind.

Ivo van der Wijk
quelle