Najlepszy samouczek Zasoby Android (Zasoby) zarządzanie W 2024 r. W tym samouczku możesz dowiedzieć się Środki organizacyjne w Eclipse,Zasoby alternatywne,Dostęp do zasobów,
Istnieje wiele rzeczy używanych zbudować doskonałą aplikację na Androida. Oprócz kodowania aplikacji, trzeba skupić się na różnych zasobów, takich jak wykorzystać różne treści statycznych, takich jak bitmapy, kolorów definicji układ, ciągów interfejsu użytkownika, animacji i tak dalej. Zasoby te są zwykle umieszczone w podkatalogu RES / autonomicznego projektu.
Ta część poradnika nauczą się organizować swoje zasoby aplikacji, należy określić alternatywne środki, a dostęp do nich w aplikacji.
Będziesz musiał być umieszczony w każdym zasobie pod konkretnego podkatalogu swojego res projektu / katalogu. Na przykład, jest to prosty projekt na poziomie plików:
MyProject/ src/ MyActivity.java res/ drawable/ icon.png layout/ activity_main.xml info.xml values/ strings.xml
res / katalog zawiera wszystkie zasoby w różnych podkatalogów. Oto źródło obraz, dwa zasoby układ i zawartość pliku zasobów ciąg. Poniższa tabela przedstawia szczegółowy w res projektu / zasobów pomocy katalogów.
katalog | Typ zasobu |
---|---|
anim / | plik XML, który definiuje właściwości animacji. Są one zapisywane w RES / anim / folderu, według rodzaju dostępu R.anim |
kolor / | plik XML, który określa listę stanu koloru. Są one zapisywane w res / kolor / folderu, według rodzaju dostępu R.color |
drawable / | Pliki graficzne, takie jak .png, .jpg, .gif lub pliku XML, jest kompilowany jako bitmapy, listy państwowej, kształty, animowanych obrazów. Są one zapisywane w RES / drawable / folderu, według rodzaju dostępu R.drawable |
układ / | Niestandardowy układ UI plik XML. Są one zapisywane w res / layout / folderu, według rodzaju dostępu R.layout |
menu / | Menu aplikacji pliki XML niestandardowe, takie jak menu Opcje, menu kontekstowego podmenu. Są one zapisywane w res / menu / folderu, według rodzaju dostępu R.menu |
raw / | Wszystkie pliki są zapisywane w ich oryginalnej formie. Musimy R.raw.filename nazwie identyfikator zasobów, aby otworzyć plik raw wywołując Resource.openRawResource () |
wartości / | Pliki XML zawierają prostych wartości (takie jak ciągi liczb, kolorów, itp.) Oto niektóre środki w ramach konwencji nazewnictwa folderów. arrays.xml w imieniu szeregu środków, poprzez typu R.array dostępu; integers.xml oznacza liczbę zasobów dostępna poprzez R.integer klasy; zasobów bools.xml w imieniu wartości logicznych, rodzaj dostępu R.bool, zasoby colors.xml w imieniu kolorze dostępne za pośrednictwem klasy R.color; dimens.xml przedstawiciele wymiaru wartości poprzez typu R.dimen dostępu; strings.xml reprezentuje zasób ciąg, poprzez typu R.string dostępu; przedstawicieli styles.xml styl zasobów według rodzaju dostępu R.style |
xml / | Dzwoniąc Resources.getXML () do odczytu dowolnych plików XML w czasie wykonywania. Różne pliki konfiguracyjne można zapisać czas pracy tutaj |
Aplikacja musi zapewnić środki na wsparcie alternatywną konfigurację dla konkretnego urządzenia. Na przykład, trzeba zapewnić alternatywny obraz zasobów dla różnych rozdzielczości ekranu, zapewniając alternatywne środki ciągów dla różnych języków. W czasie wykonywania Android wykrywa bieżącą konfigurację urządzenia i załadować odpowiednie zasoby dla aplikacji.
Aby zidentyfikować zestaw alternatywnych środków dla konkretnej konfiguracji, następujących etapów:
Oto przykład, aby określić domyślny obraz ekranu i wysokiej rozdzielczości zastąpienia obrazu.
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png layout/ activity_main.xml info.xml values/ strings.xml
Oto kolejny przykład, aby określić język domyślny układ i alternatywne układy język arabski.
MyProject/ src/ main/ java/ MyActivity.java res/ drawable/ icon.png background.png drawable-hdpi/ icon.png background.png layout/ activity_main.xml info.xml layout-ar/ main.xml values/ strings.xml
W rozwoju aplikacji, potrzebujemy dostępu do określonych zasobów, albo za pomocą kodu lub za pośrednictwem plików XML. Poniższe sekcje opisują, jak uzyskać dostęp do tych zasobów oddzielnie w dwóch scenariuszach.
Gdy aplikacja Android jest kompilowany do generowania klasy R, który zawiera identyfikator i wszystkie RES / zasobów katalogowych. Można użyć klasy R, + od nazwy zasobu podklasa lub bezpośrednio wykorzystywać identyfikator zasobów w celu uzyskania dostępu do zasobów.
res ACCESS / drawable / myimage.png i ustaw go na ImageView, należy użyć następującego kodu:
ImageView imageView = (ImageView) findViewById(R.id.myimageview); imageView.setImageResource(R.drawable.myimage);
Pierwsza linia kodu tutaj, aby uzyskać R.id.myimageview zdefiniowany myimageview z ImageView w pliku układu. Druga linia z R.drawable.myimage aby uzyskać obraz w RES / drawable w podkatalogu o nazwie myimage.
Rozważmy przykład, w którym RES / / wartości strings.xml zdefiniowany w następujący sposób:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello, World!</string> </resources>
Teraz możesz użyć identyfikator obiektu z MSG TextView identyfikator zasobu, aby ustawić tekst w następujący sposób:
TextView msgTextView = (TextView) findViewById(R.id.msg); msgTextView.setText(R.string.hello);
Rozważmy następującą definicję res Układ / Układ / activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
Kod aplikacji załaduje układ aktywności, onCreate () metoda w następujący sposób:
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <string name="hello">Hello!</string> </resources>
Rozważmy następujący plik XML zasobów RES / wartości / strings.xml, który zawiera zasób barw oraz zasobu ciąg -
<?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/opaque_red" android:text="@string/hello" />
Teraz można korzystać z tych zasobów w poniższym pliku układu, aby ustawić kolor tekstu i zawartości tekstowej:
<code><?xml version="1.0" encoding="utf-8"?> <EditText xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:textColor="@color/opaque_red" android:text="@string/hello" /> </code>
Teraz, jeśli powrót do poprzedniej sekcji, aby wyjaśnić "Hello World!" Przykład, mogę potwierdzić, że w tej części wszyscy mamy lepsze zrozumienie tego pojęcia. Dlatego zalecamy, aby wrócić do spojrzeć na poprzednich przykładach, a ja używać innego widoku wykorzystania zasobów podstawowego.