Glosariusz platformy Android

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Zobacz listę poniżej, aby poznać podstawową terminologię Android Open Source Project (AOSP). Oto inne źródła definicji kluczowych terminów:

Zobacz Kodowanie z szacunkiem , aby zapoznać się z przykładami terminologii, których należy używać i których należy unikać w celu stworzenia bardziej otwartego ekosystemu.

Aplikacje

plik .apk
Plik pakietu aplikacji na Androida. Każda aplikacja systemu Android jest kompilowana i pakowana w jednym pliku, który zawiera cały kod aplikacji (pliki .dex), zasoby, zasoby i plik manifestu. Plik pakietu aplikacji może mieć dowolną nazwę, ale musi mieć rozszerzenie .apk . Na przykład: myExampleAppname.apk . Dla wygody plik pakietu aplikacji jest często określany jako „.apk”.

Powiązane: Aplikacja .

Akcja
Opis czegoś, co nadawca intencji chce zrobić. Akcja to wartość ciągu przypisana do Intencji. Ciągi akcji mogą być definiowane przez Androida lub przez zewnętrznego programistę. Na przykład android.intent.action.VIEW dla internetowego adresu URL lub com.example.rumbler.SHAKE_PHONE dla niestandardowej aplikacji do wibrowania telefonu.

Powiązane: Intencja .

Działalność
Pojedynczy ekran w aplikacji z obsługą kodu Java, pochodzącego z klasy Activity . Najczęściej czynność jest w widoczny sposób reprezentowana przez okno pełnoekranowe, które może odbierać i obsługiwać zdarzenia interfejsu użytkownika oraz wykonywać złożone zadania, ze względu na okno, którego używa do renderowania swojego okna. Chociaż działanie jest zwykle pełnoekranowe, może być również pływające lub przezroczyste.
Aplikacja
Z perspektywy komponentu aplikacja dla systemu Android składa się z co najmniej jednego działania, usług, odbiorników i odbiorników intencji. Z punktu widzenia pliku źródłowego aplikacja dla systemu Android składa się z kodu, zasobów, zasobów i pojedynczego manifestu. Podczas kompilacji pliki te są pakowane w pojedynczy plik zwany plikiem pakietu aplikacji (.apk).

Powiązane: .apk , Aktywność

Odbiornik transmisji
Klasa aplikacji, która nasłuchuje rozgłaszanych intencji zamiast wysyłania ich do pojedynczej docelowej aplikacji/działania. System dostarcza Intencję rozgłoszeniową do wszystkich zainteresowanych odbiorców rozgłoszeniowych, którzy sekwencyjnie realizują Intencję.

Powiązane: Intencja , Filtr intencji .

Dostawca treści
Warstwa abstrakcji danych, której można użyć do bezpiecznego udostępnienia danych aplikacji innym aplikacjom. Dostawca zawartości jest oparty na klasie ContentProvider , która obsługuje ciągi zapytań o zawartość w określonym formacie w celu zwrócenia danych w określonym formacie. Zobacz temat Dostawcy treści , aby uzyskać więcej informacji.

Powiązane: Użycie identyfikatora URI w systemie Android

Dialog
Pływające okno, które działa jak lekka forma. Okno dialogowe może zawierać tylko przyciski sterujące i jest przeznaczone do wykonywania prostych czynności (takich jak wybór przycisku) i być może zwracania wartości. Okno dialogowe nie jest przeznaczone do utrzymywania się w stosie historii, zawierania złożonego układu ani wykonywania skomplikowanych działań. Android zapewnia domyślne proste okno dialogowe z opcjonalnymi przyciskami, ale możesz zdefiniować własny układ okna dialogowego. Podstawową klasą dla okien dialogowych jest Dialog .

Powiązane: Aktywność .

Zamiar
Obiekt komunikatu, którego można użyć do asynchronicznego uruchamiania lub komunikowania się z innymi aplikacjami/działaniami. Obiekt Intent jest instancją obiektu Intent . Zawiera kilka pól kryteriów, które można podać, aby określić, jaka aplikacja/działanie otrzymuje intencję i co robi odbiorca podczas obsługi intencji. Dostępne kryteria obejmują żądaną akcję, kategorię, ciąg danych, typ MIME danych, klasę obsługi i inne. Aplikacja wysyła intencję do systemu Android, zamiast wysyłać ją bezpośrednio do innej aplikacji/działania. Aplikacja może wysłać intencję do pojedynczej aplikacji docelowej lub może wysłać ją jako rozgłoszenie, które z kolei może być obsługiwane sekwencyjnie przez wiele aplikacji. System Android jest odpowiedzialny za znalezienie najlepszego dostępnego odbiornika dla każdej Intencji, w oparciu o kryteria podane w Intencji i Filtrach Intencji zdefiniowanych przez inne aplikacje. Aby uzyskać więcej informacji, zobacz Intencje i Filtry intencji .

Powiązane: Filtr intencji , Odbiornik transmisji .

Filtr intencji
Obiekt filtra, który aplikacja deklaruje w swoim pliku manifestu, aby powiedzieć systemowi, jakie typy intencji każdy z jego komponentów jest skłonny zaakceptować i według jakich kryteriów. Za pomocą filtra intencji aplikacja może wyrazić zainteresowanie określonymi typami danych, akcjami intencji, formatami identyfikatorów URI i tak dalej. Podczas rozstrzygania intencji system ocenia wszystkie dostępne filtry intencji we wszystkich aplikacjach i przekazuje intencję do aplikacji/działania, które najlepiej pasuje do intencji i kryteriów. Aby uzyskać więcej informacji, zobacz Intencje i Filtry intencji .

Powiązane: Intencja , Odbiornik transmisji .

Zasoby
Nieprogramistyczne komponenty aplikacji, które są zewnętrzne w stosunku do skompilowanego kodu aplikacji, ale które można załadować z kodu aplikacji przy użyciu dobrze znanego formatu referencyjnego. System Android obsługuje różne typy zasobów, ale typowe zasoby aplikacji składają się z ciągów znaków interfejsu użytkownika, składników układu interfejsu użytkownika, grafiki lub innych plików multimedialnych i tak dalej. Aplikacja korzysta z zasobów, aby wydajnie obsługiwać lokalizację oraz różne profile i stany urządzeń. Na przykład aplikacja może zawierać osobny zestaw zasobów dla każdego obsługiwanego typu lokalnego lub urządzenia oraz może zawierać zasoby układu, które są specyficzne dla bieżącej orientacji ekranu (poziomej lub pionowej). Aby uzyskać więcej informacji o zasobach, zobacz temat Zasoby i zasoby . Zasoby aplikacji są zawsze przechowywane w podfolderach res/* projektu.
Usługa
Obiekt klasy Service działający w tle (bez obecności interfejsu użytkownika) w celu wykonywania różnych trwałych działań, takich jak odtwarzanie muzyki lub monitorowanie aktywności sieciowej.

Powiązane: Aktywność

Identyfikatory URI w systemie Android
Android używa ciągów znaków URI (uniform resource identifier) ​​jako podstawy żądania danych u dostawcy treści (np. w celu pobrania listy kontaktów) oraz żądania działań w intencji (takich jak otwieranie strony internetowej w przeglądarce). Schemat i format URI jest wyspecjalizowany w zależności od typu użycia, a aplikacja może obsługiwać określone schematy i ciągi URI w dowolny sposób. Niektóre schematy URI są zarezerwowane przez komponenty systemu. Na przykład żądania danych od dostawcy treści muszą używać content:// . W intencji przeglądarka będzie obsługiwać identyfikator URI korzystający ze schematu http:// .

Budować

przysł
Android Debug Bridge, aplikacja do debugowania z wiersza poleceń dołączona do zestawu SDK. Zapewnia narzędzia do przeglądania urządzenia, kopiowania narzędzi na urządzeniu i przekazywania portów do debugowania. Jeśli tworzysz w Android Studio, adb jest zintegrowane z twoim środowiskiem programistycznym. Zobacz Android Debug Bridge , aby uzyskać więcej informacji.
Projekt Androida
Repozytorium Git na hoście Android Gerrit. Zobacz Narzędzia kontroli źródła > Gerrit , aby uzyskać więcej informacji.
Zbuduj odcisk palca
Odcisk cyfrowy kompilacji to unikalny, czytelny dla człowieka ciąg znaków zawierający informacje o producencie wydawane dla każdej kompilacji. Zobacz Omówienie odcisków palców kompilacji , aby uzyskać więcej informacji.
Git
Narzędzie kontroli źródła używane przez system Android, które w przeszłości działało na jednym repozytorium Git. Używany w połączeniu z Repo dla wielu repozytoriów Git. Zobacz Narzędzia kontroli źródła > Git , aby uzyskać więcej informacji.
Gałąź Git - kanoniczna
Odrębne wersje dla każdego repozytorium Git, takie jak android-11.0.0_r1 , znalezione na stronie cs.android.com/android/platform/superproject/+/android-11.0.0_r1 . Zobacz Git Branching — Branches in a Nutshell, aby uzyskać więcej informacji.
Gałąź Git - lokalna
Tymczasowa gałąź w bieżącym kliencie Repo do wprowadzania zmian w kodzie, rozpoczęta od repo start branch-name . Komenda. aktywna linia rozwoju. Ostatnie zatwierdzenie w gałęzi jest określane jako wierzchołek tej gałęzi.
Repozytorium Gita
Czasami nazywany projektem, jest to część bazy kodu reprezentująca określony komponent lub typ urządzenia, na przykład frameworks/base lub platform/packages/apps/Car/Media .
Plik manifestu
Plik XML opisujący grupowanie repozytoriów Git według gałęzi, wersje Git, w których można sprawdzić te repozytoria, oraz ich układ w systemie plików. Ten plik XML, zazwyczaj o nazwie default.xml , jest powiązany z gałęzią repozytorium i opisuje repozytoria Git oraz gałęzie Git wyewidencjonowane podczas inicjowania i synchronizowania gałęzi repozytorium. Ten plik definiuje różne repozytoria Git, które narzędzie Repo powinno pobierać do kasy klienta Repo w celu zbudowania produktu (takiego jak Android Automotive OS). Zobacz wszystkie manifesty na android.googlesource.com/platform/manifest/+refs . Zobacz domyślny manifest zawarty w plikach AndroidManifest , aby pobrać pliki platformy Android (AOSP) na android.googlesource.com/platform/manifest/+/refs/heads/master/default.xml . Zobacz plik AndroidManifest.xml, aby uzyskać informacje o aplikacji i format manifestu repozytorium na potrzeby rozwoju platformy.
Aktualizacja bezprzewodowa (OTA).
Urządzenia z Androidem w terenie mogą odbierać i instalować aktualizacje OTA (over-the-air) systemu, oprogramowania aplikacji i reguł stref czasowych. Zobacz Aktualizacje OTA , aby uzyskać więcej informacji.
Repo
Opakowanie wokół Git, aby umożliwić łatwiejsze operacje na wielu repozytoriach Git. Agreguje i zarządza wieloma repozytoriami Git jako pojedynczą kasą lub bazą kodu. Zobacz narzędzia kontroli źródła > repozytorium , aby uzyskać więcej informacji.
oddział repo
Zbiór repozytoriów Git przechwyconych w pliku AndroidManifest , który reprezentuje wersję (kompilację) bazy kodu Androida, taką jak android11-gsi lub aosp-android-games-sdk , pobraną za pomocą poleceń repo init i repo sync . Zobacz opis pliku manifestu, aby znaleźć łącza do wszystkich plików manifestu, i użyj https://cs.android.com/, aby wyszukać ich kompilacje.
poprzednia
Ogólnie rzecz biorąc, uprev aktualizuje składowy podprojekt większego projektu do nowszej wersji. Uprev zmienia poziom wersji na następną podwyższoną wersję lub na najnowszą dostępną wersję. W przypadku pakietu HIDL, aby zachować kompatybilność wsteczną rozszerzalności na poziomie pakietu, uprev wersji pomocniczej aktualizuje nowy pakiet do wyższej wersji pomocniczej, zachowując tę ​​​​samą nazwę i wersję główną, co stary pakiet. W przypadku konfiguracji Bootloadera uprev aktualizuje obsługę wersji nagłówka rozruchowego do najnowszej wersji.

Grafika

Płótno
Powierzchnia rysunkowa, która obsługuje komponowanie rzeczywistych bitów względem Bitmapy lub obiektu Surface . Posiada metody standardowego komputerowego rysowania map bitowych, linii, okręgów, prostokątów, tekstu itd. i jest powiązany z mapą bitową lub powierzchnią. Płótno to najprostszy i najłatwiejszy sposób rysowania obiektów 2D na ekranie. Klasą bazową jest Canvas .

Powiązane: Drawable , OpenGL ES , Surface .

Do rysowania
Skompilowany zasób wizualny, którego można użyć jako tła, tytułu lub innej części ekranu. Element do rysowania jest zwykle ładowany do innego elementu interfejsu użytkownika, na przykład jako obraz tła. Drawable nie jest w stanie odbierać zdarzeń, ale przypisuje różne inne właściwości, takie jak „stan” i planowanie, aby włączyć podklasy, takie jak obiekty animacji lub biblioteki obrazów. Wiele obiektów rysunkowych jest ładowanych z plików zasobów rysunkowych — plików xml lub bitmap, które opisują obraz. Zasoby do rysowania są kompilowane w podklasy android.graphics.drawable . Aby uzyskać więcej informacji na temat rysunków i innych zasobów, zobacz Zasoby .

Powiązane: Zasoby , Płótno

Zasób układu
Plik XML opisujący układ ekranu działania.

Powiązane: Zasoby

Dziewięć łat / 9 łat / Dziewięć łat obraz
Zasób mapy bitowej o zmiennym rozmiarze, którego można użyć jako tła lub innych obrazów na urządzeniu. Aby uzyskać więcej informacji, zobacz Rozciągliwy obraz z dziewięcioma łatami .

Powiązane: Zasoby .

OpenGL ES
Android udostępnia biblioteki OpenGL ES do renderowania 3D z akceleracją sprzętową. W przypadku renderowania 2D prostszą opcją jest płótno . OpenGL ES jest dostępny w pakiecie Android Native Development Kit (NDK) dla ułatwienia użytkowania. Pakiety android.opengl i javax.microedition.khronos.opengles udostępniają funkcjonalność OpenGL ES.

Powiązane: Płótno , Powierzchnia

Powierzchnia
Obiekt typu Surface reprezentujący blok pamięci, który jest łączony z ekranem. Powierzchnia przechowuje obiekt Canvas do rysowania i zapewnia różne metody pomocnicze do rysowania warstw i zmiany rozmiaru powierzchni. Nie powinieneś używać tej klasy bezpośrednio; zamiast tego użyj SurfaceView .

Powiązane: Płótno

Widok powierzchni
Obiekt View, który zawija Surface do rysowania i udostępnia metody dynamicznego określania jego rozmiaru i formatu. SurfaceView zapewnia sposób rysowania niezależnie od wątku interfejsu użytkownika w przypadku operacji wymagających dużej ilości zasobów (takich jak gry lub podglądy z aparatu), ale w rezultacie zużywa dodatkową pamięć. SurfaceView obsługuje zarówno grafikę Canvas, jak i OpenGL ES. Klasą bazową jest SurfaceView .

Powiązane: Powierzchnia

Motyw
Zestaw właściwości (rozmiar tekstu, kolor tła itd.) połączonych razem w celu zdefiniowania różnych domyślnych ustawień wyświetlania. Android udostępnia kilka standardowych motywów wymienionych w R.style (zaczynając od „Theme_”).
Pogląd
Obiekt, który rysuje się w prostokątnym obszarze na ekranie i obsługuje kliknięcia, naciśnięcia klawiszy i inne zdarzenia interakcji. Widok jest klasą bazową dla większości składników układu ekranu działania lub okna dialogowego (pola tekstowe, okna itd.). Odbiera wywołania od swojego obiektu nadrzędnego (patrz ViewGroup ), aby się narysować i informuje swój obiekt nadrzędny o tym, gdzie i jak duży chciałby być (co może, ale nie musi być respektowane przez rodzica). Aby uzyskać więcej informacji, zobacz View .

Powiązane: Zobacz hierarchię , ViewGroup , Widget

Wyświetl hierarchię
Układ obiektów View i ViewGroup, który definiuje interfejs użytkownika dla każdego składnika aplikacji. Hierarchia składa się z grup widoków, które zawierają jeden lub więcej widoków podrzędnych lub grup widoków. Możesz uzyskać wizualną reprezentację hierarchii widoków na potrzeby debugowania i optymalizacji za pomocą przeglądarki hierarchii , która jest dostarczana z zestawem SDK systemu Android.

Powiązane: Zobacz , ViewGroup

Wyświetl grupę
Obiekt kontenera, który grupuje zestaw widoków podrzędnych. Grupa widoków jest odpowiedzialna za podejmowanie decyzji o umiejscowieniu widoków podrzędnych io ich wielkości, a także za wywołanie każdego z nich do samodzielnego rysowania w razie potrzeby. Niektóre grupy widoków są niewidoczne i służą tylko do tworzenia układu, podczas gdy inne mają wewnętrzny interfejs użytkownika (na przykład przewijane pole listy). Wszystkie grupy widoków znajdują się w pakiecie widget , ale rozszerzają ViewGroup .

Powiązane: Zobacz , Zobacz hierarchię

Widżet
Jedna z zestawu w pełni zaimplementowanych View podklas, które renderują elementy formularzy i inne składniki interfejsu użytkownika, takie jak pole tekstowe lub menu podręczne. Ponieważ widżet jest w pełni zaimplementowany, sam zajmuje się pomiarami i rysowaniem oraz reagowaniem na zdarzenia na ekranie. Wszystkie widżety znajdują się w pakiecie android.widget .
Okno
W aplikacji systemu Android: obiekt pochodzący z klasy abstrakcyjnej Window , który określa elementy okna ogólnego, takie jak wygląd i sposób działania (tekst paska tytułowego, położenie i zawartość menu itd.). Dialog i Activity używają implementacji tej klasy do renderowania okna. Nie musisz implementować tej klasy ani używać okien w swojej aplikacji.

Platforma

Android Runtime (ART) i Dalvik
Środowisko uruchomieniowe systemu Android (ART) to zarządzane środowisko uruchomieniowe używane przez aplikacje i niektóre usługi systemowe w systemie Android. Środowisko uruchomieniowe systemu Android (ART) to domyślne środowisko uruchomieniowe dla urządzeń z systemem Android 5.0 (poziom interfejsu API 21) lub nowszym. ART i jego poprzednik Dalvik zostały pierwotnie stworzone specjalnie dla Android Open Source Project. ART jako środowisko wykonawcze wykonuje format Dalvik Executable i specyfikację kodu bajtowego Dex. ART i Dalvik to kompatybilne środowiska uruchomieniowe z kodem bajtowym Dex, więc aplikacje opracowane dla Dalvik powinny działać, gdy działają z ART.
Linia kodowa
Linia kodowa zawiera wydanie oprogramowania. Składa się z jednej lub więcej gałęzi z jednego lub więcej repozytoriów, z których wszystkie są często jednocześnie aktywnie rozwijane. Linia kodowa jest punktem agregacji i celem wydania. Aby uzyskać więcej informacji na temat linii kodowych, zobacz Zarządzanie oprogramowaniem systemu Android .
plik .dex
Skompilowany plik kodu aplikacji na Androida.

Programy na Androida są kompilowane do plików .dex (Dalvik Executable), które z kolei są spakowane do pojedynczego pliku .apk na urządzeniu. Pliki .dex można tworzyć poprzez automatyczne tłumaczenie skompilowanych aplikacji napisanych w języku programowania Java.

Test

Artefakty
Artefakty to dzienniki związane z kompilacją umożliwiające lokalne rozwiązywanie problemów. Te dzienniki są dostępne bezpośrednio z Gerrit podczas przeglądania listy zmian. Przewiń w dół do Statusu wstępnego przesłania i kliknij czerwony link Build , aby wyświetlić lub pobrać powiązany plik build_error.log . Artefakty te można również pobrać z centralnego serwera ciągłej integracji systemu Android pod adresem ci.android.com/ , klikając ikonę Pobierz (strzałka w dół) dla elementu docelowego i kompilacji. Aby uzyskać więcej informacji na temat znajdowania artefaktów, zobacz temat Ciągła integracja systemu Android .
CDD
Dokument definicji zgodności z systemem Android (CDD) wymienia wymagania, które muszą być spełnione, aby Twoje urządzenia były zgodne z najnowszą wersją Androida. Aby zostać uznane za zgodne z systemem Android, implementacje urządzeń MUSZĄ spełniać wymagania przedstawione w niniejszej definicji zgodności, w tym we wszelkich dokumentach włączonych przez odniesienie. Aby uzyskać więcej informacji na temat CDD, zobacz Dokument definicji zgodności z systemem Android .
CTS
Compatibility Test Suite (CTS) to zestaw testów zapewniający poprawność API i specyfikację określoną w CDD. Jest dostępny jako źródło w AOSP i do pobrania jako plik binarny. Aby uzyskać więcej informacji, zobacz Pakiet testów zgodności .
Weryfikator CTS
Compatibility Test Suite Verifier (CTS Verifier) ​​jest uzupełnieniem CTS. CTS Verifier zapewnia testy API i funkcji, których nie można przetestować na urządzeniu stacjonarnym bez ręcznego wprowadzania danych (np. jakość dźwięku, akcelerometr itp.). Aby uzyskać więcej informacji, zobacz Używanie weryfikatora CTS .
Debugowanie
Debugowanie wymaga znalezienia i naprawienia błędów w kodzie platformy Android, zarówno w funkcjach, jak i ich testach. Aby uzyskać więcej informacji, zobacz debugowanie natywnego kodu platformy systemu Android
GoogleTest (GTest)
GTest to platforma Google do testowania i kpiny z języka C++. Pliki binarne GTest zazwyczaj uzyskują dostęp do warstw abstrakcji niższego poziomu lub wykonują surowe IPC przeciwko różnym usługom systemowym. Z tego powodu podejście do testowania Gtest jest zwykle ściśle powiązane z testowaną usługą. Znajdź kod na github.com/google/googletest i dokumentację na google.github.io/googletest .
Test oprzyrządowania
Test oprzyrządowania zapewnia specjalne środowisko wykonywania testów uruchamiane poleceniem am instrument , w którym docelowy proces aplikacji jest ponownie uruchamiany i inicjowany z podstawowym kontekstem aplikacji, a wątek oprzyrządowania jest uruchamiany wewnątrz maszyny wirtualnej procesu aplikacji. Aby uzyskać więcej informacji, zobacz Testy oprzyrządowania .
Logcat
Logcat to narzędzie wiersza poleceń, które zrzuca dziennik komunikatów systemowych, w tym ślady stosu, gdy urządzenie zgłasza błąd i komunikaty, które napisałeś z aplikacji za pomocą klasy Log . Aby uzyskać więcej informacji, zobacz Narzędzie wiersza polecenia Logcat .
Logowanie
Logowanie w Androidzie jest skomplikowane ze względu na mieszankę używanych standardów, które są połączone w logcat . Aby uzyskać szczegółowe informacje na temat głównych używanych standardów, zobacz Zrozumienie rejestrowania .
Konflikt scalania
Konflikt scalania występuje, gdy co najmniej dwie wersje tego samego pliku nie mogą być automatycznie scalane przez serwer kompilacji systemu Android. Zwykle wymagają one ręcznej edycji pliku w celu rozwiązania wszystkich konfliktów aktualizacji.
Testy przed i po przesłaniu
Testy przed wysłaniem służą do zapobiegania wprowadzaniu błędów do wspólnych jąder. Wyniki nie są obecnie publicznie dostępne.

Testy post-submit systemu Android są przeprowadzane, gdy nowa łatka jest wprowadzana do wspólnej gałęzi jądra. Wpisując aosp_kernel jako częściową nazwę gałęzi, możesz zobaczyć listę gałęzi jądra z dostępnymi wynikami. Na przykład wyniki dla „android-mainline” można znaleźć tutaj .
Handlowane
Zestaw testowy Trade Federation (w skrócie Tradefed lub TF) to ciągła platforma testowa przeznaczona do przeprowadzania testów na urządzeniach z Androidem. Na przykład Tradefed służy do uruchamiania CTS i VTS. Aby uzyskać więcej informacji, zobacz Omówienie federacji handlowej .
VTS
Android Vendor Test Suite (VTS) zapewnia rozbudowaną funkcjonalność do testowania Androida, promuje proces programowania oparty na testach i automatyzuje testowanie HAL i jądra systemu operacyjnego. Aby uzyskać więcej informacji, zobacz Vendor Test Suite (VTS) i Infrastruktura .