[ 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 | 105
Bydlisko: PK
NapísalOffline : 19.11.2015 22:05 | Android Activity/Fragment

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 | 50
Bydlisko: Žilina, Pop...
NapísalOffline : 20.11.2015 0:04 | Android Activity/Fragment

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 | 105
Bydlisko: PK
Napísal autor témyOffline : 23.11.2015 22:14 | Android Activity/Fragment

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 | 105
Bydlisko: PK
Napísal autor témyOffline : 28.11.2015 14:06 | Android Activity/Fragment

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 | 50
Bydlisko: Žilina, Pop...
NapísalOffline : 28.11.2015 15:26 | Android Activity/Fragment

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 | 105
Bydlisko: PK
Napísal autor témyOffline : 28.11.2015 17:50 | Android Activity/Fragment

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 | 50
Bydlisko: Žilina, Pop...
NapísalOffline : 28.11.2015 23:08 | Android Activity/Fragment

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 | 105
Bydlisko: PK
Napísal autor témyOffline : 16.12.2015 20:48 | Android Activity/Fragment

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ý: 20.09.24
Príspevky: 1188
Témy: 198 | 198
NapísalOffline : 14.01.2016 11:52 | Android Activity/Fragment

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
 [ Príspevkov: 9 ] 


Android Activity/Fragment



Podobné témy

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

Android tv box S905x 2GB/16GB Android 7.1.2 za výhodnú cenu

v Kôš

0

94

18.08.2017 9:27

Smith Wesson

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

Android to Android migracia

v Ostatné programy

4

1468

16.07.2019 16:14

tatko Tom

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

Android

v Ostatné

2

840

19.06.2011 20:54

Bajzik

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

Android

v Mobilné aplikácie

2

674

28.03.2013 8:32

Echo

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

Android

v Prenosné zariadenia

7

841

18.11.2010 14:56

Spartan.Ex

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

Android ~160€

v Prenosné zariadenia

2

471

22.05.2015 21:07

cpt.chill

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

2794

09.07.2016 12:10

kllr007

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

Symbian - Android

v Smartfóny a tablety

3

2182

15.08.2010 18:46

Nanosonda

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

Linpack- Android

v Benchmarky a diagnostické programy

2

742

07.05.2011 13:05

Mindfreak

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

android gps

v Sieťové programy

11

532

07.03.2012 23:14

ac.milan

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

Android aplikacie

v Hry a herné konzoly

1

525

24.04.2015 13:43

lacko4444122

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

Android programovanie

v Mobilné aplikácie

27

10091

22.02.2012 15:34

S-player

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

Android tablet

v Prenosné zariadenia

1

497

22.11.2015 0:22

liqua1

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

multiremote, android

v Unix-like systémy

0

563

11.01.2011 20:59

riki137

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

Android market

v Smartfóny a tablety

4

901

17.11.2011 13:34

Mushuu

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

Android koder

v Ponuka a dopyt práce

0

883

28.10.2012 16:43

beks



© 2005 - 2026 PCforum, edited by JanoF