Met behulp van fragmenten in Android: Nieuwste die afkomstig is van Honeycomb
02 juni

Sinds de nieuwe versies van de Android SDK is favoriet en zal blijven Fragmenten gunst van de nieuwe versie van de SDK, waar mergearan 3,0 (tabletten) en 2.3 (cel). Het doel van het gebruik van Fragment is gewoon gemakkelijker om apps die goed werken in tabletten en telefoons te ontwikkelen.
Laten we eens kijken wat die zijn?
Fragmenten zijn stukjes van een activiteit. Een fragment buiten een activiteit niet bestaan. Ze zijn vergelijkbaar met de panelen alleen door met een code en een bepaald beeld wordt hergebruikbare. Kan ik een fragment gebruikt in de verschillende plaatsen waar we de gegevens in elk of Intent en de show te hebben.
Omdat ik helpen u gebruik maken van mobiele telefoons vs tabletten?
Omdat ik laat je fragmenten, bijvoorbeeld als het gaat om een tablet weer te geven een activiteit met 2 fragmenten (bijvoorbeeld een lijst van bepaalde gegevens en naast de details van de geselecteerde data) en als een mobiele telefoon te tonen 2 Activiteiten met verschillende zijn eigen Fragment (Er wordt een scherm is de lijst, klik op een toneelstuk en opent in een ander scherm detail).
Hoe zou dit zijn? Laten we eens een kleine afbeelding hieronder vinden:
Dit stelt ons in staat om code te hergebruiken, zonder bijna te raken verschillende panels om mooie en bruikbare app te maken voor beide telefoons aan tabletten.
Geweldig, ik vlok het idee! Nu .... hoe kan ik gebruiken?
Goed voor gebruik moet Fragment gewoon erven van en na zijn levenscyclus te begrijpen wat die vergelijkbaar is met dat van een activiteit.
Ten eerste wordt genoemd OnAttach zal over het algemeen niet gebruiken.
OnCreate heet dan het fragment.
Vervolgens OnCreateView van Fragment. Deze methode is heel belangrijk zal hier worden gedefinieerd als wat de lay-out zal het Fragment gebruiken! In deze methode een weergave wordt geretourneerd. Kan gebruikt worden als in het geval van menu's "opblazen" ze niet te maken van code.
OnActivityCreated worden opgeroepen door het passeren als parameter de activiteit en wordt genoemd naar het aanroepen van de OnCreate van de activiteit. In het algemeen veel van de verwerking wordt uitgevoerd bij deze werkwijze.
OnResume OnPause en worden gebruikt voor het opslaan en ophalen van de staat van het fragment in het geval de app niet meer op de voorgrond en wordt gebruikt.
Dan wordt uit de lay-out van de activiteit die zal een fragment worden gebruikt:
1 2 3 4 5 | <Fragment android: name = "com.example.news.ArticleListFragment" Android: id = "@ id + / list" Android: layout_weight = "1" Android: layout_width = "0dp" Android: layout_height = "match_parent" /> |
Android: name = "com.example.news.ArticleListFragment" <fragment android:id="@+id/list" android:layout_weight="1" android:layout_width="0dp" android:layout_height="match_parent" /> Naar het voorbeeld hadden we het voor, stel dat de eerste lijst zie ik de details van de Motorola Atrix 4G en daarna de iPhone. Ik wil terug spelen in het detail dat de iPhone te laten zien me de details van Motorola, wil niet Ik ga naar de vorige activiteit. Als we dat doen?
Wat we moeten doen is gewoon de verschillende fragmenten toe te voegen aan de activiteit Stack van de taak die we draaien. Dit gebeurt door het uitvoeren van de verandering van Fragment met een FragmentTransaction.
Een voorbeeld is het volgende
1 2 3 4 5 6 | ExampleFragment ( ) ; FragmentTransaction transaction = getFragmentManager ( ) . beginTransaction ( ) ; transaction. replace ( R. id . fragment_container , newFragment ) ; // La siguiente linea LO agrego al BackStack. ExampleFragment newFragment = new Fragment ();. FragmentTransaction getFragmentManager transactie = () BeginTransaction ();. Transactie vervangen (R. ID Fragment_container, newFragment.) / / De volgende regel toegevoegd aan LO BackStack. ( null ) ; transaction. commit ( ) ; Het is vooral belangrijk transactie AddToBackStack (null);.. Transactie Commit (); |
Fragment newFragment = new ExampleFragment (); . FragmentTransaction getFragmentManager transactie = () BeginTransaction (); transaction.replace (R.id.fragment_container, newFragment); / / De volgende regel toegevoegd aan LO BackStack. Het is vooral belangrijk transaction.addToBackStack (null); transaction.Commit ();
Dit was een mini-overzicht van Fragment, dat is wat er te hard voor nieuwe versies van Android.
Als Lionel zegt Level X: Ik hoop dat je leuk vond .......... CHAU
EDIT: Na wat onderzoek vond ik dat eigenlijk als je oudere versies Honey gebruiken om het te integreren met eerdere telefoons.
We hebben de Android Compatibility pakket en dan gewoon toevoegen aan onze Manifest voor de use_library Fragments API.
















