Android: Cykl Życia Activity i Uprawnienia
29 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Opisz cykl życia Activity w Androidzie.

Cykl życia Activity w Androidzie obejmuje szereg metod, które są wywoływane w określonych momentach, np. podczas tworzenia, uruchamiania, wstrzymywania, ponownego uruchamiania, zatrzymywania i niszczenia Activity. Najważniejsze metody to:

  • onCreate(): Wywoływana tylko raz, podczas tworzenia Activity, służy do inicjalizacji komponentów.
  • onStart(): Wywoływana podczas uruchamiania Activity, czyni Activity widocznym dla użytkownika.
  • onResume(): Wywoływana, gdy Activity jest w stanie gotowości do interakcji z użytkownikiem.
  • onPause(): Wywoływana, gdy Activity traci ostrość, np. podczas rozmowy telefonicznej.
  • onStop(): Wywoływana, gdy Activity jest niewidoczne dla użytkownika.
  • onRestart(): Wywoływana, gdy Activity jest ponownie uruchamiane.
  • onDestroy(): Wywoływana podczas niszczenia Activity.

Czym są i do czego służą kwalifikatory zasobów w Androidzie?

Kwalifikatory zasobów w Androidzie to atrybuty, które określają specyficzne wersje zasobów, np. obrazków, napisów, układów (layouts) dla różnych konfiguracji urządzenia, takich jak: język, rozdzielczość ekranu, orientacja, rozmiar ekranu, wersja API itp. Dzięki temu można dostarczyć użytkownikowi odpowiednie zasoby dla jego urządzenia, co zapewnia optymalne działanie aplikacji.

W jaki sposób aplikacja w Androidzie uzyskuje uprawnienia do komponentów systemu?

W Androidzie aplikacja musi uzyskać uprawnienia od użytkownika, aby korzystać z komponentów systemu, takich jak aparat, kontakty, lokalizacja itp. Uprawnienia są nadawane w momencie instalacji aplikacji lub podczas jej działania. Użytkownik może zaakceptować lub odrzucić żądanie uprawnień. Od Androida 6.0 (Marshmallow) możliwe jest również przyznawanie uprawnień w trakcie działania aplikacji. Aplikacje mogą prosić o uprawnienia za pośrednictwem manifestu aplikacji (AndroidManifest.xml) lub poprzez API.

Co się dzieje z Activity w Androidzie, gdy telefon zostanie obrócony? Jak zapobiec utracie danych w trakcie tego procesu?

<p>Kiedy telefon zostanie obrócony, Activity w Androidzie zostanie zniszczona i ponownie utworzona. To oznacza, że wszystkie dane, które były przechowywane w pamięci Activity, zostaną utracone. Aby zapobiec utracie danych, należy zastosować mechanizm zapisywania stanu Activity w metodzie <code>onSaveInstanceState()</code> i odtworzenia stanu w metodzie <code>onRestoreInstanceState()</code>. Dzięki temu, po ponownym utworzeniu Activity, dane zostaną przywrócone.</p> Signup and view all the answers

Co oznacza, gdy metoda getDefaultSensor() zwraca null w Androidzie? W jaki sposób wybrać czujnik danego typu, gdy jest ich w systemie więcej niż 1?

<p>Jeżeli metoda <code>getDefaultSensor()</code> w Androidzie zwróci <code>null</code>, oznacza to, że w systemie nie ma dostępnego sensora danego typu. Aby wybrać czujnik danego typu, gdy jest ich w systemie więcej niż 1, należy wykorzystać metodę <code>getSensorList(int sensorType)</code>. Metoda ta zwraca listę dostępnych sensorów danego typu. Następnie można wybrać konkretny sensor z listy, np. na podstawie jego dokładności lub innych parametrów.</p> Signup and view all the answers

Co to jest i do czego służy klasa Intent w Androidzie?

<p>Klasa <code>Intent</code> w Androidzie jest podstawowym mechanizmem komunikacji pomiędzy różnymi komponentami aplikacji, a także pomiędzy aplikacjami. Służy do uruchamiania innych Activity, usług, nadawania broadcastów itp. Intent definiuje akcję, którą chcesz wykonać, a także informacje, które są niezbędne do jej wykonania. Na przykład, Intent do uruchomienia innej Activity może zawierać informacje o tym, jaki typ danych ma być wyświetlony w tej Activity. Intenty mogą być wyraźne (explicit), tzn. określają konkretną Activity, która ma być uruchomiona, lub niejawne (implicit), tzn. określają akcję, której ma zostać dokonana, a system sam decyduje, która Activity ma być uruchomiona.</p> Signup and view all the answers

Czym są i do czego służą filtry intencji (intent-filter) w Androidzie?

<p>Filtry intencji (intent-filter) w Androidzie to mechanizm, który umożliwia aplikacjom reagowanie na Intenty, które są wysyłane przez system lub inne aplikacje. Filtry intencji są definiowane w manifeście aplikacji (AndroidManifest.xml) i określają, na jakie Intenty aplikacja ma odpowiadać. Na przykład, aplikacja może zdefiniować filtr intencji dla Intenta <code>ACTION_VIEW</code>, który ma na celu otwarcie określonego typu pliku. Jeśli użytkownik kliknie na plik tego typu, system automatycznie wybierze aplikację, która ma filtr intencji dla tego Intenta i uruchomi ją.</p> Signup and view all the answers

Czym różnią się metody FINE i COARSE w Androidzie, gdy określają lokalizację urządzenia mobilnego?

<p>Metody <code>FINE</code> i <code>COARSE</code> w Androidzie są używane do określania lokalizacji urządzenia mobilnego. Metodą <code>FINE</code> można uzyskać dokładną lokalizację, np. z wykorzystaniem GPS, Wi-Fi i danych z sieci komórkowej. Metodą <code>COARSE</code> można uzyskać mniej dokładną lokalizację, z wykorzystaniem danych z komórkowej sieci i Wi-Fi. Metoda <code>FINE</code> wymaga od użytkownika zgody na korzystanie z dokładnych danych lokalizacji, natomiast metoda <code>COARSE</code> nie wymaga dodatkowej zgody.</p> Signup and view all the answers

Jakie dwie składowe mierzy akcelerometr? W jaki sposób można rozłożyć pomiary akcelerometru na dwie składowe?

<p>Akcelerometr mierzy przyspieszenie w trzech osiach: X, Y i Z. Aby rozłożyć pomiary na dwie składowe, można skorzystać z następujących wzorów:</p> <ul> <li>Przyspieszenie w osi X: <code>x = sqrt(a^2 + b^2)</code>, gdzie <code>a</code> to pomiar w osi X, a <code>b</code> to pomiar w osi Y.</li> <li>Przyspieszenie w osi Y: <code>y = sqrt(c^2 + d^2)</code>, gdzie <code>c</code> to pomiar w osi Z, a <code>d</code> to pomiar w osi Y.</li> </ul> <p>Wartości <code>x</code> i <code>y</code> reprezentują przyspieszenie w osi poziomej i pionowej.</p> Signup and view all the answers

Jakiego komponentu w Androidzie można użyć do tworzenia rysunków lub animacji? Jaki warunek musi być spełniony, aby metoda onDraw() przerysowywała zawartość po wywołaniu metody invalidate()?

<p>W Androidzie do tworzenia rysunków lub animacji można użyć komponentu <code>View</code>. Aby metoda <code>onDraw()</code> przerysowywała zawartość po wywołaniu metody <code>invalidate()</code>, należy zapewnić, że <code>View</code> jest ponownie narysowany. Można to zrobić, wywołując metodę <code>invalidate()</code> na obiekcie <code>View</code>, co spowoduje ponowne wywołanie metody <code>onDraw()</code> dla tego <code>View</code>.</p> Signup and view all the answers

Co to jest LOGCAT i w jaki sposób można go wykorzystać do debugowania aplikacji w Androidzie?

<p>LOGCAT to narzędzie w Androidzie, które służy do wyświetlania komunikatów dziennika z aplikacji i systemu. Komunikaty te mogą być pomocne w diagnozowaniu problemów z aplikacjami, np. w przypadku błędów, ostrzeżeń lub innych zdarzeń. Do debugowania aplikacji można wykorzystać LOGCAT do wyświetlania komunikatów dziennika, w tym:</p> <ul> <li>Informacje: Komunikaty informacyjne, które pokazują normalne działanie aplikacji lub systemu.</li> <li>Ostrzeżenia: Komunikaty ostrzegawcze o potencjalnych problemach.</li> <li>Błędy: Komunikaty o błędach, które mogą powodować problemy z działaniem aplikacji.</li> <li>Fatalne błędy: Komunikaty o błędach, które powodują awarię aplikacji.</li> </ul> <p>LOGCAT można uruchomić z poziomu Android Studio lub z wiersza poleceń.</p> Signup and view all the answers

Jakie jednostki długości używa się w tworzeniu interfejsu użytkownika w Androidzie?

<p>W tworzeniu interfejsu użytkownika w Androidzie używa się jednostek dp (density-independent pixels) i sp (scale-independent pixels). Dp jest niezależny od gęstości pikseli ekranu, co oznacza, że rozmiar elementu będzie wyglądać tak samo na urządzeniach z różnymi gęstościami pikseli. Sp jest niezależny od rozmiaru tekstu, co oznacza, że rozmiar elementu będzie dopasowany do rozmiaru tekstu.</p> Signup and view all the answers

W jaki sposób należy oprogramować obiekt klasy MediaPlayer do odtwarzania pliku audio w Androidzie?

<p>Aby odtwarzać plik audio w Androidzie, należy:</p> <ol> <li>Utworzyć obiekt klasy <code>MediaPlayer</code>.</li> <li>Wywołać metodę <code>setDataSource()</code> na obiekcie <code>MediaPlayer</code>, aby wskazać ścieżkę do pliku audio.</li> <li>Wywołać metodę <code>prepare()</code> na obiekcie <code>MediaPlayer</code>, aby przygotować odtwarzanie.</li> <li>Wywołać metodę <code>start()</code> na obiekcie <code>MediaPlayer</code>, aby rozpocząć odtwarzanie.</li> <li>Po zakończeniu odtwarzania można wywołać metodę <code>release()</code> na obiekcie <code>MediaPlayer</code>, aby zwolnić zasoby.</li> </ol> <p>Możliwe jest również zastosowanie opcji dodatkowych, takich jak <code>setLooping()</code> (ustawienie odtwarzania w pętli) lub <code>setVolume()</code> (ustawienie głośności).</p> Signup and view all the answers

Opisz metodę korzystania z usług systemowych w Androidzie (np. Bluetooth, Battery).

<p>Korzystanie z usług systemowych w Androidzie odbywa się poprzez dostęp do klas i metod API, które są dostarczane przez system operacyjny. Aby korzystać z usług systemowych, należy najpierw uzyskać uprawnienia od użytkownika. Po uzyskaniu uprawnień można tworzyć obiekty klas, które odpowiadają za dostęp do danej usługi i wywoływać ich metody, aby uzyskać lub zmodyfikować informacje.</p> <p>Przykładowo, aby uzyskać informacje o poziomie naładowania baterii, należy utworzyć obiekt klasy <code>BatteryManager</code> i wywołać metodę <code>getInt()</code>, aby uzyskać dane dotyczące poziomu naładowania baterii. Podobnie, aby korzystać z Bluetooth, należy utworzyć obiekt klasy <code>BluetoothAdapter</code> i wywołać jego metody, aby sprawdzić dostępność Bluetooth, znaleźć urządzenia Bluetooth, połączyć się z urządzeniami Bluetooth itp.</p> <p>W celu rozpoznania i wykorzystania usługi systemowej, warto sprawdzić dokumentację API Androida.</p> Signup and view all the answers

Co to jest Core Data w systemie iOS?

<p>Core Data to framework w systemie iOS, który pomaga w zarządzaniu danymi w aplikacji. Ułatwia tworzenie, pobieranie, aktualizowanie i usuwanie danych w sposób zorganizowany i łatwy do zarządzania. Core Data działa jako pośrednik między interfejsem użytkownika aplikacji a bazą danych.</p> Signup and view all the answers

Opisz mechanizm zarządzający cyklem życia obiektów w systemie iOS.

<p>W systemie iOS cyklem życia obiektów zarządza mechanizm zwany ARC (Automatic Reference Counting). ARC automatycznie śledzi liczbę referencji do obiektu i gdy liczba ta spadnie do zera, obiekt jest niszczony. Pamięć jest przydzielana obiektom podczas ich tworzenia, a zwalniana automatycznie, gdy obiekt jest już niepotrzebny, w ten sposób unikając niedostępnej pamięci.</p> Signup and view all the answers

Jak wygląda definicja interfejsu klasy oraz jego implementacja w Swift?

<p>Definicja interfejsu klasy w Swift zaczyna się od słowa kluczowego <code>protocol</code> i zawiera listę metod i/lub właściwości, które klasa implementująca powinna posiadać. Implementacja interfejsu odbywa się przez dodanie słowa kluczowego <code>extension</code> do klasy, zdefiniowanie interfejsu użytego i implementację wszystkich wymaganych metod i/lub właściwości.</p> Signup and view all the answers

Co zarządza przejściami pomiędzy widokami w systemie iOS?

<p>W systemie iOS przejściami pomiędzy widokami zarządza <code>UINavigationController</code>. Dzięki <code>UINavigationController</code> można tworzyć nawigację między widokami w aplikacji, organizować je w hierarchię, a także sterować animacjami przejścia.</p> Signup and view all the answers

Zaprezentuj cykl życia ViewControllera w systemie iOS.

<p>Cykl życia ViewControllera w systemie iOS jest następujący:</p> <ol> <li> <strong>init()</strong>: Tworzenie obiektu ViewControllera.</li> <li> <strong>initWithNibName:bundle:</strong> Inicjalizacja ViewControllera.</li> <li> <strong>loadView()</strong>: Załadowanie widoku.</li> <li> <strong>viewDidLoad()</strong>: Wywoływana zaraz po załadowaniu widoku, służy do konfiguracji widoków i innych ustawień.</li> <li> <strong>viewWillAppear()</strong>: Wywoływana, gdy widok ma się stać widoczny.</li> <li> <strong>viewDidAppear()</strong>: Wywoływana, gdy widok jest już widoczny.</li> <li> <strong>viewWillDisappear()</strong>: Wywoływana, gdy widok ma zniknąć.</li> <li> <strong>viewDidDisappear()</strong>: Wywoływana, gdy widok już zniknął.</li> <li> <strong>didReceiveMemoryWarning()</strong>: Wywoływana, gdy system ma mało pamięci.</li> <li> <strong>dealloc()</strong>: Destruktor obiektu ViewControllera.</li> </ol> Signup and view all the answers

Opisz różnice pomiędzy Garbage Collector'em a ARC w systemie iOS.

<p>Garbage Collector (GC) to mechanizm automatycznej pamięci, który okresowo skanuje pamięć i usuwa nieużywane obiekty. ARC (Automatic Reference Counting) jest bardziej efektywnym i zoptymalizowanym podejściem do zarządzania pamięcią. Zamiast okresowego skanowania pamięci, ARC stale śledzi, ile referencji wskazuje na dany obiekt. Gdy liczba referencji spadnie do zera, obiekt jest automatycznie usuwany z pamięci. W systemie iOS nie używa się Garbage Collector'a.</p> <p>ARC jest szybszy i bardziej wydajny niż GC, a także nie wymaga dodatkowego procesu skanowania pamięci, co przyczynia się do lepszej wydajności aplikacji.</p> Signup and view all the answers

Opisz różnicę pomiędzy "weak" i "strong" w systemie iOS.

<p>W systemie iOS <code>strong</code> i <code>weak</code> są to słowa kluczowe określające typ referencji do obiektu.</p> <ul> <li> <code>strong</code>: Silna referencja utrzymuje obiekt w pamięci, dopóki istnieje inna silna referencja do niego.</li> <li> <code>weak</code>: Słaba referencja nie utrzymuje obiektu w pamięci. Gdy nie ma innych silnych referencji, obiekt jest usuwany z pamięci, a słaba referencja staje się <code>nil</code>.</li> </ul> <p><code>weak</code> stosowana jest w sytuacjach, gdy chcesz zachować referencję do obiektu, ale nie chcesz utrzymać go w pamięci. Jest to przydatne w przypadku cyklicznych referencji, które mogą prowadzić do wycieku pamięci. <code>strong</code> stosowana jest w pozostałych przypadkach, gdy chcesz utrzymać obiekt w pamięci.</p> Signup and view all the answers

Na przykładzie Objective C, wyjaśnij różnicę pomiędzy obiektami mutowalnymi a niemutowalnymi.

<p>W Objective C obiekty mogą być <code>mutable</code> (zmienne) lub <code>immutable</code> (niezmienne).</p> <p>Przykład:</p> <ul> <li> <p><strong><code>NSMutableArray</code></strong> (zmienny):<br /> <code>NSMutableArray *mutableArray = [NSMutableArray arrayWithObjects:@&quot;pierwszy&quot;, @&quot;drugi&quot;, nil]; [mutableArray addObject:@&quot;trzeci&quot;]; // Możliwe dodanie elementu</code></p> </li> <li> <p><strong><code>NSArray</code></strong> (niezmienny): <code>NSArray *immutableArray = [NSArray arrayWithObjects:@&quot;pierwszy&quot;, @&quot;drugi&quot;, nil]; [immutableArray addObject:@&quot;trzeci&quot;]; // Błąd kompilacji, ponieważ próbujemy zmodyfikować tablicę</code></p> </li> </ul> <p>Celem obiektów <code>immutable</code> jest zapewnienie bezpieczeństwa, że ​​ich zawartość nie zostanie przypadkowo zmieniona. Obiekty <code>mutable</code> zapewniają elastyczność i możliwość modyfikowania ich zawartości.</p> Signup and view all the answers

Czym jest i do czego służą IBOutlet i IBAction w systemie iOS?

<p><code>IBOutlet</code> i <code>IBAction</code> to deklaracje w Objective C, które łączą elementy interfejsu użytkownika (UI) z kodem aplikacji.</p> <ul> <li> <code>IBOutlet</code>: Umożliwia połączenie elementu UI (np. przycisk, etykieta) z zmienną w kodzie, umożliwiając dostęp do tego elementu z poziomu kodu.</li> <li> <code>IBAction</code>: Umożliwia połączenie zdarzenia (np. dotknięcie przycisku) z metodą w kodzie, wywołując tę metodę, gdy wystąpi odpowiednie zdarzenie.</li> </ul> <p><code>IBOutlet</code> i <code>IBAction</code> są wykorzystywane do tworzenia interaktywnego interfejsu użytkownika w aplikacji.</p> Signup and view all the answers

W jaki sposób implementuje się dostęp do kontekstu CoreData z wielu wątków w systemie iOS?

<p>Dostęp do <code>CoreData</code> z wielu wątków w systemie iOS wymaga ostrożności, aby uniknąć konfliktów danych. Należy użyć <code>NSManagedObjectContext</code> dla każdego wątku, który chce uzyskać dostęp do danych. Zaleca się użycie <code>NSManagedObjectContext</code> z <code>NSPrivateQueueConcurrencyType</code> dla operacji na danych, a <code>NSManagedObjectContext</code> z <code>NSMainQueueConcurrencyType</code> dla głównego wątku, który aktualizuje interfejs użytkownika. Dodatkowo można użyć <code>NSPersistentStoreCoordinator</code> do koordynacji zmian danych z różnych <code>NSManagedObjectContext</code>. Ważne jest, aby synchronizować zmiany danych między <code>NSManagedObjectContext</code> i <code>NSPersistentStoreCoordinator</code>!</p> Signup and view all the answers

Wymień modyfikatory dostępu w Objective C.

<p>Modyfikatory dostępu w Objective C określają widoczność elementów (metod, właściwości) i wskazują, które części aplikacji mają do nich dostęp.</p> <ul> <li> <strong><code>public</code></strong>: Elementy oznaczone jako publiczne są widoczne z dowolnej części aplikacji.</li> <li> <strong><code>protected</code></strong>: Elementy oznaczone jako chronione są widoczne tylko wewnątrz samej klasy i klas dziedziczących po niej.</li> <li> <strong><code>private</code></strong>: Elementy oznaczone jako prywatne są widoczne wyłącznie wewnątrz klasy, w której zostały zdefiniowane.</li> </ul> <p>Zastosowanie odpowiednich modyfikatorów dostępu jest kluczowe dla zapewnienia bezpieczeństwa i dobrej praktyki kodowania.</p> Signup and view all the answers

Czym jest NSAutoreleasePool w systemie iOS?

<p><code>NSAutoreleasePool</code> w systemie iOS jest mechanizmem zarządzania pamięcią, który pozwala na tymczasowe przechowywanie obiektów, które powinny zostać zwolnione po zakończeniu pewnego zakresu kodu. Obiekty dodane do <code>NSAutoreleasePool</code> pozostają w pamięci do momentu, gdy pułapka zostanie zniszczona. Zastosowanie <code>NSAutoreleasePool</code> jest szczególnie przydatne w przypadku tworzenia wielu obiektów w określonym zakresie kodu, ale gdy nie ma potrzeby przechowywania ich w pamięci na dłużej.</p> Signup and view all the answers

Czym jest protokół w Objective C?

<p>Protokóły w Objective C to definicje specyfikacji, które określają, jakie metody i właściwości powinna posiadać klasa, aby być zgodna z danym protokołem. Protokół nie zawiera żadnej implementacji metod, jedynie deklaracje. Klasa, która implementuje protokół, musi zdefiniować wszystkie wymagane metody i właściwości, które są opisane w protokole. Protokół zapewnia elastyczność i możliwość tworzenia interfejsów dla obiektów, bez potrzeby specyfikowania ich konkretnego typu.</p> Signup and view all the answers

Jaka jest różnica pomiędzy try, try? i try! w systemie iOS?

<p><code>try</code>, <code>try?</code> i <code>try!</code> to różne metody obsługi błędów w Swift.</p> <ul> <li> <code>try</code>: Używane do wykonywania kodu, który może wyrzucić błąd. Jeśli błąd zostanie wyrzucony, zostaje on obsłużony przez blok <code>catch</code>.</li> <li> <code>try?</code>: Używane do próby wykonania kodu, który może wyrzucić błąd. Jeśli błąd zostanie wyrzucony, <code>try?</code> zwraca <code>nil</code>, w przeciwnym razie zwraca wynik.</li> <li> <code>try!</code>: Używane do próby wykonania kodu, który może wyrzucić błąd. <code>try!</code> zakłada, że ​​błąd nie zostanie wyrzucony, a w przypadku błędu wyrzuca błąd paniki (panic).</li> </ul> <p><code>try</code> używane jest, gdy kód może wyrzucić błąd i chcemy go obsłużyć. <code>try?</code> jest używane, gdy kód może wyrzucić błąd, ale nie chcemy go obsługiwać. <code>try!</code> jest używane, gdy kód nie powinien wyrzucać błędu i chcemy wyrzucić błąd paniki, jeśli błąd jednak wystąpi.</p> Signup and view all the answers

Wyjaśnij, czym jest ORM (Object-Relational Mapping) w kontekście iOS.

<p>ORM (Object-Relational Mapping) to technika programistyczna, która pozwala na połączenie danych przechowywanych w relacyjnej bazie danych (np. SQLite) z obiektami w aplikacji programistycznej. ORM działa jako pośrednik pomiędzy językiem programowania a bazą danych, konwertując dane z jednego do drugiego formatu. ORM ukrywa złożoność zarządzania bazą danych, umożliwiając interakcję z danymi poprzez obiekty w języku programowania. Dzięki ORM programista może tworzyć i aktualizować dane w bazie danych, nie muszą się znać na SQL.</p> Signup and view all the answers

Study Notes

Android

  • Cykl życia Activity:

    • Zawiera metody, które opisują proces działania Activity.
    • Podaje powody przejścia do określonych metod.
  • Kwalifikatory zasobów:

    • Odgrywają rolę w zarządzaniu zasobami aplikacji.
  • Uprawnienia komponentów systemowych:

    • Opisuje mechanizmy pozyskiwania uprawnień przez aplikacje do komponentów systemowych.
  • Obrót telefonu:

    • Opisuje zachowanie Activity przy zmianie orientacji ekranu.
    • Pojawia się problem utraty danych, które trzeba zabezpieczyć.
  • Metoda getDefaultSensor zwracająca null:

    • Wyjaśnia co się dzieje, gdy metoda ta zwróci null, i jak wybrać czujnik.
  • Klasa Intent:

    • Opisuje co to jest i do czego służy klasa Intent.
  • Filtry intencji (intent-filter):

    • Omówienie ich roli i zastosowania.
  • Lokalizacja (FINE i COARSE):

    • Porównanie metod FINE i COARSE przy określaniu lokalizacji urządzenia.
  • Akcelerometr:

    • Opisuje, jakie dwie składowe mierzy akcelerometr i jak je analizować.
  • Rysunki i animacje:

    • Wymienia komponent, który pozwala tworzyć rysunki i animacje.
    • Opisuje warunek, który musi być spełniony, aby metoda onDraw przerysowywała.
  • LOGCAT:

    • Opisuje funkcjonalność LOGCAT i jak wykorzystać go w procesie debugowania.
  • Jednostki długości w interfejsie użytkownika:

    • Wyjaśnia jednostki długości wykorzystywane przy tworzeniu interfejsu użytkownika.
  • MediaPlayer:

    • Opisuje jak stworzyć obiekt klasy MediaPlayer do odtwarzania plików audio i video.
  • Usługi systemowe:

    • Opisuje korzystanie z usług systemowych, takich jak Bluetooth i baterie.

iOS

  • Core Data:

    • Opis Core Data jako mechanizmu zarządzania danymi.
  • Cykl życia obiektów w iOS:

    • Opisuje mechanizm zarządzający cyklem życia obiektów w systemie iOS.
  • Definicja interfejsu klasy w Swift:

    • Opisuje sposób definiowania interfejsu klasy w Swift wspólnie z jego implementacją.
  • Zarządzanie przejściami między widokami:

    • Opisuje element, który jest odpowiedzialny za zarządzanie przejściami.
  • Cykl życia ViewControllera:

    • Wyjaśnia cykl życia ViewControllera w iOS.
  • Garbage Collector i ARC:

    • Porównuje Garbage Collector i ARC, tj. automatyczny zarządzanie pamięcią.
  • Słaba i silna referencja:

    • Różnice między referencjami weak i strong.
  • Obiekty mutowalne i niemutowalne:

    • Różnice w kontekście Objective C
  • IBOutlet i IBAction:

    • Co to są, do czego służą i jak je wykorzystać.
  • Dostęp do kontekstu CoreData z wielu wątków:

    • Opisuje sposoby dostępu i zarządzania kontekstem.
  • Modyfikatory dostępu w Objective C:

    • Wymienia i opisuje modyfikatory dostępu.
  • NSAutoreleasePool:

    • Opisuje funkcje NSAutoreleasePool.
  • Protokół w Objective C:

    • Opisuje co to jest protokół.
  • try, try?, try!:

    • Różnice pomiędzy różnymi formami instrukcji try.
  • ORM (Object-Relational Mapping) w iOS:

    • Opisuje ORM w kontekście iOS.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

Ten quiz bada kluczowe koncepcje związane z platformą Android, w tym cykl życia Activity, zarządzanie zasobami oraz uprawnienia komponentów systemowych. Odkryj, jak orientacja ekranu i czujniki wpływają na działanie aplikacji w systemie Android. Sprawdź swoją wiedzę na temat klas i metod, które są niezbędne do rozwoju aplikacji mobilnych.

More Like This

Android Application Lifecycle Events
10 questions
Android Lifecycle and Backup Quiz
6 questions
Use Quizgecko on...
Browser
Browser