Android OS

M.Gžegoževskis ... 2021-10-01 Java
  • Programavimas
  • Java
About 4 min

Viena iš sričių Java (opens new window) programuotojų yra mobiliųjų aplikacijų kūrimas: telefonams, televizoriams, išmaniesiems laikrodžiams, automobiliams, projektoriams ir kitiems prietaisams. Android OS (opens new window) yra viena iš pagrindinių įrankių šiom aplikacijoms kurti. Taip pat reikia atkreipti į rekomendacijas nes atsiranda nauji įrankiai ir JVM (opens new window) programavimo kalbos pvz: Kotlin programavimo kalba galima sakyti jau iš dalies pakeitė Java (opens new window) programavimo kalbą kuriant Android OS (opens new window) aplikacijas. Android OS (opens new window) jau ilgą laiką naudojama ir turi platų spektrą įvairiausių versijų sąrašą (žr. 9.1 pav.) kiekvienam iš šių versijų yra aprašytas API (opens new window) ir pateikta detali dokumentacija, kurią rasite šiuo adresu: https://developer.android.com/reference/packages (opens new window).

android.png

9.1 pav. Android OS (opens new window) versijų sąrašas

Android OS (opens new window) galimybės, kurias programuotojas gali valdyti pasinaudojus siūlomais šios operacinės sistemos API (opens new window):

  • Storage - Uses SQLite, a lightweight relational database, for data storage.
  • Connectivity - Supports GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, and WiMAX.
  • Messaging - Supports both SMS and MMS.
  • Web browser - Based on the open source WebKit, together with Chrome's V8 JavaScript engine.
  • Media support - Includes support for the following media: H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP.
  • Hardware support - Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor, and GPS.
  • Multi-touch - Supports multi-touch screens.
  • Multi-tasking - Supports multi-tasking applications.
  • Tethering - Supports sharing of Internet connections as a wired/wireless hotspot.
  • kitos funkcijos priklausomai nuo prietaise įdiegtų sensorių.

Pradedantiesiems ieškoti medžiagos internete rekomenduojama pasinaudoti šia susisteminta medžiaga: http://guides.codepath.com/android (opens new window) kur yra pateikiamos įvairiausios pamokos, šaltinių nuorodos, vaizdo medžiaga internete ir kt. Be abejo nereikia atsisakyti ir pasinaudoti oficialia Android OS (opens new window) dokumentacija: https://developer.android.com (opens new window), kur surasite visas reikiamas instrukcijas kaip pradėti kurti mobiliąsias programėles.

Pagrindiniai Android OS (opens new window) sistemos komponentai su kuriais reikėtų susipažinti:

  • AndroidManifest.xml dokumentas, kuriame yra aprašoma visos programos meta duomenys, pateikiamia prieiga prie sensorių ar kitų funkcijų: interneto prieiga, bluetooth, atminties kortele, GPS ir t.t. Kaip atrodo Manifest dokumentas yra pateiktas 9.2 paveikslėlye.

Figure 5

9.2 pav. AndroidManifest.xml dokumento pavyzdys

  • Views - Vaizdai tai grafinės sąsajos elementai iš kurių yra sukonstruojama vartotojo grafinė sąsaja. Vaizdas gali būti: mygtukas, žymė, tekstinis laukelis ar kt. Vaizdai taip pat gali būti konteineriai, kurie sudaro hierarchiją iš vaizdų grafinė sąsajoje.

Image result for android view

9.3 pav Android OS (opens new window) vaizdas (angl. View)

  • Activity - Langas, kuriame yra atvaizduojama grafinė vartotojo sąsaja įprastai su vienu ar keliais vaizdais. Dažnai yra numatyta konkreti veikla pvz. Prisijungimo langas, Registracija, Meniu ar kt. (žr. 9.4 pav.).

9.4 pav. Android OS (opens new window) Activity pavyzdžiai

  • Fragment - Fragmentas tai kaip sub-activities, kuriuos galima perpanaudoti įvairių ekranų dydžių languose. Pavyzdžiui turime sąrašą daiktų su detalia informacija jeigu mobilaus telefono ekranas yra mažas mes galime įterpti fragmentą su daiktų sąrašu Activity A ir peržiūra detalesnio vaizdo įterpiame fragmentą į Activity B (žr. 9.5 pav.).

android_activity_fragment

9.5 pav. Fragmentų "Item List" ir "Item Details" pavyzdys

Jeigu turime aprašytą atskirą vaizdą skirtą dideliems ekranams pavyzdžiui planšetėms, tada tuos pačius fragmentus galime atvaziduoti viename Activity A (žr. 9.6 pav.).

android_activity_fragment_tablet 9.6 pav. Fragmentai "Item List" ir "Item Details" atvaizduoti didesniame ekrane

  • Intents - Perėjimai tarp vaizdų yra skirstomi į dvi kategorijas: Expicit Intent - yra valdomas programuotojo, kuris yra aprašomas ir valdomas programos lygmenyje galima perduoti duomenis į kitą activity ir pan. Implicit Intent - tai dažniausiai Android OS (opens new window) komponentai servisai, kurie yra valdomi pačios OS (opens new window), tokie kaip skambutis draugui, žemėlapio pozicija, atidaryti internetinę svetainę ir kt. (žr. 9.7 pav.).

intentas.jpg

9.7 pav. Intent tipų palyginimas

  • Content providers - turinio ar duomenų tiekėjai. Standartizuotas būdas aprašantis duomenis naudojant specifinę klasę taip įvedant lankstumo dalintis duomenimis naudojant sukurtus Content providers su kitomis aplikacijomis.

provider.jpg

9.8 pav. Content provider - turinio tiekėjas mechanizmas skirtas pasiekti duomenis iš įvairių šaltinių

  • Services - Įvairiausios išorinės ar vidinės paslaugos. Kadangi didžioji dalis servisų kaip foniniai ar kito tipo skirti apsaugoti nuo pagrindinės gijos (angl. Main Thread) apkrovimo dėl sklandaus darbo. Galima sukurti ir savo asmeninius servisus, kur atlikti bet kokias užduotis: atsiųsti duomenis, telefono pranešimą ir kt. Pavyzdys kaip sukurti asmeninį foreground tipo servisą: https://androidwave.com/foreground-service-android-example/ (opens new window).
  • SQLite (Duomenų bazė)
  • Firebase - Mobiliųjų aplikacijų serverinė dalis kaip servisas (MBaaS), apie šią platformą plačiau galite pasiskaityti šiuo adresu: https://firebase.google.com/ (opens new window).

Android projekto failų struktūra, kurios pakanka sukurti pirmąją Android mobilią programėlę (žr. 9.9 pav.).

android-components-manifest-35-638.jpg

9.9 pav. Android OS (opens new window) projekto katalogų struktūra

Last update: September 20, 2021 06:35
Contributors: Marius Gžegoževskis