- Netfone
- Poco X6 5G - egy Redmi álruhában
- Nálunk is telepíthető a One UI 6.1 a Galaxy S22-re
- Samsung Galaxy S22 Ultra - na, kinél van toll?
- Honor Magic5 Pro - kamerák bűvöletében
- Mobil flották
- Sony Xperia 1 V - kizárólag igényeseknek
- Samsung Galaxy S22 és S22+ - a kis vagány meg a bátyja
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Samsung Galaxy S23 Ultra - non plus ultra
Hirdetés
-
Megjelenési dátumot kapott a PO'ed: Definitive Edition
gp Az új kiadás kevesebb mint egy hét múlva már elérhető lesz.
-
Enduro változatot kapott a Mobvoi TicWatch Pro 5
ma WearOS 3.5 rendszerrel és kettős FSTN és AMOLED kijelzővel érkezik az új modell.
-
Bocsánatot kért az Apple, mert nagyon mellélőtt a legutóbbi reklámjával
it A kreativitás szimbólumait zúzták be egy iPad-reklámban, ez pedig hatalmas felháborodást okozott.
Új hozzászólás Aktív témák
-
Karma
félisten
válasz negyedes #906 üzenetére
Lassíts egy kicsit. Egy iPhone-nyi képernyőn nem akartam regényt írni, ezért utalgattam csak a követendő irányra, de akkor most konkrétabban.
Kezdjük ott, hogy gondold át, hogy az alkalmazásod mit csinál, milyen képernyői vannak (jó közelítéssel ezek az Activityjeid); és ezekből melyik fér hozzá a DB-hez, mit csinál vele és mennyi ideig. Ha ezt a topikba leírod, bár nem kötelező, még hasznos is lehet. Ez azért kell, mert ez alapján tudod eldönteni, hogy ki legyen az adatbázis gazdája. Mint pár héttel ezelőtt említettem, ez különösen fontos - ezért is vár Contextet első paraméterként.
Ideális esetben, mondhatni alapelvként, a DB-hez csak nagyon ritkán fordulj, és sose fuss több kört mint szükséges, mert egyszerűen lassú.
Két primitív stratégiát felvázolok addig is, amíg gondolkodsz rajta.
1) (a kettőből ajánlott) Amelyik Activity adatbázist használ, az kezeli magának. Az onCreate metódusban hozod létre a DatabaseHandlert, contextként pedig this formájában az Activity-t adod meg. OnDestroyban meg bezárod. A kód többi részében pedig feltételezed, hogy a DB objektum nyitva van, és használod békésen.
2) Az alkalmazásod ugyebár több Activityből áll össze, de az Application objektum közös. Az Application osztály is Context, bár korlátozottabb jogokkal rendelkezik (nem nyúlhat a UI-hoz vagy az aktív Activity-hez például). Az adatbázishoz viszont pont elég.
Ezáltal meg tudod oldani azt, hogy induláskor egyszer kinyitod a DB-t (Application onCreate metódusban, a context ismét this), és majd a végén bezárod. Közben meg az Application egy tagváltozójában tárolod a handlert.
Van sok gány megoldás arra, hogy hogyan teszed elérhetővé az Activity-k felé: castolhatod az getApplicationContext() eredményét, csinálhatsz static mezőket, követheted a singleton mintát... Vagy használhatsz IoC jellegű logikát is.A lényeg az, hogy legyen meg a teljes életciklus fejben.
[ Szerkesztve ]
“All nothings are not equal.”
Új hozzászólás Aktív témák
- eBay-es kütyük kis pénzért
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Kodi és kiegészítői magyar nyelvű online tartalmakhoz (Linux, Windows)
- QNAP hálózati adattárolók (NAS)
- Autós topik
- Soundbar, soundplate, hangprojektor
- Milyen RAM-ot vegyek?
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Netfone
- antikomcsi: Való Világ: A piszkos 12 - VV12 - Való Világ 12
- További aktív témák...
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: Ozeki Kft.
Város: Debrecen