ajmo ponovit gradivo , LINK naredba u normalnom radu dobije 'token i secret' s flickr API servisa bez potrebe da se otvara internet preglednik i uvijek iznova potvrđuje autorizacija aplikaciji od strane korisnika. takvo ponašanje sam izazvao tako što sam uz LINK pozivao i UNLINK što je nepotrebno i POGREŠNO !!!
idemo dalje. dodat ćemo bazu podataka u aplikaciju, za početak provjerite da li radi naredba
sqlite3 iz terminala. ako ne radi, ajmo instalirati paket
kreirat ćemo lokalnu bazu , neka se zove
flickr.db , sqlite snima bazu kao običan fajl, zapamtite putanju fajla - ta se putanja mora upisati kad pozivate bazu iz Qt aplikacije.
otvara se 'interpreter' sqlite alata, koji čeka vašu SQL komandu, ukucajte ( može copy-paste ) ovako nešto
Kod: Označi sve
CREATE TABLE photo(photo_id integer primary key, id text, owner, text, secret text, ownername text);
stvarna tablica ima više polja, ovdje sam skratio, tek toliko da vidimo kako se jednostavno kreira tablica u sqlite bazi
za kraj u novi red napiši
napuštamo sqlite 'interpreter' , baza je spremna za upotrebu - za sada ima samo jednu tablicu photo, sasvim dovoljno za početak.
u KDEVELOP ću dodati klasu DBlite koja ima standardne metode za manipulaciju zapisima u tablici: add, remove, list ... neću ovdje prepisivati klasu jer će ionako čitav projekt biti dostupan na GitHub, dovoljno je da shvatimo hodogram kamo idemo.
sada možemo pohraniti rezultate upita sa flickr API servera u lokalnu bazu. prva stvar koju ćemo pohraniti u bazu su podaci o vlastitim slikama na flickr. za to koristimo poziv API funkcije
upit ima dosta opcija:
++ ID korisnika na flickr ( recimo - vlastiti ID ). ID ima format xxxxxxx@Nxx , vidljiv je u adresnoj liniji preglednika kad otvorimo bilo koju sliku
++ možemo izabrati datum kad je slika postavljena na flickr ( od ... do ... )
++ extras - možemo zatražiti dodatna polja - tags, geo ...
nakon što dobijem rezultate od API servisa - standardni XML dokument - pozivam
addPhoto metodu klase DBlite koja sprema podatke u lokalnu bazu. na početku te metode postavio sam poziv na metodu
photoExists koja ne dozvoljava da unosim duplikate. na taj način mogu pozivati upit
flickr.people.getPhotos kod svakog starta aplikacije ili češće - po potrebi.
jedan od ciljeva aplikacije jest mogućnost prikaza vaših fotografija na desktopu. pomoć pri selekciji fotografija može biti pripadnost nekom albumu, nekoj grupi, kako je tagirana itd. možemo se osloniti samo na atribute koji postoje na flickr serveru, ali možemo dodati i atribute po svom izboru i pohraniti ih u lokalnu bazu i na taj način stvoriti 'dodanu vrijednost' aplikacije u odnosu na flickr.
'81: ZX81 '83:ZX spectrum '85: Apple IIe '86:C-64 *** '87:PC-XT *** '88:PC-AT *** '90:386 *** 'itd.