2024. április 27., szombat

Gyorskeresés

Útvonal

Cikkek » Akármi rovat

Android alkalmazásfejlesztés 2. rész: alapozunk

  • (f)
  • (p)
Írta: |

Az 1. résztől fellelkesedve ideje vágni egy féket, lefordulni a box utcába és megismerkedni az építőelemekkel!

[ ÚJ TESZT ]

Java oldal

Activity

Ellentétben a desktop alkalmazásokkal, a mobil felhasználás módja nem determinisztikus. Nem feltételezhetjük, hogy mindig ugyan ott kezdődnek a dolgok. Az Activity-k ennek a paradigmának a megoldására lettek létrehozva.

Az Activity-k az alkalmazás komponensek, azok a részek, amin a felhasználó interakciót hozhat létre a funkciók eléréséhez.

Minden Activity-nek külön felhasználói felületre van szüksége, amik általában kitöltik az egész kijelzőt, viszont olyan is lehet, ahol másik fölött helyezkedik el. Egy alkalmazás általában több Activity-t tartalmaz amik csak lazán kötődnek egymáshoz. Egy-egy interakció másik és másik Activity-re vezethet. Amikor elindul egy új Activity, az előtte lévő megáll, hátra rakja a rendszer, majd ha az új Activity
megkapja a lezáró metódusát vagy a felhasználó a „vissza” gombot használja az eszközön, visszatér az előtte lévő Activity-re. Amennyiben az utolsó Activity-hez ér a felhasználó, a rendszer a Launcher alkalmazást helyezi előtérbe. Valamint az alkalmazás kezdő Activity-jéhez is regisztrálni kell a launcher kategóriát, így az alkalmazás indulásakor ez az Activity fog elindulni. Ez egy klasszikus LIFO (Last In, First Out) sorozat. Az Activity élete hasonlít az Operációs rendszerben lévő processzek életéhez.

Fragment

A Fragment-ek reprezentálják egy alkalmazás részeit, viselkedéseit. A felhasználói felület részei és az Activity-ket bontják részekre. Kombinálhatunk több Fragment-et egy Activitybe, és egy Fragment is jelen lehet több Activity-ben. Lényegében a Fragment-ek moduláris részei egy Activity-nek. Saját életciklusuk, metódusaik vannak. Ha olyan helyzetbe kerülünk, hogy egyik képernyőről a másikra megfelelően sok információt kell átadni, akkor nem érdemes ezt két Activity-vel megoldani. Gyakran a dinamizálás és az erőforrás csökkentés érdekében célszerű Fragment-eket használni.

Intents és Intent Filters

Az Intent maga, mint szó, azt jelenti, hogy elszánt. Ebben az esetben az Intent az "Intent to do something" mondatot foglalja magában. Tehát valamilyen viselkedéshez kötődik az Intent.
Lényegében egy kommunikációs objektum, ami más részeket inicializál. Segítségével átadható a bundle másik komponensnek, valamint indíthatók új Activity-k, Service-k.

pl. új Activity indításra használható:

Intent intent = new Intent(this, MasodikActivity.class);
String message = "Ez az üzenet átkerül a MasodikActivity-hez";
intent.putExtra(ATADOTT_UZENET, message);
startActivity(intent);

Létezik explicit és implicit intent.
Az explicit az adott alkalmazáson belüli kommunikációhoz szükséges, míg az implicit, ha más alkalmazással szeretnénk kommunikálni.
Ahhoz, hogy egy Activity fogadni tudjon intenteket, szükséges a manifest file-ban definiálni ezeket filterként.
Például ha szeretnénk, hogy egy Activity képes legyen fogadni ACTION_SEND intentet, ahhoz ezt hozzá kell fűzni:

<activity android:name="SajatActivity">
<intent-filter>
<action android:name="android.intent.action.SEND"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain"/>
</intent-filter>
</activity>

Ez után ha egy másik alkalmazás az ACTION_SEND intentet próbálja meg elküldeni akkor a SajatActivity reagálni fog rá.

Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_TEXT, "Ide jön az üzenet");
sendIntent.setType("text/plain");
startActivity(sendIntent);

A cikk még nem ért véget, kérlek, lapozz!

Azóta történt

Előzmények

Hirdetés

Copyright © 2000-2024 PROHARDVER Informatikai Kft.