Intencje i przechowywanie danych презентация

Kontekst (Context) Activity i Service dziedziczą po klasie Context Klasa ta stanowi źródło informacji na temat środowiska aplikacji oraz jej zasobów Za jej pomocą można też m.in. : sprawdzić rozmiar

Слайд 1Intencje i przechowywanie danych


Michail Mokkas


Слайд 2Kontekst (Context)

Activity i Service dziedziczą po klasie Context
Klasa ta stanowi źródło

informacji na temat środowiska aplikacji oraz jej zasobów
Za jej pomocą można też m.in. :
sprawdzić rozmiar przekątnej ekranu
uzyskać dostęp do usług systemu
tworzyć nowe obiekty (adapterów , listenerów)
Możemy otrzymać kontekst na kilka sposobów:
getApplicationContext()
getContext()
getBaseContext()

Слайд 3Intencje (Intents)

Jeden z podstawowych elementów, z których budujemy aplikacje androidowe
Głównie używany

do uruchamiania kolejnych aktywnośći (Activities) w aplikacji
Może także służyć jako sposób komunikacji pomiędzy komponentami (Services, Activities) lub aplikacjami w sposób asynchroniczny


Слайд 4Intencje kont. 1

Przejście do kolejnej aktywności:


Odpalenie usługi (Service):


Слайд 5Intencje kont. 2

Typy intencji:
Jawne (explicit):


Niejawne (implicit):

Użytkownik ma możliwość wyboru aplikacji, za

pomocą której dokona dalsze akcje (np. przeglądarka do wyświetlenia strony Google)

Слайд 6Intencje kont. 3

Wymiana danych:
Przesłanie:


Otrzymywanie:


Слайд 7Sposoby przechowywania danych

Shared Preferences (para: id + wartość)
Internal Storage (pamięć wewnętrzna)
External

Storage (pamięć zewnętrzna)
SQLite Database (baza danych)
Network Service(usługa sieciowa)

Слайд 8Shared Preferences

Nadaje się do przetrzymywania prymitywnych typów danych (boolean, float, int,

String, long)
Dane zostaną przechowane pomiędzy sesjami (nawet jeżeli aplikacja zostanie zatrzymana)
Przeznaczone głównie do przechowywania informacji o ustawieniach
Dane są współdzielone ze wszystkimi komponentami aplikacji

Слайд 9Shared Preferences kont. 1

Aby skorzystać z Shared Preferences, należy zinicjalizować objekt

SharedPreferences za pomocą jednej z metod:
getSharedPreferences(pref_name): jeżeli potrzebujemy kilku osobnych plików preferencyjnych
getPreferences(): jeżeli będziemy korzystać tylko z jednego pliku preferencyjnego

Слайд 10Shared Preferences kont. 2

Aby zapisać wartości:


0 = MODE_PRIVATE //dostępne tylko z

poziomu tej samej aplikacji (lub aplikacji o tym samym user ID)
Editor - interfejs modyfikujący wartości SharedPreferences.
Aby odczytać wartości:



Слайд 11Pamięć wewnętrzna

Istnieje możliwość bezpośredniego zapisu danych w pliku na pamięci wewnętrznej

urządzenia
Domyślnie, pliki zapisane na pamięci wewnętrznej są prywatne dla naszej aplikacji (inne aplikacje nie mają prawa dostępu)
Użytkownik także nie ma do nich dostępu
Po odinstalowaniu aplikacji, pliki te są usuwane

Слайд 12Pamięć wewnętrzna kont. 1

Zapis:


Слайд 13Pamięć wewnętrzna kont. 2

Odczyt:


Слайд 14Pamięć wewnętrzna kont. 3

Tryby zapisu:
MODE_PRIVATE: tworzy i/lub nadpisuje plik (ustawia by

był prywatny)
MODE_APPEND: dopisuje do końca pliku
do dodania dwóch na raz wystarczy wykrozystać operator OR |
MODE_WORLD_WRITEABLE: pozwala na dostęp oraz nadpisywanie tego pliku innym aplikacjom
MODE_WORLD_READABLE: pozwala na dostęp i możliwość odczytania zawartości tego pliku innym aplikacjom

