Új hozzászólás Aktív témák
-
-
zerohu
újonc
válasz
Kutyauto #5576 üzenetére
Igazából semmi különöset nem vártam az egyforma alap játékok tengerében a Google Play Store-ban való megjelenéstől, de az azért marhára bosszant, hogy még akkor sem jön ki az alkalmazásom ha konkrétan a nevére keresek rá a Play Store keresőjében.
Szerintem tul specialis es rovid neve van. De egyebkent ez van, ha csak nem szo szerint keresel ra valamire, akkor sosem fogja kihozni. Sajnos reklam nelkul nem igazan lehet letolteseket szerezni. Nekem van olyan jatekom amit kb. 1 eve toltottem fel, es 5-en toltottek le.
A google sose fogja ajanlani senkinek, hacsak nem fizetek erte. Magara az appra nem nem fog szo szerint rakeresni senki. -
-
bandi0000
nagyúr
válasz
Kutyauto #5560 üzenetére
Ezt szerintem rohadtul túlgondolod, vagy én nem értem a problémàt...
Ha egy komplex view-t mutatsz RecyclerView-ban, pl képpel, akkor kb 50 elem elég, hogy egyszerre lekérdezd a szervertől, kb 5-10 et làtunk egyszerre + alà fölé kell, szóval bőven elég
Mint mondtam, ha 1000 elemet is tartassz memóriában a recyclerview nem fogja legeneràlni mind az 1000 elemhez a view-t cssk annyit, amennyi szükséges
Ha használod az android paginget akkor megtudod mondani, hogy mennyi elemet húzzon be egyszerre, nem kell itt semmi matekozàs, hogy méret alapjàn csinàld ezt... A képeket meg am is asyncn módon szoktuk betölteni ha màr nagyon optimalizálni akarod a dolgot
-
bandi0000
nagyúr
válasz
Kutyauto #5558 üzenetére
Igazsàg szerint a RecylerView pont így működik, layout elemekből kb anyit tart meg, amennyi kifér a kijelzőre + felfele és lefele is kirajzol valamennyit, ahogy görgeted úgy lesz a régebbi megszüntetve és létrehozva az új. Ezért Recycler. Azzal lehet még trükközni, hogyha nem fix beégetett adataid vannak, akkor meglehet csinàlni a paginget, ott ténylegesen csak annyi adatot is fog lekérni Api-tól/adatbàzisból, amit épp megjelenít
-
bucihost
senior tag
válasz
Kutyauto #5550 üzenetére
Természetesen megreklamáltam. De eddig semmi válasz....
Reklám nem volt, egy internetes rádiónak készült az alkalmazás. 1 év alatt volt ~500 telepítés / frissítés, meg ~100 aktív felhasználó. Csak a "kényelem" maitt került fel play-ra. Így nem sipákoltak a telefonok az ismeretlen helyről származó alkalmazás miatt.... -
-
Zsoxx
senior tag
válasz
Kutyauto #5531 üzenetére
Ez az az űrlap, aminek a linkjét a fejlesztői fiók regisztrációja után küldték, hogy adjam meg a vállalkozásom (ami nincs) adatait.
A Fizetési profilban a Beállítások lapon Számlatípus: Egyéni szerepel. -
Zsoxx
senior tag
válasz
Kutyauto #5529 üzenetére
Személyes fiókot állítottam be, nem cégest. Az űrlapon nincs olyan opció, hogy NINCS vállalkozásom. És amíg nem küldöm be a vállalkozás adatait, addig áll a kifizetés. Zsákutca, nem tudom mit csináljak. Több mint 2 hete nem hagyták jóvá a fiókot, amire 2 napot mondtak.
-
Kutyauto
csendes tag
válasz
Kutyauto #5513 üzenetére
Ebből kiderült, hogy kb. miért volna ez jó, bár a végeredmény szempontjából azt hiszem végül is mindegy melyik úton éred el ugyanazt a működést. Az is kiderült, hogy ez önmagában is megint egy jó nagy falat, viszont ha a világ erre megy, akkor hosszabb távon nem érdemes lemaradni róla. Azt hiszem egyelőre jobb, ha a hagyományos módszerben lévő gyakorlatot próbálom fejleszteni, aztán egy adott ponton apró lépésben hozzá próbálni ezt az újat.
-
Zsoxx
senior tag
-
Kutyauto
csendes tag
válasz
Kutyauto #5502 üzenetére
A tts-t defaulton hagyom, nem tudok mit kezdeni vele. Közben rájöttem, hogy a médiával kapcsolatban probléma, hogy timereket használok, azokból indítok effekteket és ha az activityt kilövöm a timer alatt, akkor az hibát okoz, illetve már rég nincs fent az ablak, amikor a tiktakk még mindig megy. Ezeket megoldottam az onDestroy - okban, előbb kilövöm az esetlegesen futó timert.
-
BE4GLE
aktív tag
válasz
Kutyauto #5497 üzenetére
Szia! Nem nagyon követtem a projekted alakulását, de első ránézésre egy viewpager-nek tűnik, amit összehoztál. Abban van egy offscreen page limit, amit megváltoztathatsz, ha konzisztens működést szeretnél az oldalaidon. Feltéve, na nem túl komplexek az oldalak. Általában nem jó ötlet mindent a memóriában tartani.
-
Kutyauto
csendes tag
válasz
Kutyauto #5497 üzenetére
Az első lapon futó kód minden életciklus függvényét kiírattam és néztem a konzolon mi történik : átkattintok az elsőről a második oldalra, majd vissza.... Aztán az elsőről a harmadikra és vissza.
Elsőnél csak az onPause, majd az onResume fut le. Másodiknál van még valami, ami kiváltja az oldal újratöltését is. Át kell írnom ezt az onCreateView-t, hogy mindenképp jó legyen.
*******************************
D/EGL_emulation: app_time_stats: avg=598.44ms min=10.23ms max=6666.20ms count=12I/System.out: TAB1 fragment onPause
I/OpenGLRenderer: Davey! duration=766ms; Flags=0, FrameTimelineVsyncId=192136, IntendedVsync=38222434750298, Vsync=38222868083614, InputEventId=0, HandleInputStart=38222881628520, AnimationStart=38222881673120, PerformTraversalsStart=38222884529220, DrawStart=38223142900020, FrameDeadline=38222468083630, FrameInterval=38222881491520, FrameStartTime=16666666, SyncQueued=38223181721620, SyncStart=38223182247220, IssueDrawCommandsStart=38223183019820, SwapBuffers=38223197923120, FrameCompleted=38223201973620, DequeueBufferDuration=102100, QueueBufferDuration=2548500, GpuCompleted=38223201310720, SwapBuffersCompleted=38223201973620, DisplayPresentTime=8026311069216502372,
D/EGL_emulation: app_time_stats: avg=17.82ms min=5.02ms max=217.56ms count=41
D/EGL_emulation: app_time_stats: avg=772.65ms min=3.85ms max=4551.29ms count=6I/System.out: TAB1 fragment onResume
*************************
Aztán átkattintok az elsőről a harmadikra és vissza... Szintén a pause és a resume fut le , csak közben valamiért még belép a reklám blokk is.. de ha kiszedem az egész bannert, akkor is ugyanez van.
************************************
I/System.out: TAB1 fragment onPause
D/EGL_emulation: app_time_stats: avg=77.93ms min=3.00ms max=3133.50ms count=50
D/DynamitePackage: Instantiating com.google.android.gms.ads.ChimeraAdManagerCreatorImpl
I/Ads: This request is sent from a test device.
W/ConnectionStatusConfig: Dynamic lookup for intent failed for action: com.google.android.gms.ads.service.START
I/System.out: TAB1 fragment onResume
Ez után viszont jön még egy rakás sor, ami az előzőnél szintén nem jött. talán a kiemelt résszel van baja, ami miatt aztán megjön az onCreateView is.
I/Choreographer: Skipped 38 frames! The application may be doing too much work on its main thread.
D/EGL_emulation: app_time_stats: avg=5.34ms min=2.11ms max=30.96ms count=52
I/OpenGLRenderer: Davey! duration=941ms; Flags=0, FrameTimelineVsyncId=192481, IntendedVsync=38239284749624, Vsync=38239918082932, InputEventId=930823484, HandleInputStart=38239921690220, AnimationStart=38239921719020, .... és a többi
************************************************* -
Kutyauto
csendes tag
válasz
Kutyauto #5493 üzenetére
Bár megnézve ezt https://support.google.com/admob/answer/3016009?hl=en és ebből átkattintva ide https://support.google.com/admob/answer/7356431
és utána ennek a harmadik pontjából
https://developers.google.com/admob/android/quick-start
átkattintva ide: https://support.google.com/admob/answer/7356431
...ugyanoda jutunk, tehát az első gondolatomnak kellett volna jónak lennie, a két érték egyforma volna... csak úgy nem működik. A tesztelésre feltalált értékek közül csak felemás párosítással működik valahogy...
Megint megfájdult a fejem és belekavarodtam... :-/ pihi. -
sztanozs
veterán
-
BE4GLE
aktív tag
válasz
Kutyauto #5483 üzenetére
Szia! Pár tippet tudok adni. Kerüld a mutable listát és a mutable object-et. Final listával dolgozz, amiben data class-ok vannak kizárólag final property-vel. A sortby az eredeti listádat módosítja. Tehát van mellékhatása. A final list esetében viszont új listát kapsz, ha rendezed. Ha az elemeken valamit változtatnod kell használd a lista map metódusát és a data class copy metódusával módosítsd, amit kell. A mutable collection-öket inkább csak arra használd, hogy elemekkel töltsd fel őket. De de később már ne módosíts rajtuk. Mindig interface típussal térj vissza, sose mutable-lel.
-
bandi0000
nagyúr
válasz
Kutyauto #5475 üzenetére
Nem az öregséggel vagy épp fiatalsàggal van a gond, hanem a tudás felépítésével
Kb ezt úgy tudom elképzelni, hogy valaki elolvassa, hogy hogyan kell falat festeni, aztàn ràjön, hogy nincs fal, akkor gyorsan utánanéz, aztán megint gond van, mert nincs vakolás, glettelés stb stb
Most ha minden áron működőképesre akarod kalapálni, akkor az onCreate-ben, csinálj egy ilyen blokkot:
lifecycleScope.launch{
}
És oda rakd be a suspend fv hívásodat
-
bandi0000
nagyúr
válasz
Kutyauto #5473 üzenetére
Húha, itt azért elég sok alap dolog hiányzik...
Egyrészt ezt úgy szokás, hogy pl ha màr van viewModelled, akkor ott a mentésre hasznàlod a viewModelScope-ot, amivel ki tudsz menni az IO szálra, és ott elvégrzni a szükséges műveleteket
Visszatöltés hasonló képpen, de ha már adatbázis, és gondolom Room, akkor kézenfekvő a LiveData vagy Flow hasznàla
Apropó, mihez kell neked az async await ha màr coroutint használsz?
-
Kutyauto
csendes tag
válasz
Kutyauto #5441 üzenetére
"...A kérdés: A benne lévő AVD emulátort használom. Sajna szinte minden nap törölni kell és újra kell telepíteni , mert megdöglik, nem tud elindulni. Jó, hogy pár kattintás, de..."
Evvel kapcsolatban megírnám csak a rögzítés kedvéért, hogy mióta ( 8-10 napja talán ) átállítottam az emulátort arra, hogy teljesen külön ablakban induljon és fusson, azóta a fenti probléma nem fordult elő. -
thiclyoon
aktív tag
válasz
Kutyauto #5465 üzenetére
TL;DR: singleton viewmodel.
Igen, tudom, hogy ez antipattern - viszont egyetemen is ezt tanítják (nem mintha ez érv lenne persze...). Androidon jelenleg nincs jobb / szebb megoldás erre (tudtommal / tanáraim tudtával) - a saveinstancestate nem erre van -, úgyhogy sajnos ezzel kell menni. De ha valaki járatosabb a témában, ne tartsa magában
és persze nagyon könnyű rosszul használni, lásd például ezt (ez pont nem android, de a lényeg ugyanaz)
-
thiclyoon
aktív tag
válasz
Kutyauto #5459 üzenetére
Saját, több külön projektben újra és újra felhasználni tervezett osztályokat, funkciókat hová kell tenni?
Meg is válaszoltad
ha ugyanúgy akarod őket behúzni, mint más függőségeket, akkor pontosan ugyanúgy kell őket kezelned. De amúgy valahogy úgy néz ki ez a legtöbb esetben, hogy ha organikusan növi ki magát, akkor
- elkezded észrevenni az ismétlődéseket, újrahasználható részeket (ezzel meg is vagy),
- ezeket összeszeded, bővítgeted, és projektenként testreszabod. Itt még általában csak egy fájlhalmazról beszélünk, amiket manuálisan behúzol a projektekbe. Érdemes több projektben kipróbálni őket, hogy 1, hasznosak-e annyira, hogy tényleg ki kell őket szervezni és 2, a hibák jobban előjöjjenek -> érdemes lehet teszteket is írni, ha olyan kódról van szó,
- a fájlhalmaz bővülésével jöhet a gondolat, hogy ha már nem 2 függvényről van szó, akkor érdemes lenne verziókezelni -> összeszeded a dolgokat, és
- publikálod a kódot. Erre van sok leírás, például ez jónak tűnik. Elsőre bonyolultnak tűnhet, de nem nehéz; GitHub kell hozzá és ennyi igazából -
Kutyauto
csendes tag
-
thiclyoon
aktív tag
válasz
Kutyauto #5455 üzenetére
Ha minden igaz, a
GuestTheNext: Int
a játék állapota. Én áttérnékenum
használatára (bár azInt
tel is megoldható minden, csak szebb, könnyebb lenne előbbivel - ha nem ismered, nem gond, maradhat, ahogy van), és 4 állapotot hoznék létre: egyik lép, másik lép (ez megvolt nálad is 0 és 1 értékekkel), egyik fog jönni (az animáció után), másik fog jönni (az animáció után)(Nem tudom így mennyire világos, majd írok pszeudokódot ha úgy van. A koncepció az, hogy nem a tappolhatóságot állítod, hanem állapotokkal modellezel; amint tappolt a user, átállítod olyanra, hogy ne érdekeljen, ha tappol)
-
Új hozzászólás Aktív témák
Hirdetés
- One otthoni szolgáltatások (TV, internet, telefon)
- Samsung Galaxy Watch6 Classic - tekerd!
- MÁV topic
- Győr és környéke adok-veszek-beszélgetek
- SkyShowtime
- Norvégia átmenetileg betiltja az áramigényes kriptobányászatot
- Hitelkártyák használata, hitelkártya visszatérítés
- Miskolc és környéke adok-veszek-beszélgetek
- Nintendo Switch
- Black Myth: Wukong
- További aktív témák...
- Easun iSolar SMW 11kW Twin Hibrid inverter // Dupla MPPT // BMS // WiFi
- GAMER PC : RYZEN 7 5700G/// 32 GB DDR4 /// RX 6700 XT 12 GB /// 512 GB NVME
- GAMER MSI LAPTOP : 15,6" 144 HZ /// i5 12450H /// 16GB DDR4/// RTX 4050 6GB/// 1TB NVME
- Manfrotto 055 magnézium fotó-videófej Q5 gyorskioldóval
- Sony ECM-W2BT
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Csere-Beszámítás! RTX Számítógép PC Játékra! I3 10100F / RTX 2060 12GB / 32GB DDR4 / 500GB SSD
- RÉSZLETRE , Bankmentes , kamatmentes Asus Rog Zephyrus G16
- Bomba ár! Fujitsu LifeBook U758 - i5-8GEN I 8GB I 256GB SSD I HDMI I 15,6" FHD I W11 I Garancia!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RX 9070 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest