Programare sub maemo și meego pentru începători, meego

Acest articol va oferi o introducere în dezvoltarea aplicațiilor pentru platformele Maemo și MeeGo. Pornind de la bun început, instalând și configurând software-ul auxiliar și terminând cu depanarea și implementarea aplicației. Vom crea o aplicație simplă care efectuează operații de bază pe numere (calculator), această anexă este destul de simplă și are multe modalități de implementare a acesteia, și vom examina un exemplu de soluție nestandardă prezentată în carte [7].







Maemo este o platformă bazată pe Debian Linux pentru dispozitive portabile. Folosit în tabletele Internet Nokia 770, Nokia N800, N810 și comunicatorul Nokia N900. Maemo se bazează pe componentele mediului GNOME, inclusiv biblioteca grafică gtk. Majoritatea codului Maemo este deschisă și a servit drept bază pentru crearea Ubuntu Mobile. Există multe aplicații pentru platforma Maemo, aproape toate acestea fiind gratuite și gratuite. Platforma include sistemul de operare Maemo și Maemo SDK.

Maemo este bazat în principal pe open source și dezvoltat de Nokia Maemo Devices în colaborare cu multe proiecte open source, cum ar fi kernel-ul Linux, Debian și GNOME. Maemo se bazează pe Debian GNU / Linux și desenează o mare parte din interfața grafică, sistemele și bibliotecile sale cu GNOME. Utilizează managerul de ferestre Matchbox și Hildon ca interfață grafică și instrument de aplicație.

Interfața cu utilizatorul din Maemo 4 este similară cu multe interfețe portabile și cu o funcție de ecran de pornire care acționează ca un punct central de la care toate aplicațiile și setările sunt disponibile. Ecranul principal este împărțit în zone de lansare a aplicațiilor, meniuri și o zonă personalizabilă mare care afișează informații cum ar fi feedul RSS, playerul de radio pe Internet și caseta de căutare Google.

Maimo 5 UI este un pic diferit: zona de meniu și informații se află în partea superioară a ecranului și patru computere desktop personalizabile cu ajutorul comenzilor rapide și widget-urilor.

MeeGo este un sistem de operare independent, care, totuși, utilizează dezvoltările unor proiecte precum Maemo, Moblin, Fedora și Debian.

Începem programarea în cadrul Maemo

Înainte de a începe acest proces, trebuie să instalăm un software auxiliar, și anume emulatorul în sine și mediul multi-platformă Scratchbox. O descriere detaliată a instalării mediului Scratchbox și Maemo SDK este discutată pe pagina wiki [1].

Acum, să ne uităm la modul de rulare a emulatorului platformei Maemo. Întregul proces constă din următoarele elemente.

Lansarea platformei de emulatori Maemo
  1. Rulați emulatorul nu sub Scratchbox:

$ Xephyr: 2-cursor-gazdă-ecran 800x480x16 -dpi 96 -ac

  • Deoarece emulatorul nu pornește în FREMANTLE_ARMEL, este necesar să mergem la FREMANTLE_X86, pentru aceasta executăm următoarea comandă:

    $ sb-conf selectați FREMANTLE_X86

  • Dacă apare o eroare, trebuie să terminați toate procesele anterioare cu comanda:

    $ sb-conf killall -signal = 9

  • Încărcarea FREMANTLE_ARMEL, executați următoarele comenzi:
  • Platforma Maemo este lansată în emulatorul Xephyr.
  • Crearea unei aplicații pentru Maemo

    Creați un proiect gol pentru aplicație în Creatorul Qt. Tot codul aplicației este plasat în trei fișiere main.cpp, calculator.cpp și calculator.h, adăugăm fișiere la proiect.

    Rularea proiectului pe emulator

    Rularea aplicației pe emulatorul Xephyr constă în mai mulți pași:

    Aplicația lansată sub platforma Maemo este prezentată în Fig. 1.

    Fig. 1. Calculator Maemo

    concluzie

    Dezvoltarea aplicației pentru platforma Maemo nu este diferită de dezvoltarea pentru sistemele de birou, toate datorită Qt cross-platform. Diferența constă în testarea, depanarea și implementarea aplicației, precum și utilizarea bibliotecilor speciale. Întrucât în ​​cursul dezvoltării aplicației de la mână nu poate fi un dispozitiv real, în aceste scopuri s-au dezvoltat emulatori și medii speciale pentru testarea și implementarea aplicației dezvoltate.

    Noțiuni de bază cu MeeGo

    Primul pas în familiarizarea cu această platformă și în special dezvoltarea acesteia este de a instala software auxiliar, și anume Qt 4.7 SDK, Qt Creator, MeeGo Touch Framework (MTF).

    Instalarea MeeGo Touch 1.0 manual pe Ubuntu 10.04
    1. Pentru MeeGo Touch, aveți nevoie de Qt versiunea 4.7, dacă nu este deja instalată, instalați (descărcați: qt.nokia.com/downloads).
    2. Scrieți variabilele de mediu:
    3. $ export QTDIR = / [calea către qtsdk instalată] / qt /
    4. $ export PATH = $ / bin: $
    5. Descărcați și instalați tema Touch (pentru a rula aplicații pe o mașină desktop):
      1. Clonăm din depozit:

      $ Git clona git: gitorious.org/meegotouch/meegotouch-theme.git - Punerea: $ qmake - Set: $ sudo make install - Instalați pachetele necesare: $ sudo apt-get install build-essential libgl1-mesa-dev libglu1-mesa -dev libxdamage-dev - Descărcați și instalați MeeGo Touch: - clona depozit de la: $ git clona gIT: gitorious.org/meegotouch/libmeegotouch.git







    6. Configurați, colectați și instalați:

      $ ./configurează face sudo face instalare

      Posibile probleme: În timpul construirii, au apărut erori în următoarele locuri:

      Procesul de lucru pe extinderea funcționalității și capturarea bug-urilor nu se oprește timp de un minut și, în consecință, în versiunile viitoare ale MTF toate erorile vor fi reparate și vor fi adăugate altele noi :)

      Instalarea MeeGo Touch 1.1 din depozitul Ubuntu 10.04
      1. Configurați managerul de pachete:
        1. Adăugați următoarea linie în /etc/apt/sources.list.d/meego-sdk.list
      2. Adăugați cheia repository:

        $ gpg -keyserver pgpkeys.mit.edu -recv 0BC7BEC479FC1F8A

        $ gpg -export -armor 0BC7BEC479FC1F8A | sudo apt-key add -

      3. Actualizați baza de date a managerului de pachete: $ sudo apt-get update
      4. Pentru a verifica dacă depozitul MeeGo a fost corect adăugat, executați următoarea comandă. Detaliile din pachetul MADDE vor fi afișate.

        $ apt-cache politica madde

    7. Instalați MeeGo SDK:
    8. Instalați obiectul MeeGo:
      1. Creare obiect utilizând MeeGo MADDE (obiecte: ARM (N900):-core MeeGo armv7l-1.1; Aava:-receptor-MeeGo ia32-1.1, MeeGo-netbook-ia32-1.1):
      2. Pentru a verifica dacă obiectele au fost instalate corect, executați următoarele comenzi:
      3. Verificăm dacă a fost creată aplicația qt-simple pentru obiectul corect, să efectuăm:

    Pentru mai multe informații despre instalarea MeeGo Touch 1.1, consultați resursa [2].

    Lansați ediția Meego-Handset [Netbook] pe emulatorul Xephyr
    1. Descărcați o imagine a ediției Meego sau a ediției de netbook-uri Meego și dezarhivați-o:

    Notă: construirile MeeGo apar zilnic, le puteți descărca de la [6].

  • Descărcați scriptul meego-sdk-chroot:
  • Configurează X pentru a lansa Xephyr:
  • Montați imaginea MeeGo în director și executați scriptul meego-sdk-chroot:

    Acum suntem în cochilie de chroot meego. Notă: Pentru a demonta imaginea, utilizați comanda: $ sudo umount. / [name_of_mount_directory]

    $ export DISPLAY =: 0; setați variabila de mediu $ zypper install meego-simulator-launcher-handset; numai pentru dispozitivul meego $ startmeego

    Când se execută ultima comandă, shell-ul MeeGo-Handset va fi lansat. Pe baza imaginii montate (Handset sau Netbook) trebuie să porniți această imagine sau acea imagine.

    MeeGo Handset pe Xephyr

    Fig. 2. Interfața MeeGo-Handset

    MeeGo Netbook pe Xephyr

    Fig. 3. UI MeeGo-Netbook

    Să lansăm calculatorul dezvoltat anterior pentru platforma Maemo pe MeeGo-Handset și MeeGo-Netbook.

    Pornirea calculatorului pe un MeeGo-Netbook
    1. Lansați MeeGo-Netbook pe emulator, așa cum se arată mai sus.
    2. Am montat directorul cu proiectul, pentru aceasta vom face următorii pași:
    • Creați un director în MeeGo-Handset:

      $ sudo mkdir [meego_netbook_mount_dir] / home / meego / cod

    • Am montat directorul cu sursa calculatorului:

      $ Sudo mount Leg [calculator_sources] / [meego_netbook_mount_dir] / home / MeeGo / codePrimechanie: executați această comandă în carcasa standard (bash).

  • Mergem la directorul montat și pornim calculatorul:

    Notă: executăm această comandă în shell-ul meego (chrome meego).

    Calculatorul lansat pe MeeGo-Netbook este prezentat în Fig. 4.

    Fig. 4. Calculator MeeGo-Netbook

    Acum, hai să rulam calculatorul pe MeeGo-Handset. Pentru a rula aplicația, trebuie să faceți aceleași pași ca și pentru MeeGo-Netbook, dar trebuie doar să rulați ansamblul MeeGo-Handset. Calculatorul lansat pe telefonul MeeGo este prezentat în Fig. 5.

    Fig. 5. Calculator MeeGo-Handset

    Așa cum se poate vedea în fig. 5. Calculatorul nu arată exact așa cum ne-am așteptat. Să vedem ce este problema. Și problema este că aplicațiile MeeGo-Handset sunt dezvoltate folosind un set special de instrumente, și anume MeeGo Touch Framework (MTF, libmeegotouch). Să vedem cum se face acest lucru.

    Modificați aplicația pentru MeeGo-Handset

    MeeGo Touch (libmeegotouch) este un instrument de dezvoltare a aplicațiilor pentru dispozitive mobile cu ecrane tactile, bazat pe Qt. Face parte din API MeeGo Platform. Oferă toate componentele necesare pentru crearea propriilor aplicații care respectă principiile MeeGo Handset UX. Instrumentul este construit pe baza Cadrului de vizualizare Qt Graphics.

    În creatorul Qt, creăm proiectul "Empty Project", adăugăm fișierele main.cpp, calculator.cpp și calculator.h la calculator. În fișierul proiectului, trebuie să specificați următoarele linii pentru MeeGo Touch instalat (MTF 1.0):

    După aceasta, putem începe schimbarea programului pentru ao folosi pe MeeGo.

    Modificări legate de MTF

    Să examinăm modificările care au afectat main.cpp:

    Pentru detalii, consultați documentația Platfrom API [4].

    Pentru a adăuga widgetul Calculator la pagina aplicației folosind metoda setCentralWidget (), aceasta trebuie moștenită din clasa QGraphicsWidget. În MTF 1.1, funcția de setare a widget-ului central al paginii setCentralWidget () are rolul de componentă MWidget instalată.

    Acestea sunt în principiu principalele modificări care au atins aplicația când migrați la MeeGo-Handset. Există câteva modificări asociate cu afișarea rezultatului calculelor cu QLCDNumber, deoarece nu exista o astfel de clasă în MTF 1.0, trebuia să o înlocuiesc cu MTextEdit.

    Rezultatul modificărilor este prezentat în Fig. 6.

    Fig. 6. Calculator MeeGo-Handset

    După cum se poate observa din modificările prezentate, migrarea aplicației pentru MeeGo-Handset nu este dificilă. De-a lungul timpului, MTF va câștiga doar funcționalitate și putere, ceea ce va oferi dezvoltatorilor mai mult spațiu de manevră și mai multe aplicații moderne și de înaltă calitate.

    concluzie

    Maemo este o platformă stabilită care are propria sa audiență și comunitate de dezvoltatori. Conține, ca avantaje și dezavantaje, că atrage sau respinge dezvoltatorii. Caracteristica principală este deschiderea platformei, dar unele componente sunt deținute. Principalul motor este Nokia, care își mută ideile și ascultă opinia comunității.

    MeeGo este o dezvoltare comună a companiilor Nokia și Intel, care începe să câștige impuls și să cucerească piața. Această platformă se bazează pe Maemo și Moblin, și a absorbit toate avantajele acestor platforme și a dobândit propriile sale.

    Ambele platforme se dezvoltă și vor fi utilizate pe scară largă în viitorul apropiat. Accentul principal este amestecat cu platforma MeeGo, care poate fi utilizată pe mai multe dispozitive, pornind de la dispozitive mobile și terminând cu televizoare. Maemo este utilizat pe dispozitivele mobile hi-end ale Nokia și este bine înrădăcinat în locul său.

    Referințe







    Articole similare

    Trimiteți-le prietenilor: