1 / 15

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.

ave
Download Presentation

razvoj za android

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. razvoj za android Danijel Pobi, dipl. Ing. Računarstva

  2. 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

  3. 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!

  4. 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)

  5. 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

  6. 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

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

  8. 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)

  9. 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

  10. 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

  11. 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

  12. 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

  13. 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

  14. 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 • ...

  15. Kraj predavanja PITANJA? ajmo ljudi, čisto sumnjam, prosto nevjerujem da vam je baš sve jasno ;) danijel@dmt-softver.hr

More Related