Ukryte funkcje programowania na Androida?


121

Dziwię się, że w serii ukrytych funkcji nie ma jeszcze wpisu o ukrytych funkcjach Androida , który śledzę od jakiegoś czasu.

Seria Ukryte funkcje jest świetna dla osób, które są nowicjuszami w określonym języku. Pokazuje liny i kilka cennych sztuczek w jednym miejscu. Myślę, że to wspaniały pomysł. Nawet eksperci czasami znajdują sztuczki, o których nigdy nie słyszeli.

Rozpoczynam tworzenie Androida i chciałbym usłyszeć o jego ukrytych funkcjach, wskazówkach, sztuczkach i pułapkach.

Więc tu idzie: jakie są ukryte funkcje z Androidem ?

Odpowiedzi:


105

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

  • Cały kod źródłowy platformy i wszystkie natywne aplikacje inne niż Google są dostępne do przeglądania, pobierania, wypożyczania lub kradzieży z projektu Android Open Source .
  • Korzystając ze struktury zasobów , tworzenie zlokalizowanych wersji aplikacji jest tak proste, jak dodanie nowego podfolderu z adnotacjami (np. Wartości-fr), który zawiera plik XML z ciągami znaków w innym języku (np. Francuski). Android wybierze dla Ciebie odpowiedni folder w czasie wykonywania.
    • Ta sama struktura zasobów umożliwia korzystanie z alternatywnych układów dla różnych konfiguracji sprzętowych, gęstości pikseli ekranu i urządzeń wejściowych po prostu przez upuszczenie ich w nazwanym folderze.
  • Od Androida 1.6 Twoja aplikacja może generować wyniki, które pojawią się w wynikach wyszukiwania w oknie szybkiego wyszukiwania na ekranie głównym. Nazywa się to niestandardowymi sugestiami wyszukiwania .
  • Korzystanie z intencji i filtrów intencji Twoje aplikacje mogą wysyłać i obsługiwać anonimowe żądania wykonania akcji (np. Aplikacja Where może zażądać rezerwacji stolika z aplikacji Open Table ).
    • Mogą zażądać, aby nieznana aplikacja zakończyła działanie, bez konieczności sprawdzania, które aplikacje mogą spełnić to żądanie
    • Twoja aplikacja może realizować żądania z nieznanych aplikacji w celu wykonania działań bez konieczności wiedzieć, które aplikacje będą wysyłać żądania. Zagraj w to prawo i możesz utworzyć `` domyślną '' aplikację na Twitterze, aplikację do rezerwacji itp.
  • Korzystając z alarmów , możesz ustawić aplikację tak, aby wykonywała zadania o określonych porach, nawet jeśli aplikacja nie jest uruchomiona.
    • Możesz zaoszczędzić dużo czasu pracy na baterii, używając metody setInexactRepeating do planowania regularnych zdarzeń (takich jak odpytywanie serwera lub aktualizacje). Synchronizuje alarmy z wielu aplikacji w tym samym czasie, a nie doraźnie.
  • Korzystając ze struktury Preferencji , możesz tworzyć ekrany ustawień dla swoich aplikacji w tym samym stylu, co ustawienia systemowe. Możesz nawet włączyć ekrany ustawień systemu (np. Bezpieczeństwo i Lokalizacja) do hierarchii ustawień aplikacji.
  • Korzystając z interfejsów API AudioTrack i AudioRecord , można przesyłać strumieniowo dane audio bezpośrednio zi do buforów audio PCM.

35

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

  • nasz projektant był szczególnie pod wrażeniem możliwości draw9patchzaprojektowania rozciągliwych przycisków. Dał mi stamtąd zasoby i zmieniłem kolor tła na 9-patch do rysowania, a teraz mamy niestandardowy przycisk, zaokrąglone rogi itp. Rozciągnięte, aby pasowały do ​​tekstu.
  • ddms, który jest również zintegrowany z wtyczką Eclipse. Jest niesamowicie potężny, ale używam go do robienia zrzutów ekranu.
  • adb- wchodzić w interakcję z urządzeniem lub emulatorem z poziomu wiersza poleceń. Używam tego do śledzenia dzienników z mojego urządzenia w oknie terminala na moim pulpicie, chociaż uznałem to za przydatne do instalowania i odinstalowywania aplikacji, które działają nieprawidłowo.
  • sqlite3 - świetne do interakcji z zainstalowaną bazą danych i wypróbowywania zapytań.
  • apkbuilder, zipalign, aapt- doskonale nadaje się do prowadzenia bez głowy buduje
  • monkey do testowania aplikacji.

Chciałbym również wyróżnić trzy projektowanie pod kątem wydajności , responsywności i bezproblemowości , ale chciałbym również dodać czwarte kodowanie żywotności (baterii) .

Chociaż Javadoc może być nieco rzadki w czasach, to pomaga końca nie mieć źródło właśnie tam dla ciebie patrzeć.

Bardzo przydatne jest również posiadanie wielu przykładowych aplikacji napisanych przez pracowników Google do tworzenia, sprawdzania, a następnie sprawdzania, jak to zrobili.


1
Brakowało Ci innego fajnego układu narzędzia.
— 100rabh

Innym dobrym, którego używam przez cały czas, jest przeglądarka hierarchii.
— Artem Russakovskii

25

Wtedy chyba zacznę.


Myślę, że fajną ukrytą funkcją są najlepsze praktyki w dokumentacji Androida. Zawiera wiele świetnych wskazówek dotyczących projektowania responsywnych i szybkich aplikacji.

Sekcje sprawdzonych metod to:

  • Obsługa wielu ekranów (wiele rozmiarów i rozdzielczości)
  • Wytyczne dotyczące interfejsu użytkownika
    • Projektowanie ikon
    • Projektowanie widżetów aplikacji
    • Projektowanie działań i zadań
    • Wygląd menu
  • Projektowanie pod kątem wydajności
  • Projektowanie pod kątem responsywności
  • Projektowanie pod kątem płynności

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


Jeśli używasz Eclipse, zauważysz, że nie formatuje on plików XML zbyt dobrze, a kiedy to robi, jest bardzo niespójny (czasami dzieli atrybuty według nowych linii, czasami nie). Aby to naprawić, możesz nacisnąć Ctrl-Shift-F (automatyczne formatowanie). Reguły używane przez Ctrl-Shift-F znajdują się w Okno-> Preferencje-> XML-> Pliki XML-> Edytor.


1
Ta ostatnia z pewnością będzie częścią mojej pracy. To mnie denerwowało przez ostatni tydzień ... Dzięki!
— Mikle

14

Android obsługuje pliki XML <shape>, które mogą być używane jako rysunki podobne do SVG. Niestety nie ma dla nich dokumentacji. Oto najlepsze informacje, jakie udało mi się znaleźć:

http://escomic.net/217


4
Istnieje również idunnolol.com/android/drawables.html z pełną dokumentacją dotyczącą wszystkich funkcji XML dla kształtów. Kształty mogą być bardzo ważne w przypadku okrągłego tła Courner, które zmieniają kolor po kliknięciu lub tworzy gradienty zdefiniowane w XML zamiast niestandardowych rysunków tła.
— Janusz

czy można dodać kilka kształtów do jednego dokumentu xml. np. kilka okręgów i prostokątów?
— skyfoot

13

Jeśli chodzi o sprawdzone metody, warto zapoznać się ze stylem kodowania Androida:

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

a także kod zaćmienia i importuje elementy formatujące (android-formatting.xml, android.importorder), które znajdują się w kodzie źródłowym platformy w trakcie opracowywania / ide / eclipse


2
Jest zbyt wiele kółek do przeskoczenia, aby pobrać kod tylko dla programu formatującego Eclipse, więc znajdź go tutaj: google.com/codesearch/p?hl=en#CRBM04-7BoA/ide/eclipse/ ...
— idbrii

7

hierarchyviewer w / tools pozwala na debugowanie / analizę układu widoku: wypełnienie, pozycjonowanie, hierarchię widoku itp.

Kilka razy zaoszczędziło mi to czasu, gdy próbowałem dowiedzieć się, dlaczego wszystko jest ułożone tak, jak jest.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.