15
RAZVOJ ZA ANDROID Danijel Pobi, dipl. Ing. Računarstva

razvoj za android

  • Upload
    ave

  • View
    26

  • Download
    1

Embed Size (px)

DESCRIPTION

razvoj za android. Danijel Pobi, dipl. Ing. Računarstva. Podaci i baze podataka. Mape Datoteke Baze podataka Relacijske baze (SQL) Osnove SQL razlike, prednosti i nedostaci relacijskih baza nasptram „običnih” datoteka Poslužitelji kao izvor i spremište podataka Integracija u Android. - PowerPoint PPT Presentation

Citation preview

Page 1: razvoj za android

RAZVOJ ZA ANDROID

Danijel Pobi, dipl. Ing. Računarstva

Page 2: razvoj za android

Podaci i baze podataka

Mape Datoteke Baze podataka

Relacijske baze (SQL) Osnove SQL

razlike, prednosti i nedostaci relacijskih baza nasptram „običnih” datoteka

Poslužitelji kao izvor i spremište podataka Integracija u Android

Page 3: razvoj za android

Mape

Eng. Directory, Folder, Catalog Služi za organizaciju na disku Pomoću njih radimo hijerarhiju datoteka s

sličnim sadržajem Uređaji i OS-ovi bez foldera imaju „flat” ili

ravnu direktorijsku strukturu Na većini mobilnih uređaja ovaj način

hijerarhije je podržan, od novih primjera jedino iOS ne podržava foldere!

Page 4: razvoj za android

Datoteka

Datoteka je resurs za spremanje informacija koji su pristupačni programu i uobičajno se spremaju na neki trajni medij (disk)

Organizirani su uglavnom u obliku jednodimenzionalnog polja byte-ova

Pošto su sve datoteke samo nizovi byte-ova, njihova definicija i interpretacija ovisi o ekstenziji imenovanja (exe, txt, dll, lib, cpp,...)

Informacije o datotekama: veličina (file size) ime (file name) interpretacija i organizacija (file extension)

Operacije na datotekama: Čitanje (read) Pisanje (write)

Page 5: razvoj za android

Baze podataka

Baza podataka je organizirana kolekcija podataka DBMS (Data Base Management System) je

programski sustav koji omogućuje da dizajniramo, definiramo, admistriramo, radimo upite, spremamo podatke, itd.

DBMS služi u svrhu enkapsulacije i apstrakcije baze kako bi se mogla koristiti sa više programskih jezika i na više sustava

Poznati DBMS-ovi su: Microsoft SQL, MySQL, Microsoft Access, Oracle, SQLite, SAP, IBM Informix, PostgradeSQL,...

U većini slučajeva bazu je nemoguće prebaciti s jednog DBMS na drugi

Page 6: razvoj za android

SQL

SQL je program specijalno namjenjen programski jezik za rad s bazama podataka

SQL = Structured Query Language Baziran na relacijskoj algebri i Tupleovoj

relacijskoj računici Sastoji se od podatkovno definirajućeg jezika

i podatkovno manipulirajućeg jezika Iako standart je definiran, različiti proizvođači

sustava imaju svoje ekstenzije i dodatke, tako da iako su slični, često nije moguće direktno prenijeti sql kod na drugi sustav

Page 7: razvoj za android

Sistem baze podataka

Zašto koristiti sustav baze podataka naspram običnih datoteka?

Organizacija Integritet Sigurnost Backup i Restore Dokumentiranje Skalabilnost Prenosivost Dijeljivost Standardizacija Tipiziranje baze .... (dugačak popis)

Page 8: razvoj za android

Podaci s mreže

Ukratko s bilo kakve vrste poslužitelja korištenjem mrežnog protokola

Vrste podatkovnih poslužitelja Lokalni (lokalni SQL server, access baza, lokalni

servis,...) Mrežni (SQL server, mrežno raspoloživ servis,...) Internetski (web servis, Cloud, VPN, ...)

Podaci se prenose preko neke vrste protokola (TCP/IP, IPX) u obliku poruka (WSDL=Web Service Description Language)

Komunikacija može biti jednosmjerna (samo čitanje, tj. primanje podataka) ili dvosmjerna (slanje i primanje poruka)

Page 9: razvoj za android

Praksa u Androidu

Svaka aplikacija mora imati neki način spremanja podataka i/ili učitavanja podataka bilo da se radi o stanjima programa, slikama, tekstovima, itd...

Nekolio opcija za spremanje/učitavanje podataka: Shared Preferences Internal Storage External storage SQLite Network

http://developer.android.com/guide/topics/data/data-storage.html

Page 10: razvoj za android

Shared Preferences

Služi za dijeljenje dosljednih prijednosti Podaci ostaju iako program završi! klasa koja se koristi: SharedPreferences Čitanje jednostavan poziv Pisanje u 3 koraka:

mora se zvati edit() da se mogu pisati podaci pisanje željenih podataka u obliku para mora se potvati commit() da se signalizira da

se podatak spremi

Page 11: razvoj za android

Internal Storage

Pristup podacima na unutarnju memoriju uređaja

Po defaultu ono što sačuvamo u internal storage je vidljivo samo aplikaciji i druge aplikacije nemaju pristup tome!

Sadržaj se briše brisanjem aplikacije rad jedostavan s file Stream-ovima

import java.io (Java s SKD-om) #include <iostream> (C++ s NDK-om)

Važno da se treba staviti MODE_PRIVATE z akorištenje ove memorije

Podržana folder hijerarhija

Page 12: razvoj za android

External Storage

Odnosi se na stalnu memoriju, bilo ugrađena ili neka vrsta proširenja (kartica ili stick)

Čitljivo je svim aplikacijama i može se prenositi spajanjem na kompjuter

Korištenje slično kao i kod internal storage, samo nekoliko sitnih razlika mora se voditi računa o pristupačnosti medija (dali

postoji i dali je spreman za korištenje) s pozivom getExternalStorageState()

File Streamovi se dobivaju pozivima u Enviroment (getExternalFilesDir, getExternalStorageDirectory,...)

Odlično za datoteke koje se dijele s drugim programima ili korisnicima

Page 13: razvoj za android

Baze podataka

Direktna podrška za SQLite Baza stvorena će biti vidljiva samo

aplikaciji, a nikako izvan nje (internal storage)

Omogućava organizaciju baze i rad preko SQL upita

Nema zamaranja s streamovima i s načinima pisanja/čitanja u file systemu

Za rad gdje podaci moraju biti vidljivi izvan aplikacije bolje koristiti neku bazu podataka preko mreže

Page 14: razvoj za android

Povezivanje putem mreže

Koristi se za spremanje i čitanje podataka preko mreže, kad je dostupno

klase koje se koriste java-net.* i android.net.* Nije uvijek dostupno Potrebno implementirati logiku u slučaju

nedostatka pristupa Jako popularan i dobar način rada zbog:

Omogućava razmjenu podataka između više uređaja Implementacija na poslužiteljskoj strani neovisna o OS-u Ujedno služi i kao backup za korisnika Pristup velikim sustavima ...

Page 15: razvoj za android

Kraj predavanja

PITANJA?

ajmo ljudi, čisto sumnjam, prosto nevjerujem da vam je baš sve

jasno ;)

[email protected]