Ukryte funkcje rozwoju Androida?

Dziwię się, że nie ma jeszcze Androida ukrytych funkcji w Seria Hidden Features którą śledzę od jakiegoś czasu.

Seria Hidden Features jest idealna dla osób, które nie znają danego języka. Pokazuje liny i pewne cenne sztuczki, wszystko w jednym miejscu. Myślę, że to genialny pomysł. Nawet eksperci czasami znajdują sztuczki, o których nigdy nie słyszeli.

Rozpoczynam prace nad Androidem i chciałbym usłyszeć o jego ukryte funkcje, porady, sztuczki i pułapki.

No to zaczynamy: jakie są ukryte funkcje Androida ?

Author: Artem Russakovskii, 2009-10-25

6 answers

Mam nadzieję, że nie ma zbyt wielu ukrytych, ukrytych funkcji - ale oto niektóre z mniej znanych i nieintuicyjnych funkcji dostępnych dla Androida, które z pewnością ułatwią Ci życie, a Twoje aplikacje będą lepsze.

  • Cały kod źródłowy platformy i wszystkie natywne aplikacje spoza Google są dostępne do przeglądania, pobierania, pożyczania lub kradzieży z Android open Source project.
  • używając frameworka resources , tworząc zlokalizowane wersje Twoja aplikacja jest tak prosta, jak dodanie nowego podfolderu z adnotacjami (np. values-fr), który zawiera plik XML z napisami w innym języku (np. Francuski). Android wybierze odpowiedni folder w czasie wykonywania dla Ciebie.
    • ta sama struktura zasobów pozwala używać alternatywnych układów dla różnych konfiguracji sprzętowych, gęstości pikseli ekranu i urządzeń wejściowych po prostu upuszczając je w nazwanym folderze.
  • od Androida 1.6, Twoja aplikacja może produkować wyniki, które pojawią się w wyniki z ekranu głównego szybkie wyszukiwanie pole wyszukiwania. Jest to znane jako niestandardowe sugestie wyszukiwania .
  • używając filtrów intencji i intencji Twoje aplikacje mogą wysyłać i obsługiwać anonimowe żądania o wykonanie akcji (np. Aplikacja Where może poprosić o rezerwację stołów z aplikacji Open Table ).
    • mogą zażądać nieznanego wniosku, aby zakończyć działanie bez potrzeby wiedzieć, które aplikacje mogą spełnić to żądanie
    • Twoja aplikacja może realizuj żądania z nieznanych aplikacji, aby wykonać działania bez konieczności informowania o aplikacjach, które je złożą. Zagraj to prawo i można utworzyć "domyślną" aplikację Twitter, lub aplikacji rezerwacji, itp.
  • za pomocą Alarmy możesz ustawić aplikację tak, aby wykonywała zadania w określonym czasie, nawet jeśli aplikacja nie jest uruchomiona.
    • możesz zaoszczędzić dużo czasu na baterii za pomocą metody setInexactRepeating, aby zaplanować regularne wydarzenia (takie jak ankiety na serwerze lub aktualizacje). Informatyka synchronizuje alarmy z wielu aplikacji w tym samym czasie, a nie adhoc.
  • używając frameworka Preferences możesz tworzyć ekrany ustawień dla swoich aplikacji w tym samym stylu, co Ustawienia systemowe. Możesz nawet włączyć ekrany ustawień systemowych(np. Bezpieczeństwo i lokalizacja) w hierarchii ustawień aplikacji.
  • Za pomocą interfejsów API AudioTrack i AudioRecord można przesyłać strumieniowo dane audio bezpośrednio z I do PCM audio bufory.
 105
Author: Reto Meier,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-13 00:01:44

Narzędzia w katalogu / tools SDK zasługują na wzmiankę:

  • nasz projektant był pod szczególnym wrażeniem draw9patch, które pomogło zaprojektować rozciągliwe przyciski. Dał mi atuty stamtąd, a ja zmieniłem kolor tła na 9-patch drawable i teraz mamy niestandardowy przycisk, zaokrąglone rogi, itp rozciągnięte, aby dopasować tekst.
  • ddms, który jest również zintegrowany z wtyczką Eclipse. Jest niezwykle potężny, ale używam go do zrzuty ekranu.
  • adb - interakcja z urządzeniem lub emulatorem z linii poleceń. Używam tego do śledzenia dzienników z mojego urządzenia w oknie terminala na moim pulpicie, choć uznałem, że jest to przydatne do instalowania i odinstalowywania aplikacji, które źle się zachowują.
  • sqlite3 - świetny do interakcji z zainstalowaną bazą danych i testowania zapytań.
  • apkbuilder, zipalign, aapt - świetnie nadaje się do biegania bez głowy
  • monkey do fuzz-testowania aplikacji.

I wyróżni również trzy projekty dla Performance, responsywność i płynność , ale chciałbym również dodać czwartykodowanie dla (Battery) Life .

Chociaż Javadoc może być czasami trochę Rzadki, pomaga bez końca mieć źródło, na które możesz spojrzeć.

Jest również bardzo przydatne, aby mieć mnóstwo przykładowych aplikacji napisanych przez Googlerów , aby zbudować, zbadać, a następnie zobaczyć, jak to zrobili.

 35
Author: jamesh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-03 22:33:04

To chyba zacznę.


Fajna ukryta funkcjonalność moim zdaniem to najlepsze praktyki dokumentacji Androida. Zawiera mnóstwo świetnych wskazówek dotyczących projektowania responsywnych i szybkich aplikacji.

Najlepsze praktyki sekcje to:

  • Obsługa wielu ekranów (wiele rozmiarów i rozdzielczości)
  • wytyczne UI
    • Icon Design
    • Projektowanie Widżetów Aplikacji
    • projektowanie działań i zadań
    • Menu Design
  • Projektowanie do wykonania
  • Projektowanie dla responsywności
  • Projektowanie dla Bezszwowości

Inną ukrytą funkcją jest to, że te dokumenty są dostępne w trybie offline jako część zestawu SDK. Na początku ładowałem kilka stron każdego dnia na poranną przejażdżkę pociągiem, ale nie musiałem tego robić już po tym, jak znalazłem je w katalogu SDK.


Jeśli używasz Eclipse, zauważysz, że nie formatuje plików XML zbyt dobrze i kiedy to robi, jest bardzo niespójne(czasami dzieli atrybuty przez nowe linie, czasami nie). Aby to naprawić, możesz nacisnąć Ctrl-Shift-F (auto-format). Reguły zastosowania Ctrl-Shift-F znajdują się w oknie->Preferencje->XML->pliki XML->edytor.

 25
Author: Artem Russakovskii,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-06-28 10:43:36

Android obsługuje pliki XML <shape>, które mogą być używane jako pliki rysunkowe podobne do SVG. Niestety nie ma dla nich dokumentacji. To jest najlepsza informacja jaką mogłem znaleźć:

Http://escomic.net/217

 14
Author: Timmmm,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-24 17:12:47

Również w odniesieniu do najlepszych praktyk, możesz sprawdzić styl kodowania Androida:

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

Oraz kod eclipse i import formaterów (android-formatowanie.xml, android.importorder), które znajdują się w kodzie źródłowym platformy w fazie rozwoju / ide / eclipse

 13
Author: dljava,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-12 21:39:10

Hierarchyviewer in /tools pozwala na debugowanie / analizę układu widoku: padding, pozycjonowanie, hierarchia widoku itp.

To zaoszczędziło mi dużo czasu, kilka razy próbując dowiedzieć się, dlaczego rzeczy są ułożone tak, jak są.

 7
Author: Ivo van der Wijk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-10 07:17:15