Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 9 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 18.10.08
Prihlásený: 20.11.20
Príspevky: 450
Témy: 105
Bydlisko: PK
Príspevok NapísalOffline : 19.11.2015 22:05

Ahojte, mam trocha problem kedy pouzit fragment a kedy activitu..mate nejaku radu ako to rozlisit?







_________________
PC: CPU: Intel® Core™i5-750 processor 2,66GHz, MB: MSI, So1156, iP55, VGA: SAPPHIRE VAPOR-X HD 4890 2GB GDDR5 PCI-E OC, RAM: 4GB 1600MHz DDR3, HDD: WD 7501 AALS 750GB, 7200RPM, Serial ATA II. 32MB, CASE: Max Cube Amoris 6010
Book: Asus ux32ln
Phone: Samsung Note 4

Zivot je svina, nikdy sa nim nenechaj zlomit
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 05.04.11
Príspevky: 1693
Témy: 50
Bydlisko: Žilina, Pop...
Príspevok NapísalOffline : 20.11.2015 0:04

Fragment si predstavuj len nieco ako component aktivity, Google ich vytvoril za ucelom optimalizacie rozlisenia obrazovky a jedine vyuzitie som videl iba v tom ze v landscape mode mozes zobrazit 2 fragmenty naraz. Osobne ako pracujuci android vyvojar som nazoru ze je to najvacsi odpad aky google kedy vydal. Fragmenty maju velmi zlozity lifecycle ktory som nikdy nechcel pochopit a v principe robi len obaluje view do skupiny lifecyclov. https://corner.squareup.com/2014/10/advocating-against-android-fragments.html nieco na precitanie, ale hovorim ti rovno nie je to nic pre zaciatocnikov. Ja v praxi skoro vobec nepouzivam fragmenty (vynimka MapFragment) a vsetko robim len vo view-och. Pracovat ale len s view-my ma svoje nedostatky ako napriklad ked robis nejake in-app purchases a potrebujes citat vysledky v onActivityResult() funkcie aktivity. Na jednoduche veci ti odporucam https://github.com/neevek/Paginize alebo si skus naimplementovat nejaky vlastny backstack view-ov.

U mna napriklad aktivita vyzera takto :

Kód:
public class Activity : ParentActivity(R.layout.layout, navigation = Navigation.DRAWER)


a dalej je len view :

Kód:
class Model(nejake property)

interface Events { ... eventy co sa deju vo view-e su to v principe Observables https://github.com/ReactiveX/RxJava }

fun createModel(runner: TaskRunenr, events: Events) = Model(... )

class View(context: Context, attrs: AttributeSet, val setup: (Events) -> Model) : SuperLayout(context, attrs), Events { ... }







_________________
rMBP 13 2015
iPhone 7
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 18.10.08
Prihlásený: 20.11.20
Príspevky: 450
Témy: 105
Bydlisko: PK
Príspevok Napísal autor témyOffline : 23.11.2015 22:14

Dik..vidim ze to chce dost praxe..







_________________
PC: CPU: Intel® Core™i5-750 processor 2,66GHz, MB: MSI, So1156, iP55, VGA: SAPPHIRE VAPOR-X HD 4890 2GB GDDR5 PCI-E OC, RAM: 4GB 1600MHz DDR3, HDD: WD 7501 AALS 750GB, 7200RPM, Serial ATA II. 32MB, CASE: Max Cube Amoris 6010
Book: Asus ux32ln
Phone: Samsung Note 4

Zivot je svina, nikdy sa nim nenechaj zlomit
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 18.10.08
Prihlásený: 20.11.20
Príspevky: 450
Témy: 105
Bydlisko: PK
Príspevok Napísal autor témyOffline : 28.11.2015 14:06

Mozem sa este spytat? Ak mam navigationDrawer..tu bocnu listu..a chcem aby po kliknuti na niekt poluzku sa mi zobrazila napr aktivita, ale stale tam bol aktivny ten anvigationDrawer..jednodo neviem pouzit ten navigation drawer a zobrazovat s nim vsetky mozne aktivity..







_________________
PC: CPU: Intel® Core™i5-750 processor 2,66GHz, MB: MSI, So1156, iP55, VGA: SAPPHIRE VAPOR-X HD 4890 2GB GDDR5 PCI-E OC, RAM: 4GB 1600MHz DDR3, HDD: WD 7501 AALS 750GB, 7200RPM, Serial ATA II. 32MB, CASE: Max Cube Amoris 6010
Book: Asus ux32ln
Phone: Samsung Note 4

Zivot je svina, nikdy sa nim nenechaj zlomit
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 05.04.11
Príspevky: 1693
Témy: 50
Bydlisko: Žilina, Pop...
Príspevok NapísalOffline : 28.11.2015 15:26

NavigationDrawer s takymto pristupom je celkom narocna vecicka, on je defaultne urobeny na fragmenty ale nic nie je nemozne. Urobis si aktivitu v ktorej budes narabat s drawerom, teda vsetko mozne ako onClick listenery a pod a namiesto zamienania fragmentu tak len nastartujes aktivitu, ktora musi byt samozrejme potomkom tejto aktivitu. Urob si dobre layout-y a mas to :) odporucam ale aktivitu spustat az po tom, co zatvoris drawer, je tam na to listener tak isto.







_________________
rMBP 13 2015
iPhone 7
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 18.10.08
Prihlásený: 20.11.20
Príspevky: 450
Témy: 105
Bydlisko: PK
Príspevok Napísal autor témyOffline : 28.11.2015 17:50

Zatial to skusam s tymi fragmetami..problem je ze vo funkcii public
Kód:
void onNavigationDrawerItemSelected(int position)
mam nasledovny kod
Kód:
        switch (position){
            default:
            case 0:
                fragment = new UvodnaObrazovka();
                break;
            case 1:
                fragment = new UvodnaObrazovka();
                break;
        }


a ak spustim appku, tak tie fragmenty sa prekrivaju jeden cez druheho..proste button z jedneho fragmentu aj z druheho su na obrazovke..Nie zo zaciatku, ale ked ovorim jeden aj druhy..







_________________
PC: CPU: Intel® Core™i5-750 processor 2,66GHz, MB: MSI, So1156, iP55, VGA: SAPPHIRE VAPOR-X HD 4890 2GB GDDR5 PCI-E OC, RAM: 4GB 1600MHz DDR3, HDD: WD 7501 AALS 750GB, 7200RPM, Serial ATA II. 32MB, CASE: Max Cube Amoris 6010
Book: Asus ux32ln
Phone: Samsung Note 4

Zivot je svina, nikdy sa nim nenechaj zlomit
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 05.04.11
Príspevky: 1693
Témy: 50
Bydlisko: Žilina, Pop...
Príspevok NapísalOffline : 28.11.2015 23:08

Kód:
 default: break;

ti tam hlavne chyba a default sa dava ako posledna moznost

kedze ti nevidim moc do layouto-u a vacsej casti kodu tak ti viac pomoct neviem
skus tu nakopirovat celu aktivitu radsej :)







_________________
rMBP 13 2015
iPhone 7
Offline

Užívateľ
Užívateľ
Android Activity/Fragment

Registrovaný: 18.10.08
Prihlásený: 20.11.20
Príspevky: 450
Témy: 105
Bydlisko: PK
Príspevok Napísal autor témyOffline : 16.12.2015 20:48

Nakoniec som sa vykaslal na cely panel..uz neboli nervy :D ale dik moc za ochotu. Urcite sa nato este pozriem.







_________________
PC: CPU: Intel® Core™i5-750 processor 2,66GHz, MB: MSI, So1156, iP55, VGA: SAPPHIRE VAPOR-X HD 4890 2GB GDDR5 PCI-E OC, RAM: 4GB 1600MHz DDR3, HDD: WD 7501 AALS 750GB, 7200RPM, Serial ATA II. 32MB, CASE: Max Cube Amoris 6010
Book: Asus ux32ln
Phone: Samsung Note 4

Zivot je svina, nikdy sa nim nenechaj zlomit
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 14.04.09
Prihlásený: 18.01.22
Príspevky: 1188
Témy: 198
Príspevok NapísalOffline : 14.01.2016 11:52

Pocul som uz viacero android developerov odsudzovat fragmenty. Ja osobne ich pouzivam a funguju mi dobre, takze tato tema je velmi diskutabilna a velmi rad by som si precital nejaky silny argument, ktory je proti fragmentom. Zatial som ziadny nenasiel.

Najprv odpoviem na otazku:
Fragmenty mozes pouzivat ako jednotlive sekcie aktivity. Myslim si, ze zalezi od toho, aku appku vyvyjas. Ale vzdy sa oplati zgrupit fragmenty jedneho druhu pod osobitne aktivity. Nikdy nemam 1 aktivitu a vela fragmentov, ak to nie je nejaka primitivna appka. Ale zriedka sa stane, ze mam 1 aktivitu s 1 fragmentom. Ja osobne si v tom vytvaram nasledujucu logiku. Predstav si, ze mas jednu obrovsku obrazovku (vela priestoru). Mozes, cisto teoreticky, na nu nahadzat vsetky fragmenty tak, ze obrazovka bude davat zmysel ? V tom pripade sprav aktivitu ako danu obrazovku s prislusnymi fragmentami. Kazdy fragment moze byt pritom kludne dalsia osobitna obrazovka, cize len prepinas fragmenty. To, kolko fragmentov bude mat uz jedna aktivita a ake budu, to je na tebe, je to pomocka pre teba, rob ich tak, ako sa ti s nimi bude dobre narabat. Nema ti to pracu stazit ale ulahcit :) . Nema ti to vytvarat kopu kodu, ale rozvrstvenie.

Osobne by som ti dal tieto rady pri pouzivani:
- vykasli sa na fragmenty, ak ich chces kombinovat so support library. Ano - vtedy je to naozaj bolest. Vtedy budes narazat na problemy, ktore ti budu pracu komplikovat a je lepsie ist do viewov. Akonahle mas pouzivat Activity alebo Fragment object so support library, radsej to nerob. Ja robievam appky s minimal SDK v 14, tam sa to da.
- fragmenty ti daju velmi lahky sposob, ako vytvarat animacie. napriek tomu sa nesnaz vsetko pchat do fragmentov, len aby si ich dosiahol.
- na vnorene fragmenty zabudni, dokym tvoj minimal sdk nie je aspon api 17. alebo na ne zabudni celkovo :)
- do fragmentov pchaj iba kod suvisiaci s fragmentom. to je vacsinou kod suvisiaci s layoutom, ktory mas vo fragmente. handlovanie requestu na server napriklad nepovazujem za vec suvisiacu s fragmentom, pretoze taky request mozes chciet teoreticky pouzit aj inde, asi vzdy. "Rozrolovanie detailov" vo fragmente je ale napriklad vec ktora sa tyka cisto fragmentu, tak pojde do metody, ktoru ma fragment.

Precital som si aj clanok od XOLOO ( https://corner.squareup.com/2014/10/advocating-against-android-fragments.html ) ale znova nic presvedcive som tam nenasiel. Zlozity lifecycle ? Noaco, nemam s tym problem. Hard to debug ? Not hard enough aby som ich nepouzil, vlastne som s tym nikdy problem este nemal. Layout logika ze je spojena s fragmentom ? To je podla mna vyhoda, lepsie strukturovanie kodu. Tazsie pisanie testov ? Mozno, ale chcem priklad. Ze su async ? Noaco. Fragment creation magic ? Nepouzivaj support library na ne. Ten example of usage co tam je spomenuty ? Mne sa viac paci Fragment verzia. atd atd :)

//edit: a co sa tyka toho nawigationdraweru a switchu.
switch nemusi mat nutne default, takze mu tam nechyba. niekedy netreba byt tak hrozne striktny.
ak chces pomoc s navigationdrawerom, zaloz novu temu, ja ho pouzivam, je to pekny element a funguje jednoducho.







_________________
CPU: Intel core i5 3470 GPU: Gigabyte N760OC-2GD MB: MSI B75A-G43 RAM: DDRAM3 8GB (2x4GB) TEAM RAM 1600MHz Elite Zdroj: Seasonic G Series 450W HDD: 500GB vybraty z notebooku Lenovo E531 i5-3230M N4IBPXS SSD:Samsung 840 Evo 250GB Case: Fractal Define R4 black pearl FAN: Cooler Master Hyper 212+ EVO DVD: SAMSUNG DVD±R/±RW/RAM SH-224DB SATA, černá, bulk OS: Ubuntu 12.04 64bit & Windows 7 Ultimate 64bit Monitor: Dell U2412m
Odpovedať na tému [ Príspevkov: 9 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Android to Android migracia

v Ostatné programy

4

1072

16.07.2019 16:14

tatko Tom Zobrazenie posledných príspevkov

Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie. Android

v Ostatné

2

655

19.06.2011 20:54

Bajzik Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android

v Android, iOS, Windows Phone (Mobile)

2

510

28.03.2013 8:32

Echo Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android

v Mobilné zariadenia

7

662

18.11.2010 14:56

Spartan.Ex Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. android lenovo

v Mobilné zariadenia

16

668

28.01.2014 19:49

Smith Wesson Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android - 300e

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Mobilné zariadenia

59

1428

10.10.2013 10:13

kllr007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Kalendar Android

v Mobilné zariadenia

3

605

04.12.2014 20:42

XOLOO Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android/iOS

v Mobilné zariadenia

2

374

12.12.2020 16:37

stiv Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android témy

v Smartfóny a tablety

2

1957

28.08.2011 20:12

screw Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android watch

v Mobilné zariadenia

2

326

31.05.2015 20:46

elboro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [Android] Shortcuts

v Android, iOS, Windows Phone (Mobile)

0

469

21.11.2014 23:35

Spixy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android APP

v Android, iOS, Windows Phone (Mobile)

2

1296

14.05.2022 14:09

Smith Wesson Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android ~160€

v Mobilné zariadenia

2

382

22.05.2015 21:07

cpt.chill Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Android hry

[ Choď na stránku:Choď na stránku: 1, 2 ]

v Smartfóny a tablety

36

2328

09.07.2016 12:10

kllr007 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Lightroom android

v Mobilné zariadenia

0

448

15.02.2016 20:30

SpL1tt3r Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Symbian - Android

v Ostatné operačné systémy

3

2082

15.08.2010 18:46

Nanosonda Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra