Hirdetés

Alkalmazásfejlesztés badára: A névjegyzék kezelése

A mai bejegyzésben a névjegyzéket fogjuk boncolgatni, a feladatra egy, az 1.0-ás SDK óta elérhető beépített megoldást kapunk. Az AddressBook osztályról van szó, amely egy központi adatbázist képvisel a névjegyzéket használó applikációk számára. Segítségével kontaktokat és csoportokat menedzselhetünk, a szokásos CRUD, azaz create-read-update-delete képességekkel. Fontos megjegyezni, hogy az AddressBook osztály segítségével csak a telefon memóriáját használhatjuk, a SIM kártyán lévő bejegyzéseket nem érhetjük el. A mai bejegyzésben a kontaktok létrehozását és a hozzájuk tartozó paramétereket futjuk át, de mielőtt nekiugrunk a dolognak, be kell importálnunk az FSocial.h headert, valamint fel kell vennünk az alábbi privilégiumot a manifest.xml leíróba:

<Privilege>
<Name>ADDRESSBOOK</Name>
</Privilege>

Új névjegy létrehozásához először is fel kell vennünk egy Contanct példányt, amely az Osp::Social névtérben található. Az osztály paramétereit nem tudjuk konstruktoron keresztül beállítani, ehhez két módot kapunk. A névjegyzék bejegyzéseinél ugyanis két eltérő típusú paramétert különböztetünk meg: az egy-az-egyhez (single-value property) és a több-az-egyhez (multi-value property) típusokat. Előbbire példa például a vezetéknév és a születésnap, utóbbira pedig a telefonszámok (munkahelyi, otthoni, magán stb) és a címek. Miután megvagyunk az adatok megadásával, az AddressBook példányunk addContact() függvényét kell meghívnunk, bemenőként a létrehozott Contact példánnyal.

A single-value property megadása a SetValue() függvény segítségével lehetséges. Ez két bemenő paramétert vár: az első a property azonosítója (ezek az alábbi táblázatban láthatóak), a második pedig a paraméternek megfelelő típusú változó.

Single-value property
Property neve

Feladatkör

Típus
CONTACT_PROPERTY_ID_USER_ID Contact példányok azonosítása UserID
CONTACT_PROPERTY_ID_FIRST_NAME Keresztnév String
CONTACT_PROPERTY_ID_LAST_NAME Vezetéknév String
CONTACT_PROPERTY_ID_DISPLAY_NAME Megjelenített név String
CONTACT_PROPERTY_ID_NICK_NAME Becenév String
CONTACT_PROPERTY_ID_THUMBNAIL Fénykép Bitmap
CONTACT_PROPERTY_ID_BIRTHDAY Születésnap DateTime
CONTACT_PROPERTY_ID_JOB_TITLE Munkakör String
CONTACT_PROPERTY_ID_COMPANY Munkahely String
CONTACT_PROPERTY_ID_NOTE Partnerhez kapcsolódó jegyzet String
CONTACT_PROPERTY_ID_ANNIVERSARY Évforduló DateTime
CONTACT_PROPERTY_ID_RINGTONE Csengőhang String

A multi-value paraméterek megadásához típusonként külön függvényeket kapunk, a bemenő paraméterek pedig összetett osztályok, ellentétben a single-value esetben használt egyszerű típusokkal. A dolog pikantériája, hogy ezen adatok megadásakor a nekik megfelelő osztálypéldánynál kell beállítanunk, hogy melyik azonosítóhoz rendeljük azt. Az egyes paraméterek és alosztályaik alább láthatóak.

Multi-value property
Property neve Függvény

Feladatkör

Típus
CONTACT_MPROPERTY_ID_PHONE_NUMBERS AddPhoneNumber() Telefonszám PhoneNumber
CONTACT_MPROPERTY_ID_EMAILS AddEmail() E-mail cím Email
CONTACT_MPROPERTY_ID_URLS AddUrl() Weboldal Url
CONTACT_MPROPERTY_ID_ADDRESSES AddAddress() Lakcím Address
CONTACT_MPROPERTY_ID_IMADDRESSES AddImAddress() SNS-fiók ImAddress

Telefonszám:

  • PHONENUMBER_TYPE_HOME
  • PHONENUMBER_TYPE_WORK
  • PHONENUMBER_TYPE_MOBILE
  • PHONENUMBER_TYPE_HOME_FAX
  • PHONENUMBER_TYPE_HOME_FAX
  • PHONENUMBER_TYPE_HOME_FAX
  • PHONENUMBER_TYPE_HOME_FAX

Lakcím:

  • ADDRESS_TYPE_HOME
  • ADDRESS_TYPE_WORK
  • ADDRESS_TYPE_OTHER

Url:

  • URL_TYPE_PERSONAL
  • URL_TYPE_WORK
  • URL_TYPE_OTHER

Azóta történt

Előzmények