Ugrás a fő tartalomra

Android fejlesztés 1 : Alapfogalmak

 Android Stúdió használata

Telepítés után indítás:


Indításkor, ha a számítógép nincs telepítve Android SDK és más részek, akkor AndroidStudio automatikusan letölti őket. 

Az Android SDK egy programozási környezet, amely könyvtárakat, futtatható fájlokat, szkripteket, dokumentációt stb. tartalmaz.

Android SDK a program kódot minden adattal és erőforrással együtt kiterjesztésű fájlba fordítja ez lesz a .apk.file, mely mindent tartalmaz, amire szükség van egy alkalmazás telepítéséhez egy Android-eszközre.


Egy egyszerű alkalmazás létrehozása több szakaszból áll:

  • Új projekt az AndroidStudio-ban 
  • A felhasználói felület létrehozása, módosítása
  • A felület objektum tevékenységek, navigáció és műveletek hozzáadása, beállítása. Az alkalmazás logika kialakítása
  • Tesztelés, optimalizálás, javítás (alkalmazás próba az emulátorban.)


Fő alkalmazás típusok:


Az Android alkalmazás négy összetevőből áll. Minden komponens egy belépési pont, amelyen keresztül egy rendszer vagy a felhasználó hozzáférhet.

 Az android alkalmazás ugyanabból a komponensből is tartalmazhat többet. A komponensek különböző belépési pontokat biztosítanak a programunk felé.

Nem minden komponens biztosít azonban a felhasználó számára belépést a program futásba. 

1. Tevékenység (Activity)- interaktív felhasználói felület elemei.

Az egyik tevékenység bekapcsolja a másikat, és információt ad át arról, hogy a felhasználó mit szándékozik tenni az Intent osztályon keresztül. A tevékenységek olyanok, mint a weboldalak, és a szándékok olyanok, mint a linkek közöttük. Az alkalmazás elindítása a fő tevékenység.
android.app.Activity


2. Szolgáltatás (Service)- egy univerzális belépési pont, amely az alkalmazást a háttérben futtatja.

A Service az  Intent-nel szemben nem rendelkezik önálló felülettel. Általában egy háttérfolyamat, vagy elhúzódó tevékenység kiszolgálására alkalmas. Ez az összetevő hosszú ideig futó műveleteket végez, vagy távoli folyamatoknál dolgozik vizuális interfész nélkül. Maga az operációs rendszer is több Servicet igényel a normál a működéséhez
android.app.Service


3. Műsorszóró vevő (Broadcast Receiver) több résztvevő számára sugároz szándékokat az alkalmazásból.

A komponens segítségével iratkozhatunk fel az operációs rendszer alacsony szintű eseményeire. Az Android számos eseményt jelez broadcast formájában, amelyekre az alkalmazásunk is jelentkezhet
ennek segítségével.
android.content.BroadcastReceiver



4. Tartalomszolgáltató (Content Provider) kezeli az alkalmazás megosztott adatkészletét a fájlrendszerből, az SQLite adatbázisból, az internetről vagy más tárhelyről. 

A tartalom szolgáltatók használói a receiverek egy megadott sorrendben kapják meg a broadcast-et, és adhatják tovább egymásnak annak eredményét, vagy akár fel is függeszthetik a továbbadást. 

A továbbadás sorrendjét a megfelelő intent filter android:pririty attributuma határozhatja meg

A tartalomszolgáltató engedélyével bármilyen más alkalmazás hozzáférhet ezekhez az adatokhoz, akár azok lekérdezése, akár azok megváltoztatása a cél.
android.content.ContentProvider




Intent

A platformon az alkalmazások komponensei közötti adatcsere eszköze, egy-egy esemény egzakt leírására szolgál. Jellemzője, hogy nemcsak egyazon alkalmazás komponensei, de különböző programok komponensei között is megvalósíthat kommunikációt.
Sosem közvetlenül, hanem az operációs rendszeren keresztül történik a kézbesítése. 

Activity és Service komponensek esetében az Intent leír egy eseményt,  pl. megnézni, vagy küldeni valamit.
Broadcast üzenetek esetében is Intent objektumok formájában jut el az üzenet az arra feliratkozott komponensekhez.

Két fajtája van:
- Az explicit Intent pontosan meghatározza a kívánt komponenst.
- Implicit Intent esetében azonban nem nevezzük meg a kiszolgálására legalkalmasabb komponenst, hanem az operációs rendszerre bízzuk a döntést,



Első android alkalmazás (program) elkészítése

1.
Válasszuk ki az alkalmazás nevét, a vállalati tartományt, a projekt elérési útját és a csomag nevét. Jelöljük, hogy engedélyezzük-e az opcionális C ++ és Kotlin programozási nyelvek támogatását.


2.
Egy vagy több célplatformot állítottunk be az összeállításhoz. SDK-t és AVD-t, Android virtuális eszközkezelőt használ. Az eszköz lehetővé teszi olyan csomagok telepítését az SDK-ba, amelyek több Android OS-verziót és több API-szintet támogatnak (Application Programming Interfaces).

Figyeljünk rá, hogy minél alacsonyabb az Android verzió, annál több eszközön fut az alkalmazás. Minél magasabb a verzió, annál gazdagabb az API funkcionalitása.


3. 
Válasszuk ki a fő tevékenységet, amely elindul, amikor rákattint az alkalmazás ikonjára, és adjunk nevet.


4.

Néhány perc építkezés után az Android Studio megnyitja az IDE felületet. 


Ha az Android nézetet választjuk a legördülő menüből, látni fogjuk a projektfájlokat. 




Egyszerű felhasználói felület kialakítása

Az Android-alkalmazások felhasználói felülete hierarchián keresztül (FA struktura) jön létre választott elrendezések alapján (elrendezések, ViewGroup objektumok). 

Az elrendezések vezérlik a gyermek widgetek elrendezését a képernyőn, valamint maguk is közvetlenül a felhasználói felület összetevői/objektumai: gombok, szövegmezők a képernyőn stb.

Az alkalmazás felület az AndroidStudio alkalmazásban jön létre és XML fájlokban tárolódnak.

1. Az xml fájl megnyitása után vagy code vagy design módban tudunk szerkeszteni a megjelenítésen

2. Az egér húzásával hozzáadhat widgeteket a képernyőhöz a Palettáról.

3. Vegyünk például egy szövegmezőt (PlainText) mely egy EditText widget, ahová a felhasználó szöveget írhat be.

4. Például adjunk hozzá gombokat és egyéb szükségesnek gondolt elemeket.








Futtatás után megjelenik emulátor és benne a félkész program:







A választásnak megfelelően vagy java vagy kotlin nyelven kódolhatjuk a műveleteket, funkciókat







Az android alkalmazás futásának jellemzői

Az Android alkalmazás a saját homokozójában él, amely betartja a Linux biztonsági szabályait:
1. Minden alkalmazás külön felhasználó a többfelhasználós Linux rendszeren.
2. Alapértelmezés szerint a rendszer minden alkalmazáshoz egyedi felhasználói azonosítót rendel, amelyet az alkalmazás nem ismer; az összes fájl csak ehhez a felhasználói azonosítóhoz érhető el.
3. Minden folyamatnak megvan a saját virtuális gépe (VM), így a futtatható kód el van szigetelve a többi alkalmazástól.
4. Alapértelmezés szerint minden alkalmazás elindítja a saját Linux folyamatát.

A szabályok alól vannak kivételek:
Például két alkalmazásnak lehet közös felhasználói azonosítója, hogy fájlokat osszanak meg egymással.




A programból kilépés megvalósítása  ( finish();  // Kilépés) 





Megjegyzések