Слайд 15Pamięć wewnętrzna kont. 4

Metody pomocnicze:
getCacheDir(): wykorzystywane do tymczasowego przechowywania danych
getFileDir(): zwraca

pełną ścieżkę katalogu w którym znajdują się pliki (na wewnętrznej pamięci)
getDir(): tworzy lub otwiera wcześniej stworzony katalog na wewnętrznej pamięci
deleteFile(): usuwa plik
fileList(): zwraca listę plików, które dana aplikacja zapisała

Слайд 16Pamięć zewnętrzna

Zwykle jest to wymienna karta SD
Może być w każdej chwili

wyjęta z urządzenia
Nie każde urządzenie posiada tego typu pamięć
Dodatkowo, jeżeli urządzenie jest podpięte do komputera i jego zewnętrzna pamięć zamontowana do przeglądu, uniemożliwia to jej użytkowanie w innych celach

Слайд 17Pamięć zewnętrzna kont. 1

Aby uzyskać dostęp do pamięci zewnętrznej, nasza aplikacja

powinna w AndroidManifest zawierać: android.permission.READ_EXTERNAL_STORAGE
Dodatkowo, by mogła tworzyć i/lub zapisywać pliki: android.permission.WRITE_EXTERNAL_STORAGE
Zezwolenia te nie są potrzebne, jeżeli: przeglądamy/zapisujemy prywatne pliki naszej aplikacji (możliwość ta jest dostępna od wersji KitKat)
Do uzyskania ścieżki korzystamy z metody: getExternalFilesDir()


Слайд 18Pamięć zewnętrzna kont. 2
Sprawdzenie czy pamięć zewnętrzna jest dostępna:



Слайд 19Pamięć zewnętrzna kont. 3

Pliki publiczne powinny znajdować się w publicznie dostępnych

katalogach, jak np. Music/ i Pictures/


Powyższy fragment kodu tworzy katalog na nowy album ze zdjęciami
Dodatkowo także i tu mamy możliwość utworzenia tymczasowych plików
getExternalCacheDir()


Слайд 20Baza danych

Android w pełni wspiera SQLite
Po stworzeniu bazy danych przez aplikację,

mamy do niej dostęp z poziomu każdej z jej klas
Rekomendowanym sposobem tworzenia bazy danych jest stworzenie subklasy SQLiteOpenHelper i przesłonięcie (override) metody onCreate()
W metodzie onCreate() możemy wykonać polecenia SQL tworzące tabele w bazie danych

Слайд 21Baza danych kont. 1


Слайд 22Baza danych kont. 2

Następnie tworzymy instancję tej klasy i korzystamy z

metod:
getWritableDatabase()
getReadableDatabase()
Obydwie z nich zwracają nam obiekt reprezentujący bazę danych, który udostępnia dodatkowe metody potrzebne do zadań bazodanowych (insert, delete, update, itp.)
Możemy wykonywać zapytania za pomocą metod query(), które zwrócą nam obiekt Cursor (zestaw wyników)

Слайд 23Baza danych kont. 3

Przykład dla operacji insert :


Слайд 24Content provider

Zazwyczaj tworzony po to, aby umożliwić dzielenie się danymi (przechowywanymi

w bazie danych) z innymi aplikacjami
Aby uzyskać dostęp do danego content providera, musimy go uwzględnić w AndroidManifest.xml
Musimy znać konkretny URI (Uniform Resource Identifier)
Warto używać synchronized przed nazwami metod korzystających z content providerów (dopuści tylko jeden wątek na dostęp w tym samym czasie)

Слайд 25Przykład – Historia połączeń


Слайд 26Przykład - List View Activity


Слайд 27ArrayAdapter

Linkuje strukturę danych (np. ArrayList) do GUI list view
Jeżeli chcemy zmodyfikować

widok elementów listy (np. dodać checkbox) musimy przesłonić funkcję getView()

Слайд 28ListView


Слайд 29Wynik – MyListActivity


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика