Download - razvoj za android
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
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!
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)
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
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
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)
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)
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
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
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
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
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
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 ...
Kraj predavanja
PITANJA?
ajmo ljudi, čisto sumnjam, prosto nevjerujem da vam je baš sve
jasno ;)