Zasoby aplikacji, takie jak mapy bitowe i układy, są uporządkowane według typu
w katalogu res/
każdego modułu. Możesz też dodać inne adresy URL,
dostosowane do różnych urządzeń.
i konfigurację, np. wersję bitmapy o wysokiej rozdzielczości,
ekrany.
Android Studio pomaga dodawać nowe zasoby i alternatywne zasoby w kilku w zależności od typu zasobu, który chcesz dodać. Na tej stronie dowiesz się, , jak dodać podstawowe pliki zasobów, zmienić lokalizację zasobów oraz jak działa scalanie zasobów.
Na kolejnych stronach znajdziesz szczegółowe informacje o tym, jak utworzyć określonych typów zasobów:
- Aby dowiedzieć się, jak dodać pliki układu, przeczytaj artykuł Tworzenie interfejsu użytkownika za pomocą Edytora układów.
- Informacje o dodawaniu plików z ciągami znaków znajdziesz w artykule Zlokalizowanie interfejsu użytkownika za pomocą Edytora tłumaczeń.
- Informacje o dodawaniu map bitowych znajdziesz w artykule o tworzeniu ikon aplikacji w Image Asset Studio.
- Jeśli chcesz dodać pliki SVG, przeczytaj artykuł Dodawanie grafiki wektorowej o wielu gęstościach.
Dowiedz się, jak odwoływać się do zasobów z aplikacji patrz kod Omówienie zasobów dotyczących aplikacji.
Dodaj plik zasobów XML
Chociaż linki do poprzednich stron opisują przepływy pracy, które są dostosowane do poszczególnych typu zasobu, możesz dodać dowolny plik zasobów XML, wykonując poniższe kroki:
Kliknij docelowy moduł aplikacji w oknie Projekt w widok Android lub Projekt.
- Wybierz Plik > Nowe > plik zasobów Androida.
- Podaj szczegóły w oknie dialogowym:
- Nazwa pliku: wpisz nazwę pliku XML (nie jest to wymagane,
.xml
). - Typ zasobu: wybierz typ zasobu, który chcesz utworzyć.
- Element główny: w razie potrzeby wybierz główny element XML dla atrybutu . Niektóre typy zasobów obsługują tylko jeden typ elementu głównego. W zależności w wybranym typie zasobu, jego edytowanie może być niemożliwe.
- Zbiór źródeł: wybierz zbiór źródłowy, w którym chcesz zapisać plik.
- Nazwa katalogu: katalog musi mieć konkretną nazwę. do kwalifikatorów typu i konfiguracji. Nie edytuj, chyba że chcesz dodać kwalifikatory konfiguracji do ręcznie (użyj listy Dostępne kwalifikatory).
- Dostępne kwalifikatory: nie musisz ręcznie dodawać kwalifikatorów konfiguracji. w nazwie katalogu, możesz je dodać, wybierając kwalifikator z polecenia i kliknij Dodaj .
- Nazwa pliku: wpisz nazwę pliku XML (nie jest to wymagane,
- Po dodaniu wszystkich kwalifikatorów kliknij OK.
Wskazówka: aby otworzyć uproszczoną wersję okna Nowy plik zasobów, zgodnie z typem zasobu, który chcesz dodać, kliknij prawym przyciskiem myszy katalogu zasobów w folderze res i wybierz Nowe > type-name plik zasobów.
Wbudowane złożone zasoby XML
Niektóre złożone zasoby wymagają wielu plików XML zasobów. Na przykład animowany obiekt rysowalny wektorowy zawiera obiekt rysowalny wektorowo oraz obiekt animowany i wymaga co najmniej trzech plików XML.
W tym przykładzie możesz utworzyć i zachować te 3 osobne pliki XML, jeśli chcesz wykorzystać ponownie co najmniej jeden . Jeśli jednak pliki XML są używane tylko w przypadku tego animowanego wektora rysunkowego, możesz zamiast tego użyć formatu zasobów wbudowanych, dostarczanych w narzędziu Android Asset Narzędzie do tworzenia opakowań (AAPT). Dzięki AAPT możesz zdefiniować wszystkie 3 zasoby w jednym pliku XML . Więcej informacji znajdziesz w artykule o wbudowanym złożonym kodzie XML. .
Dodaj katalog zasobów
Aby dodać nowy katalog zasobów, wykonaj te czynności:
W oknie Projekt kliknij docelowy moduł aplikacji.
- Wybierz Plik > Nowe > Katalog zasobów Androida.
- Podaj szczegóły w oknie dialogowym:
- Nazwa katalogu: katalog musi mieć konkretną nazwę. do typu zasobu i kombinacji kwalifikatorów konfiguracji. Przeciwwskazania go edytuj, chyba że chcesz dodać kwalifikatory konfiguracji do pola ręcznie (użyj listy Dostępne kwalifikatory).
- Typ zasobu:wybierz typ zasobu, który ma zawierać katalog.
- Zbiór źródeł: wybierz zbiór źródłowy, w którym chcesz umieścić katalog.
- Dostępne kwalifikatory: nie musisz ręcznie dodawać kwalifikatorów konfiguracji. w nazwie katalogu, możesz je dodać, wybierając kwalifikator z polecenia i kliknij Dodaj .
- Po dodaniu wszystkich kwalifikatorów kliknij OK.
Zmień katalog zasobów
Domyślnie Twoje zasoby znajdują się w
module-name/src/source-set-name/res/
Na przykład zasoby głównego zbioru źródłowego modułu znajdują się w języku: src/main/res/
,
a zasoby zbioru źródłowego do debugowania znajdują się w folderze src/debug/res/
.
Możesz jednak zmienić te ścieżki na inne
lokalizacja (w stosunku do pliku build.gradle
) za pomocą właściwości res.srcDirs
.
w bloku sourceSets
. Na przykład:
Odlotowe
android { sourceSets { main { res.srcDirs = ['resources/main'] } debug { res.srcDirs = ['resources/debug'] } } }
Kotlin
android { sourceSets { getByName("main") { res.srcDirs("resources/main") } getByName("debug") { res.srcDirs("resources/debug") } } }
Możesz też określić wiele katalogów zasobów dla jednego zbioru źródłowego, narzędzia do kompilacji, które je ze sobą łączą. Na przykład:
Odlotowe
android { sourceSets { main { res.srcDirs = ['res1', 'res2'] } } }
Kotlin
android { sourceSets { main { res.srcDirs("res1", "res2") } } }
Więcej informacji: zbiory źródłowe.
Scalanie zasobów
Zasoby w ostatecznym pliku aplikacji mogą pochodzić z 3 źródeł:
- Główny zbiór źródeł (zwykle znajduje się w regionie
src/main/res/
) - Zbiory źródłowe kompilacji wariantów
- Biblioteki Androida (AAR)
Gdy wszystkie zasoby z każdego zbioru źródłowego lub biblioteki są unikalne, dodane do ostatecznej wersji aplikacji. Zasób jest uważany za unikalny, jeśli jego nazwa to unikalny w ramach zarówno katalog typu zasobu oraz kwalifikator zasobów (jeśli został określony).
Jeśli istnieją co najmniej 2 pasujące wersje tego samego zasobu, wtedy tylko jedna wersja umieszcza się w ostatecznej wersji aplikacji. Wybór narzędzi do kompilacji wersję do zachowania na podstawie tej kolejności (najwyższy priorytet) po lewej):
wariant kompilacji > typ kompilacji > smak produktu > główny zbiór źródeł > zależności bibliotek.
Jeśli na przykład główny zestaw źródłowy zawiera:
res/layout/example.xml
res/layout-land/example.xml
Typ kompilacji do debugowania zawiera:
res/layout/example.xml
Następnie ostatnia aplikacja zawiera res/layout/example.xml
z typu kompilacji do debugowania oraz
res/layout-land/example.xml
z głównego zbioru źródłowego.
Jeśli jednak Twoja konfiguracja kompilacji określa wielu folderów zasobów dla danego zbioru źródeł i występują konflikty między tymi źródłami, komunikat o błędzie i scalanie kończy się niepowodzeniem, ponieważ każdy katalog zasobów ma taki sam .