Scrierea sub sistemul de operare Symbian
Symbian - un descendent îndepărtat al sistemului de operare EPOC, proiectat inițial pentru Psion PDA-uri. sistem de operare compact, rapid și de încredere a trecut prin mai multe încarnări, în cele din urmă a evoluat în moderne Symbian. Platforma Symbian - un exemplu unic al unui sistem de a combina ambele tradiții academice cu studiul lor atenta a conceptelor de bază și pragmatismul inerente în proiecte comerciale.
API-ul de bază
Posibilitățile Symbian OS sunt extinse - nu va J2ME mașină virtuală, cu multe restricții și Palm OS, și sistemul de operare într-adevăr moderne, puternic și funcțional. Printre acestea se numără instrumentele standard (procesul de planificare și gestionare a resurselor, programele de pornire și care leagă bibliotecile partajate, ieșire grafică și de a lucra cu rețeaua), precum și instrumente pentru grafice tridimensionale (chiar și accelerați de Deschidere GS ES), fluxuri multimedia în timp real ( este nu numai muzica, dar, de asemenea, VoIP), API-ul Location (pentru conectarea surselor de informații geografice) și altele.
Toate caracteristicile sistemului de operare Symbian distribuite de componente independente de restul sistemului (în cazul în care este permis să eliminați una dintre ele, fără a afecta întregul complex). bază Numirea API (modulul de bază) este evident, merită să menționăm că, în loc de multe soluții standard, cum ar fi, de exemplu, standardul C ++ bibliotecă, folosind propriile lor soluții, mai eficiente în cadrul ideologiei sistemului de operare. Subsistemul de securitate este responsabil pentru punerea în aplicare a algoritmilor de criptare, management certificat, instalarea software-ului, și așa mai departe. Modulul grafic oferă un API pentru redarea de grafice și text, de management de font, insera imagini și altele. Aceasta include, de asemenea, un subsistem Windows Server client API și animație.
Subsistemul de securitate (din Symbian V9.x) implică prevenirea accesului la structura de directoare (pentru programele „unsigned“, cum ar fi accesul interzis la cataloagele altor utilități, directorul de sistem), unele acces la date este posibilă în „read-only“. Dar cel mai neplăcut - așa-numitele „caracteristici de model» (IAG), care determină disponibilitatea anumitor API. API deschis reprezintă aproximativ 60% din toate funcțiile de operare, „de bază“ includ subsisteme de comunicare (Internet, Bluetooth, celulare, etc ..), precum și PIM. Acestea sunt de asemenea disponibile, dar o încercare de a provoca, să zicem, funcția de a trimite SMS-uri de la programul non-certificate conduce la o cerere de autorizare a acestei acțiuni, în timp ce un certificat poate face acest lucru într-un mod transparent și invizibil pentru utilizator. A „extins“ API-ul include funcții pentru a manipula informația de sistem, și „drepturile producătorului“ - asigură controlul mai complet asupra dispozitivului.
Series 60 SDK-ul se bazează pe o versiune specială a sistemului de operare Symbian C ++ SDK. distribuite Symbian. SDK include o serie de instrumente, API, biblioteci și documentație, vă permite să creați șabloane bazate pe aplicații tipice.
Ca dezvoltator, aveți nevoie de un SDK câteva pentru a lucra cu diferite versiuni ale Seriei 60. Este important de a alege corect SDK pentru Series 60 ați selectat dispozitivul.
Cu privire la posibilitatea de a utiliza mai multe SDK
Foarte ușor de utilizat un sistem de operare Symbian SDK, pentru că după instalare sunteți gata să lucreze. Cu toate acestea, dezvoltatorii de multe ori trebuie să
SDK-ul pentru a lucra cu o anumită versiune a seriei 60 SDK-ul, sau chiar o interfață de utilizator specific platformei (UI).
În plus, SD K sunt pentru diferite sisteme de dezvoltare: WINSCW - pentru CodeWarrior Development Studio. WINS - de bază, acesta poate fi utilizat cu Visual Studio și din linia de comandă (de asemenea, o versiune cu suport pentru mediul Borland C ++ BuilderX Mobile Edition). Alegeți versiunea de suport Visual Studio. Pentru a lucra SDK-ul are nevoie de ActivePerl 5,18 (DOWNLOAD). Peste tot în cerințele vor fi mai precizat că este necesar Java2 RunTime 1.3.1. Despachetați arhiva cu SDK-ul și instalați-l. Pentru a fi instalat pe aceeași unitate în cazul în care codul sursă al proiectului se va baza pe, în caz contrar pot exista diferite erori.
cerere HelloWorld
Se poate lucra pe orice dispozitiv Symbian OS. aplicație proiect Symbian OS este format din mai multe fișiere: codul sursă reală (Cpp și .h), descriere proiect fișiere (.mmp) și o descriere componentă fișiere (bld.inf). Pot fi necesare și alte fișiere.
Descrierea proiectului fișier este necesară pentru corecta funcționare utilitate bldmake. Proiectul numele fișierului trebuie să se potrivească cu numele aplicației. Cu alte cuvinte, dacă vom dezvolta un program de HelloWorld.exe. Descrierea proiectului fișier trebuie să fie numit HelloWorld.mmp.
Citat: // HelloWorld.mmp
TARGET HelloWorld.exe
TARGETTYPE exe
UID 0
SOURCEPATH.
SURSA helloWorld.cpp
USERINCLUDE.
SYSTEMINCLUDE \ Epoc32 \ includ
BIBLIOTECA euser.lib bafl.lib efsrv.lib
Spre deosebire de fișierul de definire a proiectului, o descriere fișier componentă este numit întotdeauna același: bld.inf. Acest fișier specifică o listă de fișiere de proiect:
Citat: // fișier bld.inf
PRJ_MMPFILES
Creați o aplicație simplă consolă. Să-l afișează șirul de caractere „Hello world!“, De așteptare pentru intrarile de la tastatura și închise.
Citat: Listarea sursa HelloWorld.cpp
#include
#include
_LIT (KTxtEPOC32EX, "EPOC32EX");
_LIT (KTxtExampleCode "E32 SDK Exemplu de cod");
_LIT (KFormatFailed, "a eșuat: cod panică =.");
_LIT (KTxtOK, "OK");
_LIT (KTxtPressAnyKey, "[apăsați orice tastă]");
LOCAL_D CConsoleBase * consola; // scrie aici mesajul tau
LOCAL_C neavenită doExampleL (); // aceasta este funcția vom efectua acțiunile necesare
// Crearea unui obiect de consolă
console = Console :: NewL (KTxtExampleCode, tsize (KConsFullScreen, KConsFullScreen));
CleanupStack :: PushL (consola);
// imprima șirul de caractere „Hello World“
console-> printf (KHelloWorldText);
// string de imprimare „apăsați orice tastă“
console-> printf (KTxtPressAnyKey);
// așteptați până când utilizatorul apasă butonul
console-> getch ();
CleanupStack :: PopAndDestroy (); // închide consola
>
// // ************************
// * * // funcție principală
// // ************************
Tint E32Main ()
<
__UHEAP_MARK;
CTrapCleanup * Curățire = CTrapCleanup :: Nou (); // obține o stivă curată
TRAPD (eroare, doExampleL ()); // completează inițializare și se execută exemplul
__ASSERT_ALWAYS (eroare, utilizator :: Panica (KFormatFailed, eroare)!);
șterge de curățare; // îndepărtați stiva
__UHEAP_MARKEND;
Pentru a construi aplicația din linia de comandă ar trebui să fie:
Du-te la folderul care conține .mmp fișier proiect. Asigurați-vă că, în același folder este un fișier bld.inf.
Executați comanda bldfiles bldmake. Ca urmare a punerii sale în aplicare va fi creat abld.bat fișier care conține informații de la .mmp fișier proiect. (Rețineți că, după schimbarea fișierului .mmp necesitatea de a re-executa bldmake comanda.)
Execută construi comanda abld câștigă udeb. Se creează o versiune a aplicației cu informații de depanare pentru platforma WINS.
Executați comanda construi abld armi urel. Se creează o versiune de lansare a aplicației pentru dispozitivul țintă.
După crearea fișierului exe, acesta trebuie să fie copiat în folderul Epoc32 \ eliberare \ pune \ udeb \.
Luați în considerare crearea proiectului și de a construi o aplicație folosind Visual C ++ Microsoft.
Du-te la folderul care conține .mmp fișier proiect. Asigurați-vă că, în același folder este un fișier bld.inf.
Executați comanda bldfiles bldmake. Ca urmare a punerii sale în aplicare va fi creat abld.bat fișier care conține informații de la .mmp fișier proiect. (Rețineți că, după schimbarea fișierului .mmp necesitatea de a re-executa bldmake comanda.)
Executați comanda abld VC6 Makefile. Ca urmare, fișierul proiect va fi creat și fișierul mediu de lucru (.dsp și .dsw). Aceste fișiere pot fi utilizate în Visual C ++ 6.0.
Porniți Microsoft Visual C ++ 6.0, și apoi faceți clic pe Deschidere spațiu de lucru din meniul File.
Selectați un fișier cu extensia .dsw în WINS folderul \ proiectul.
Selectați Build sau reconstruiți toate din meniul Build. asamblare aplicație se realizează.
Rularea aplicațiilor
După asamblarea aplicației consola, acesta poate fi rulat pe emulator sau pe dispozitivul țintă. În cadrul acestui document va lua în considerare doar rula pe emulator. Informații despre lansarea aplicației pe un anumit dispozitiv, consultați documentația pentru platformele respective.
Există două moduri de a rula aplicația pe un emulator: puteți rula aplicația din linia de comandă sau de la IDE (în acest caz, de la Microsoft Visual C ++ 6.0).
Dacă executați din linia de comandă, copiați fișierul generat în helloworld.exe Epoc32 folderul \ de presă \ câștigă \ udeb \, apoi du-te la acel folder și executați fișierul helloworld.exe. Pentru a rula aplicația de la Microsoft Visual C ++ 6.0 rula comanda Execute HELLOWORLD.exe din meniul Build. Ambele metode conduc la același rezultat: o fereastră de emulator va începe în câteva secunde, și veți vedea o imagine: