Zuhause Social Media Wie man mit Fragmenten Ihre Android App programmiert - dummies

Wie man mit Fragmenten Ihre Android App programmiert - dummies

Video: Deine erste Android App in 5 Minuten - App Programmieren 2025

Video: Deine erste Android App in 5 Minuten - App Programmieren 2025
Anonim

Die Benutzeroberfläche des hier verwendeten Android-App-Beispiels hat drei Panels - eine Liste von Elementen, ein Detailpanel, das das in der Liste ausgewählte Element beschreibt. und ein Detail-in-mehr-Tiefe-Panel. Auf einem kleinen Smartphone-Bildschirm kann jede Anzeige eine separate Aktivität sein. Ein Tablettbildschirm im Querformat bietet jedoch Platz für mehr als ein Panel.

Das folgende Bild zeigt diese App mit zwei der drei Panels. Das Fenster auf der linken Seite zeigt eine Liste der Android SDK-Komponenten an. Das Feld auf der rechten Seite zeigt eine Beschreibung der gewünschten Komponente in der Liste auf der linken Seite an. (Die Beschreibung ist tatsächlich die ersten paar Sätze der SDK-Dokumentation der Komponente.) Dieses Detail-auf-der-rechts-Muster ist Teil vieler Benutzeroberflächen.

Zwei an eine Aktivität gebundene Fragmente.

Um die Anzeige zu erstellen, erstellen Sie eine Aktivität. Die Aktivität hat zwei Fragmente - ein Fragment auf der linken Seite und ein weiteres auf der rechten Seite. Das linke Fenster zeigt das gleiche Fragment während des gesamten Laufs der App an, sodass Sie dieses Fragment in der Layoutdatei der Aktivität deklarieren können. Das rechte Fenster zeigt jeweils ein Fragment an, das Fragment ändert sich jedoch während des Laufs der App. Sie deklarieren also ein Frame-Layout im rechten Bereich.


Im obigen Code teilt der android: layout_ welche Attribute den Bildschirm in zwei Hälften teilen - eine Hälfte für das Fragmentelement und die andere Hälfte für das FrameLayout-Element. Die Strategie mit diesen Attributen besteht darin, für jedes Element zunächst mindestens Null Pixel zuzuweisen. Natürlich bedeutet Null Pixel überhaupt keine Breite (was dasselbe ist wie unsichtbar zu sein). Damit die beiden Hälften des Layouts nicht unsichtbar bleiben, weisen Sie den beiden Hälften ungleich null Werte für layout_weight zu. Bei Nicht-Null-Gewichtswerten wird jede Hälfte erweitert, um den verfügbaren Platz im Layout auszufüllen.

Die Verwendung des vollständig qualifizierten Klassennamens des Fragments (com. Allmycode. Frag. ComponentNamesFragment) ist beabsichtigt. Ein abgekürzter Name (wie z. B. ComponentNamesFragment) schneidet den Senf nicht ab.

Falls Sie sich wundern, bietet Android mit den integrierten detailsElementBackground ein einheitliches Aussehen für Dinge wie die rechte Hälfte (Dinge, die Details zu einem Element anzeigen, das der Benutzer ausgewählt hat).

Der Hauptaktivitätscode der App ist beeindruckend uninteressant.

Paket com. allmycode. Frag; Import Android. App. Aktivität; Import Android. os. Bündeln; Öffentliche Klasse AllPurposeActivity erweitert Aktivität {@Override protected void onCreate (Bundle savedInstanceState) {super. onCreate (gespeicherterInstanzStatus); setContentView (R.Layout. main);}}

Der folgende Code enthält die ComponentNamesFragment-Klasse. Aufgrund des Layouts im ersten Beispiel pflanzt Android ein ComponentNamesFragment auf der linken Seite des Bildschirms des Geräts.

Paket com. allmycode. Frag; Import Android. App. FragmentManager; Import Android. App. FragmentTransaktion; Import Android. App. ListFragment; Import Android. os. Bündeln; Import Android. Aussicht. Aussicht; Import Android. Widget. ArrayAdapter; Import Android. Widget. Listenansicht; Öffentliche Klasse ComponentNamesFragment erweitert ListFragment {final static String [] COMPONENTS = {"Activity", "Service", "BroadcastReceiver", "ContentProvider"}; @Override public void onActivityCreated (Bündel savedInstanceState) {super. onActivityCreated (savedInstanceState); setListAdapter (neuer ArrayAdapter (getActivity (), android.Ray-Layout. simple_list_item_1, COMPONENTS));} @Override public void onListItemClick (ListView l, Ansicht v, int index, long id) {// Fragment mit Index erstellen DocsFragment docsFragment = neue DocsFragment (); Bündel args = Helfer. getBundleWithIndex (Index); docsFragment. setArguments (Argumente); // Lösche den Backstack FragmentManager fragmentManager = getFragmentManager (); int backStackEntryCount = FragmentManager. getBackStackEntryCount (); für (int i = 0; i 

Die Klasse im obigen Code erweitert die ListFragment-Klasse von Android. Ein ListFragment ist ein Fragment, das eine Liste anzeigt. Zu Beginn des Lebenszyklus des Fragments setzt der Code im obigen Beispiel einen Listenadapter (genauer gesagt einen ArrayAdapter) für das Fragment. Wie früh ist also "früh"?

Der erste Parameter des ArrayAdapter-Konstruktors ist ein Kontext. Aber warte! Im Gegensatz zu einer Aktivität ist ein Fragment kein Kontext. Daher können Sie das Schlüsselwort this nicht für den ersten Parameter des ArrayAdapter-Konstruktors verwenden.

Glücklicherweise hat ein Fragment eine getActivity-Methode. Ein Aufruf von getActivity erfasst die Aktivität, an die das Fragment angehängt ist. Für den ersten Parameter des ArrayAdapter-Konstruktors können Sie getActivity aufrufen. Natürlich können Sie getActivity erst aufrufen, wenn das Fragment an eine vorhandene Aktivität angehängt ist. Aus diesem Grund wird die onActivityCreated-Methode des Fragments oben überschrieben. Android ruft onActivityCreated auf, nachdem das Fragment angefügt und die onCreate-Methode der Aktivität aufgerufen wurde. Also alles funktioniert wie geplant.

Der Android. App. Die Urgroßelternklasse der Aktivitätsklasse ist Android. Inhalt. Kontext. Aber der Androide. App. Die Elternklasse der Fragmentklasse ist ein einfaches altes Java. lang. Objekt. Daher bezieht sich das Schlüsselwort in einem Aktivitätscode auf einen Kontext. Im Code eines Fragments bezieht sich das Schlüsselwort jedoch nicht auf einen Kontext.

Im obigen Beispiel hat der Konstruktor für den ArrayAdapter drei Parameter.

Der erste Parameter ist der Kontext - dieser unangenehme Parameter, der Sie dazu zwingt, den Konstruktor in die onActivityCreated-Methode einzufügen.

Der zweite Parameter ist simple_list_item_1 - ein Standard-Android-Layout.

Das Layout simple_list_item_ 1 erzeugt das Aussehen, das Sie auf der linken Seite des Bildes sehen. Android hat viele dieser Standard-Layouts. Eine Zusammenfassung der verfügbaren Layouts finden Sie auf der Entwickler-Website von Android.

Der dritte Parameter ist die Sammlung von Elementen, die in der Liste angezeigt werden.

In diesem Beispiel stammen diese Elemente aus dem Array COMPONENTS, das im selben Beispiel deklariert ist.

Wie ein ListActivity verfügt ein ListFragment über eine onListItemClick-Methode. Sie können auf einen Klick antworten, indem Sie mit einem DocsFragment, einem FragmentTransaction und einem FragmentManager arbeiten:

Das DocsFragment repräsentiert die rechte Seite des obigen Bildes.

Eine Fragmenttransaktion ist ein Bündel von Dingen, die Sie mit Fragmenten machen. Zum Beispiel ist das Einrichten, um ein Fragment durch ein anderes zu ersetzen, eine Transaktion.

Ein Fragment-Manager macht, was sein Name vermuten lässt. Es verwaltet die Ankunft und Abreise der Fragmente.

Wie man mit Fragmenten Ihre Android App programmiert - dummies

Die Wahl des Herausgebers

Wählen Sie einen Farbarbeitsbereich in Photoshop Elements 10 - Dummies

Wählen Sie einen Farbarbeitsbereich in Photoshop Elements 10 - Dummies

In Elements haben Sie die Wahl zwischen zwei Arbeitsbereichen Farben: entweder sRGB oder Adobe RGB (1998). Sie greifen auf Ihre Farb-Workspace-Einstellungen zu, indem Sie Bearbeiten → Farbeinstellungen wählen. Das Dialogfeld Farbeinstellungen wird geöffnet. Zu den Optionen im Dialogfeld "Farbeinstellungen" gehört "Keine Farbverwaltung": Mit dieser Option wird die gesamte Farbverwaltung deaktiviert. Wählen Sie nicht ...

Wählen Sie Vordergrund- und Hintergrundfarbe in Photoshop Elements - Attrappen

Wählen Sie Vordergrund- und Hintergrundfarbe in Photoshop Elements - Attrappen

Photoshop Elements ist ein Luxus-Full-Service Bildbearbeitungsprogramm, das nicht aufhört, Ihnen Werkzeuge zum Auswählen, Reparieren, Organisieren und Teilen Ihrer Bilder zu geben. Es ist wahrscheinlich, dass Sie einen Farbtupfer hinzufügen müssen, entweder mit einem Pinsel oder einem Bleistift oder in Form einer geometrischen oder organischen Form. Do not ...

Wählen Sie "Drucken" oder "Bildschirmauflösung" für Photoshop Elements 10 - Dummies

Wählen Sie "Drucken" oder "Bildschirmauflösung" für Photoshop Elements 10 - Dummies

Die Arbeit mit Elementen ist für das Drucken von Dateien von entscheidender Bedeutung. 72-ppi-Bilder können fehlerverzeihend sein, und Sie können viele Ihrer großen Dateien für Webseiten und Diashows auf 72 ppi verkleinern. Bei der Ausgabe an Druckgeräte ist es eine andere Sache. Es gibt viele verschiedene Druckausgabe-Geräte und ihre Auflösung ...

Die Wahl des Herausgebers

Wie man auf Evernote für Computer und Tablets markiert - dummies

Wie man auf Evernote für Computer und Tablets markiert - dummies

Der ganze Sinn des Speicherns von nützlichen Informationen ist um es später zu finden. Das Markieren in Evernote ist für alle Plattformen grundsätzlich ähnlich und äußerst nützlich, wenn Sie versuchen, Notizen auf das Gerät zu schreiben, das Sie gerade verwenden. So erstellen Sie ein Tag für eine Notiz auf einem Computer oder ...

Wie man Evernote Everywhere benutzt - dummies

Wie man Evernote Everywhere benutzt - dummies

Wenn du schon mit Computern gearbeitet hast, seit du aufgewachsen bist, denke, du hast alles gesehen. Bemerkenswerterweise ist Evernote das erste Stück Software, das viele Menschen je gesehen haben, geschweige denn benutzt, das ein glaubwürdiges Gleichgewicht zwischen widersprüchlichen Attributen herstellt: Es läuft fast genauso auf sehr unterschiedlichen Geräten, jedes von ...

Verwenden Sie Ihre Fotosammlung mit Evernote - Dummies

Verwenden Sie Ihre Fotosammlung mit Evernote - Dummies

, Wenn Sie bereits Fotos mit Ihrem iOS aufgenommen haben. Gerät oder Windows Phone, können Sie diese Bilder von Ihrer Kamerarolle an Evernote senden. Und so geht's:

Die Wahl des Herausgebers

Zum Anzeigen oder Ausblenden von Kommentaren in Word 2016 - dummies

Zum Anzeigen oder Ausblenden von Kommentaren in Word 2016 - dummies

Einen Kommentar zu Ihrem Word 2016-Dokument hinzufügen und der Markup-Bereich erscheint auf der rechten Seite der Seite. Der Markup-Bereich wird immer dann angezeigt, wenn ein Dokument Kommentare enthält, aber sein Aussehen wird durch die Einstellungen auf der Registerkarte "Überprüfen" gesteuert. Klicken Sie zum Ausblenden des Markup-Bereichs auf die Registerkarte Überprüfen. Klicken Sie in der Gruppe Nachverfolgung auf die ...

Wie man Text in einem Word 2007 Dokument löscht - Dummies

Wie man Text in einem Word 2007 Dokument löscht - Dummies

Die Fähigkeit, Text in Word 2007 zu löschen ist genauso wertvoll wie die Fähigkeit, diesen Text zu erstellen. Sie erstellen und zerstören Text in Word 2007 von der Computertastatur, und Sie verwenden die Mehrheit der Schlüssel, um Text zu erstellen. Nur zwei Schlüssel löschen Text: Rücktaste und Löschen. Funktionsweise dieser Schlüssel und wie ...

Wie man grundlegende Wildcard-Suchen in Word 2007 durchführt - dummies

Wie man grundlegende Wildcard-Suchen in Word 2007 durchführt - dummies

Unter Verwendung der Wildcards, können Sie Wörter in finden Ihre Word 2007-Dokumente, von denen Sie nur einen Teil kennen, oder eine Gruppe von Wörtern mit ähnlichen Buchstaben. Der Trick besteht darin, zwei grundlegende Platzhalterzeichen zu verwenden: und wo? steht für einen einzelnen Buchstaben und * steht für eine Gruppe von Buchstaben. Suchen Sie mit dem? ...