razvoj za android

Preview:

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

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 ;)

danijel@dmt-softver.hr

Recommended