Bildergalerie in Java für Android mit Headless Oracle Content Management erstellen

Einführung

Die Android-Entwicklungsumgebung mit Java oder Kotlin kann ein leistungsstarkes Tool zum Erstellen von Anwendungen sein, die Inhalte aus Oracle Content Management nutzen. Bewaffnet mit dem richtigen Content-Modell können Sie schnell die Android-UI erstellen, die eine typische Bildergalerie bildet.

In diesem Tutorial erstellen wir eine einfache Bildgalerieanwendung für Android mit Java, indem wir Oracle Content Management als Headless-CMS nutzen. Dieses Android-Beispiel ist unter GitHub verfügbar. Das Tutorial besteht aus drei Schritten:

  1. Oracle Content Management vorbereiten
  2. Bildergalerie in Android Studio erstellen
  3. Anwendung ausführen

Voraussetzungen

Bevor Sie mit diesem Tutorial fortfahren, sollten Sie zuerst die folgenden Informationen lesen:

Um diesem Tutorial zu folgen, benötigen Sie:

Was wir bauen

Unsere Bildergalerie besteht aus mehreren Seiten mit Bildern von Speisen und Getränken, die in einem Café erhältlich sind.

Dieses Bild zeigt die Galerie-Demo, Bohren in die Kategorie der Frühstücksnahrung mit verschiedenen Arten von Bagels, einige mit Sahne oder Streicheln oder beides.

Kategorien sind untergeordnete Knoten einer Taxonomie und können in Hierarchien organisiert werden. Für unsere Bildergalerie möchten wir alle verfügbaren Kategorien unabhängig von der Organisation anzeigen. Dazu müssen zuerst die verfügbaren Taxonomien gefunden werden, die wir mit der GetTaxonomiesRequest-Klasse der Oracle Content Management-Library zum Einrichten und Anfordern verwenden.

Hinweis: Die Implementierung von GetTaxonomiesRequest verwendet das GET der REST-API-Ressource /published/API/v1.1/taxonomies.

Für jede gefundene Taxonomie erhalten wir ihre Kategorien. Dazu verwenden Sie die GetTaxonomyCategoriesRequest-Klasse der Oracle Content Management-Library.

Hinweis: Die Implementierung von GetTaxonomyCategoriesRequest verwendet das REST-API-GET /published/API/v1.1/taxonomies/{id}/categories.

Für jede zurückgegebene Taxonomiekategorie wird eine Vorschau angezeigt, die aus dem Kategorienamen, der Anzahl der Bilder in der Kategorie und den Thumbnail-Wiedergaben für die ersten vier Bilder besteht.

Diese Abbildung zeigt Bilder in der Kategorie Frühstück.

Hinweis: Neben der Veröffentlichung der digitalen Assets, die angezeigt werden sollen, müssen Sie auch die Taxonomien im Channel veröffentlichen.

Um fortzufahren, benötigen Sie ein aktives Abonnement für Oracle Content Management und müssen mit der Rolle "Content Administrator" angemeldet sein.

Schritt 1: Oracle Content Management vorbereiten

Dieses Tutorial basiert auf der Annahme, dass Sie Ihr Asset-Repository erstellt haben und derzeit über ein leeres Inhaltsmodell verfügen (d.h. keine Inhaltstypen erstellt wurden).

Wenn noch keine Oracle Content Management-Instanz vorhanden ist, finden Sie unter Schnellstart Informationen zur Registrierung für Oracle Cloud, zum Provisioning einer Oracle Content Management-Instanz und zum Konfigurieren von Oracle Content Management als Headless-CMS.

Für dieses Tutorial müssen Sie ein Contentmodell auf zwei Arten erstellen. Es ist ein downloadfähiges Asset Pack verfügbar, das Ihr leeres Repository mit Inhaltstypen und zugehörigen Inhalten füllt, oder Sie können ein eigenes Contentmodell und einen eigenen Inhalt erstellen.

So bereiten Sie Oracle Content Management vor:

  1. Erstellen Sie ein Kanal- und Asset-Repository.
  2. Oracle Content Management-Beispielassetpaket importieren
  3. Eigene Imageassets hochladen
  4. Taxonomien erstellen und mit Bildassets verknüpfen

Channel- und Asset-Repository erstellen

Sie müssen zunächst einen Kanal und ein Asset-Repository in Oracle Content Management erstellen, damit Sie Inhalte veröffentlichen können.

So erstellen Sie einen Kanal und ein Asset-Repository in Oracle Content Management:

  1. Melden Sie sich als Administrator bei der Oracle Content Management-Webbenutzeroberfläche an.

  2. Wählen Sie im linken Navigationsmenü Inhalt aus, und wählen Sie Kanäle veröffentlichen aus der Auswahlliste im Seitenheader aus.

    Diese Abbildung zeigt die Option "Veröffentlichungskanäle", die im Dropdown-Menü im Header der Seite "Inhalt" ausgewählt wurde.

  3. Klicken Sie in der oberen rechten Ecke auf Erstellen, um einen neuen Channel zu erstellen. Benennen Sie den Kanal "OCEImageGalleryChannel" für dieses Tutorial, und halten Sie den Zugriff öffentlich. Klicken Sie auf Speichern, um den Channel zu erstellen.

    Diese Abbildung zeigt den Bereich für die Veröffentlichungskanaldefinition mit "OCEImageGalleryChannel" im Feld für den Kanalnamen.

  4. Wählen Sie im linken Navigationsmenü Inhalt, und wählen Sie dann Repositorys aus der Auswahlliste im Seitenheader aus.

    Diese Abbildung zeigt die im Dropdown-Menü im Header der Seite "Inhalt" ausgewählte Option "Repositorys".

  5. Klicken Sie in der oberen rechten Ecke auf Erstellen, um ein neues Asset-Repository zu erstellen. Benennen Sie das Asset-Repository "OCEImageGalleryRepository" für dieses Tutorial.

    Diese Abbildung zeigt den Bereich für die Repository-Definition mit "OCEImageGalleryRepository" im Feld für den Repository-Namen.

  6. Wählen Sie im Feld Kanäle veröffentlichen die Option OCEImageGalleryChannel aus, um Oracle Content Management anzugeben, dass der Inhalt im Repository OCEImageGalleryRepository im Kanal OCEImageGalleryChannel veröffentlicht werden kann. Klicken Sie auf Speichern, wenn Sie fertig sind.

    Diese Abbildung zeigt den Bereich für die Repository-Definition mit "OCEImageGalleryChannel" im Feld "Veröffentlichungskanäle".

Oracle Content Management-Beispielassetpaket importieren

Sie können ein vorkonfiguriertes Oracle Content Management-Beispielassetpaket mit allen erforderlichen Inhaltstypen und -assets für dieses Tutorial herunterladen.

Sie können eine Kopie des in diesem Tutorial verwendeten Inhalts aus dem Oracle Content Management Samples Asset Pack hochladen. Dadurch können Sie mit den Inhaltstypen experimentieren und den Inhalt ändern. Laden Sie das Asset Pack-Archiv OCESamplesAssetPack.zip herunter, und extrahieren Sie es in ein Verzeichnis Ihrer Wahl:

  1. Laden Sie das Oracle Content Management Samples Asset Pack (OCESamplesAssetPack.zip) von der Oracle Content Management-Seite für Downloads herunter. Extrahieren Sie die heruntergeladene ZIP-Datei in einen Speicherort auf Ihrem Computer. Nach dem Extrahieren enthält dieser Speicherort eine Datei mit dem Namen OCEImageGallery_data.zip.

  2. Melden Sie sich als Administrator bei der Oracle Content Management-Webbenutzeroberfläche an.

  3. Wählen Sie im linken Navigationsmenü Inhalt, und wählen Sie dann Repositorys aus der Auswahlliste im Seitenheader aus. Wählen Sie jetzt OCEImageGalleryRepository aus, und klicken Sie in der oberen Aktionsleiste auf die Schaltfläche Inhalt importieren.

    Diese Abbildung zeigt die Seite "Repositorys", auf der das Element OCEImageGalleryRepository ausgewählt ist.

  4. Laden Sie OCEImageGallery_data.zip von Ihrem lokalen Rechner in den Ordner Dokumente hoch.

    Diese Abbildung zeigt den Bildschirm zur Uploadbestätigung für die Datei OCEImageGallery_data.zip.

  5. Wählen Sie nach dem Hochladen OCEImageGallery_data.zip aus, und klicken Sie auf OK, um den Inhalt in das Asset-Repository zu importieren.

    Diese Abbildung zeigt die ausgewählte OCEImageGallery_data.zip-Datei mit aktivierter Schaltfläche "OK".

  6. Nachdem der Inhalt erfolgreich importiert wurde, navigieren Sie zur Seite Assets, und öffnen Sie das Repository OCEImageGalleryRepository. Alle zugehörigen Bilder und Inhaltselemente wurden dem Asset-Repository hinzugefügt.

    Diese Abbildung zeigt das Repository OCEGettingStartedRepository mit allen Assets, die gerade importiert wurden.

  7. Klicken Sie oben links auf Alle auswählen und dann auf Veröffentlichen, um alle importierten Assets zum Veröffentlichungskanal hinzuzufügen, den Sie zuvor erstellt haben: OCEImageGalleryChannel.

    Diese Abbildung zeigt das Repository OCEImageGalleryRepository, wobei alle Assets ausgewählt sind und die Option "Veröffentlichen" in der Aktionsleiste sichtbar ist.

  8. Vor dem Veröffentlichen müssen Sie alle Assets validieren. Fügen Sie zuerst OCEImageGalleryChannel als ausgewählten Channel hinzu, und klicken Sie dann auf die Schaltfläche Validieren.

    Diese Abbildung zeigt die Seite "Validierungsergebnisse", wobei der Kanal OCEImageGalleryChannel im Feld "Kanäle" hinzugefügt, alle zu validierenden Assets und die Schaltfläche "Validieren" aktiviert sind.

  9. Nachdem die Assets validiert wurden, veröffentlichen Sie alle Assets im ausgewählten Channel, indem Sie in der oberen rechten Ecke auf die Schaltfläche Veröffentlichen klicken.

    Diese Abbildung zeigt die Seite "Validierungsergebnisse", wobei der Kanal OCEImageGalleryChannel im Feld "Kanäle" hinzugefügt, alle Assets validiert und die Schaltfläche "Veröffentlichen" aktiviert ist.

Anschließend können Sie auf der Seite Anlagen sehen, dass alle Assets veröffentlicht wurden. (Sie können das Symbol über dem Assetnamen angeben.)

Diese Abbildung zeigt die Seite "Anlagen", auf der alle Anlagen abgelegt wurden.

Nachdem Sie das Oracle Content Management Samples Asset Pack importiert haben, können Sie mit dem Erstellen der Bildergalerie in Android Studio beginnen.

Eigene Imageassets hochladen

Für dieses Tutorial verwenden wir ein Asset-Repository namens "OCEImageGalleryRepository", um die Homepage für unsere Galerie-Website zu erstellen. Diese Homepage besteht aus dem Titel "Bildgalerie" sowie Bildsammlungsalben, in denen Bildassets enthalten sind.

Diese Abbildung zeigt die Homepage für die Bildergalerie mit Bildern verschiedener Bildkategorien: Sandwiches, Getränke, Dessert, Frühstück und Essen.

So fügen Sie Bildassets zum Galerieasset-Repository hinzu:

  1. Melden Sie sich bei der Oracle Content Management-Webbenutzeroberfläche an.

  2. Klicken Sie im linken Navigationsmenü auf Assets.

  3. Öffnen Sie das OCEImageGalleryRepository-Repository.

  4. Klicken Sie in der oberen rechten Ecke der Seite auf Hinzufügen, um Bildassets zum Galerieasset-Repository hinzuzufügen.

    Diese Abbildung zeigt die Seite "Assets" mit geöffnetem Inhalt und geöffnetem Dropdown-Menü "Hinzufügen". Es werden zwei Optionen angezeigt: "Aus Dokumenten hinzufügen" und "Auf diesem Computer hinzufügen".

  5. Laden Sie Ihre eigenen neuen Assets vom lokalen Rechner hoch, oder wählen Sie vorhandene Assets aus, die bereits in Oracle Content Management vorhanden sind.

Sie müssen eine Taxonomie in Oracle Content Management erstellen und den Assets in Ihrem Repository dann Kategorien zuweisen.

So erstellen Sie eine Taxonomie in Oracle Content Management:

  1. Melden Sie sich als Administrator bei der Oracle Content Management-Webbenutzeroberfläche an.

  2. Wählen Sie im linken Navigationsmenü Inhalt aus, und wählen Sie dann Taxonomien aus der Auswahlliste im Seitenheader aus.

    Diese Abbildung zeigt die im Dropdown-Menü im Header der Seite "Inhalt" ausgewählte Option "Taxonomien".

  3. Klicken Sie in der oberen rechten Ecke auf Erstellen, um eine neue Taxonomie zu erstellen. Benennen Sie den Kanal "OCEImageGalleryTaxonomy" für dieses Tutorial.

    Diese Abbildung zeigt den Bereich "Taxonomiedefinition" mit "OCEImageGalleryTaxonomy" im Feld "Taxonomiename".

  4. Klicken Sie auf Erstellen.

  5. Erweitern Sie jetzt die Taxonomie, indem Sie Kategorien hinzufügen. Klicken Sie auf Kategorie hinzufügen.

    Diese Abbildung zeigt die Seite "Kategorie hinzufügen" für die Taxonomie "OCEImageGalleryTaxonomy".

  6. Benennen Sie den übergeordneten Kategorieartikel "Food", und fügen Sie die folgenden untergeordneten Kategorien hinzu:

    • Frühstück
    • Nachtisch
    • Getränke
    • Sandwiches

    Klicken Sie oben rechts auf dem Bildschirm auf Fertig.

    Diese Abbildung zeigt die Kategoriedefinitionsseite mit "Food" als übergeordnete Kategorie und diesen untergeordneten Kategorien: Frühstück, Dessert, Getränke und Sandwiches.

  7. Wählen Sie auf der Seite "Taxonomien" die Taxonomie OCEImageGalleryTaxonomy aus, und klicken Sie in der Aktionsleiste auf Hochstufen, um sie für die Verwendung in Ihren Asset-Repositorys verfügbar zu machen.

    Diese Abbildung zeigt die in der Liste ausgewählte OCEImageGalleryTaxonomy-Taxonomie, wobei die Option "Hochstufen" in der Aktionsleiste sichtbar ist.

Bearbeiten Sie als Nächstes das Repository OCEImageGalleryRepository, um die OCEImageGalleryTaxonomy-Taxonomie für dieses Repository zu aktivieren:

  1. Melden Sie sich als Administrator bei der Oracle Content Management-Webbenutzeroberfläche an.

  2. Wählen Sie im linken Navigationsmenü Inhalt, und wählen Sie dann Repositorys aus der Auswahlliste im Seitenheader aus.

  3. Wählen Sie das Repository OCEImageGalleryRepository, und bearbeiten Sie es.

  4. Wählen Sie im Feld Taxonomien die Option OCEImageGalleryTaxonomy aus, damit Sie den Assets im Repository OCEImageGalleryRepository Kategorien aus dieser Taxonomie zuweisen können.

    Diese Abbildung zeigt den Bereich für die Repository-Definition mit "OCEImageGalleryTaxonomy" im Feld "Taxonomien".

  5. Klicken Sie auf Speichern.

Weisen Sie dann jedem Imageasset im OCEImageGalleryRepository-Repository Taxonomiekategorien zu:

  1. Melden Sie sich bei der Oracle Content Management-Webbenutzeroberfläche an.

  2. Klicken Sie im linken Navigationsmenü auf Assets.

  3. Öffnen Sie das OCEImageGalleryRepository-Repository.

  4. Wählen Sie ein oder mehrere Bildassets aus, klicken Sie in der Aktionsleiste auf Mehr, und wählen Sie Kategorien aus dem Menü aus.

    Diese Abbildung zeigt ein ausgewähltes Asset im Repository OCEImageGalleryRepository, wobei das Auswahlmenü "Mehr" angezeigt wird (einschließlich der Option "Kategorien").

  5. Klicken Sie im Bereich "Kategorien" auf Kategorie hinzufügen. Suchen Sie in der Suchleiste nach dem Kategorienamen, oder wählen Sie eine Kategorie aus der hierarchischen Struktur der Taxonomie aus, und klicken Sie auf Hinzufügen, um die ausgewählte Kategorie zuzuweisen. Sie können einer Anlage mehrere Kategorien zuweisen.

    Diese Abbildung zeigt den Bereich "Kategorien" für Anlagen mit der Kategoriesuchleiste und der hierarchischen Struktur der Taxonomie "Food".

  6. Nachdem Sie alle Imageassets mit der Zuweisung von Taxonomien verknüpft haben, wählen Sie alle Assets in Ihrem Repository aus, und veröffentlichen Sie sie im Kanal OCEImageGalleryChannel.

Um unsere Oracle Content Management-Inhalte in der Android-Anwendung zu nutzen, können wir das Android-Beispiel für die Bildergalerie verwenden, das als Open-Source-Repository unter GitHub verfügbar ist.

Hinweis: Beachten Sie, dass die Verwendung des Android-Beispiels optional ist und wir es in diesem Tutorial für den schnellen Einstieg verwenden. Sie können auch Ihre eigene Anwendung erstellen.

So erstellen Sie die Bildergalerie in Android Studio:

  1. Klonen Sie das Beispiel-Repository und das Android-SDK, und veröffentlichen Sie das SDK lokal
  2. Android-Beispiel in Android Studio öffnen
  3. REST-API für Oracle Content Management zum Abrufen von Inhalt verwenden

Beispiel-Repository, Android-SDK klonen und SDK lokal veröffentlichen

Das Android-Galeriebeispiel ist als Open-Source-Repository unter GitHub verfügbar.

Sie müssen das Beispiel zunächst von GitHub auf Ihren lokalen Rechner und das Android-SDK von GitHub klonen, falls noch nicht geschehen.

Wenn Sie über Ihren Beispielcode und das SDK verfügen, um das Android-SDK im Beispielprojekt zu nutzen, müssen Sie das SDK in Ihrem lokalen Maven-Repository erstellen und veröffentlichen, damit es vom Beispielprojekt verwendet werden kann. Öffnen Sie das Android-SDK-Projekt in Android Studio, und führen Sie die Aufgabe publishToMavenLocal aus, um das SDK zu erstellen und im lokalen Maven-Repository zu veröffentlichen.

Android-Beispiel in Android Studio öffnen

Wie bei jeder Android-Anwendung müssen Sie es in Android Studio importieren, damit Sie es von dort aus in einem Android-Emulator oder -Gerät erstellen und ausführen können. Der Beispielcode ist bereits mit dem Server und dem Veröffentlichungskanal vorkonfiguriert, die zum Abrufen von Daten für die Galerieanwendung verwendet werden.

REST-API für Oracle Content Management zum Abrufen von Inhalt verwenden

Die REST-API für Content Delivery bietet Zugriff auf veröffentlichte Assets in Oracle Content Management. Veröffentlichte Assets umfassen Inhaltselemente und digitale Assets sowie ihre Formatvarianten. Wir können jetzt die REST-API für Content Management nutzen, um Inhalte abzurufen, damit wir sie in unserer Galerieanwendung wiedergeben können.

Die Datei src/.../samples/gallery/MainActivity.java enthält eine Funktion zum Erstellen des Objekts ContentDeliveryClient, das von Anforderungsobjekten zum Ausführen von Aufrufen der REST-API verwendet wird. Die folgende Funktion ist eine vereinfachte Version der Funktion aus der Beispielanwendung, in der die verwendeten Werte angezeigt werden.

void createDeliveryClient() {

    // inti and customize the SDK settings
    ContentSettings contentSettings = new ContentSettings();
   
    // initialize the cache settings (optional configured via settings in sample)
    contentSettings.setCacheSettings(new CacheSettings(context.getCacheDir()));

    // set the host and channel token
    String channelToken = "e0b7b1e6421e78189345448deaddb091";
    String host = "https://headless.mycontentdemo.com";

    // create client API we'll use in request objects to make SDK calls
    deliveryClient = ContentSDK.createDeliveryClient(
            host, channelToken, contentSettings);
}

Homepage-Daten mit dem Oracle Content-SDK anfordern

Hinweis: Die Abfolge der SDK-Aufrufe für die anfängliche Homepage befindet sich in GalleryHomePageRepository.java.

Die erste Seite erfordert mehrere Datenaufrufe, bevor die Seite ordnungsgemäß angezeigt werden kann:

  1. Zuerst laden wir die Taxonomien für das zuvor angegebene Kanaltoken.
  2. Für jede zurückgegebene Taxonomie erhalten wir alle Kategorien in dieser Taxonomie.
  3. Für jede zurückgegebene Kategorie wird die Liste der Vermögensgegenstände in dieser Kategorie angezeigt.
  4. Die Bild-URLs für mittlere und Miniaturwiedergaben für die ersten vier Elemente jeder Kategorie werden heruntergeladen.

Diese Abbildung zeigt die Liste der Taxonomiekategorien mit einer Vorschau der ersten 4 Assets in jeder Kategorie.

Der Einstiegspunkt für den anfänglichen Datenabruf ist die Methode fetchHomePageData() in GalleryHomePageRepository.java. Diese Methode führt eine Reihe synchroner SDK-Aufrufe in einem separaten Thread aus und gibt das Ergebnis dann asynchron über einen Callback zurück.

Die Intial-Taxonomiedaten werden mit der Klasse GetTaxonomiesRequest und der fetch()-Methode abgerufen, wie unten dargestellt.

// create request to get list of taxonomies, limiting the number of results to 10 max
GetTaxonomiesRequest request = new GetTaxonomiesRequest(deliveryClient).limit(10);

// get the list of taxonomies synchronously 
ContentResponse<TaxonomyList> response = request.fetch();

Beachten Sie, dass alle APIs das Muster zum Erstellen eines Anforderungsobjekts mit dem Objekt ContentDeliveryClient als Parameter verwenden.

Die Builder-Methode limit(<value>) ist verfügbar, weil GetTaxonomiesRequest die allgemeine PaginatedListRequest-Klasse erweitert, die für alle Anforderungen verwendet wird, die eine Datenliste abrufen.

Hier verwenden wir request.fetch(), weil wir bereits einen separaten Thread erstellt haben, um mehrere SDK-Aufrufe nacheinander auszuführen. In einem anderen Abschnitt finden Sie ein Beispiel für die Verwendung eines asynchronen SDK-Aufrufs.

Sobald unsere Anfrage erfolgreich abgeschlossen wurde, erhalten wir ein Objekt vom Typ ContentResponse<TaxonomyList> zurück. Wenn response.isSuccess() wahr ist, stammt die Liste der Taxonomien TaxonomyList aus der Methode getResult().

Als Nächstes benötigen wir eine Liste der verfügbaren Taxonomiekategorien. Wir befinden uns noch in dem separaten Thread, den wir für SDK-Aufrufe erstellt haben. Daher ist der nächste Aufruf auch ein synchroner Aufruf, um die Liste der Taxonomiekategorien basierend auf der Taxonomie-ID abzurufen.

// get list of taxonomy categories based on the taxonomy id
GetTaxonomyCategoriesRequest categoriesRequest = 
    new GetTaxonomyCategoriesRequest(deliveryClient, taxonomy.getId());

// get list synchronously
ContentResponse<TaxonomyCategoryList> response = categoriesRequest.fetch();

// get the list from the response (assuming successful)
TaxonomyCategoryList categoryList.getItems = response.getResult();

Für jede Kategorie müssen Sie denselben allgemeinen Prozess befolgen, um die Liste der Anlagen abzurufen, die der Kategorie zugeordnet sind. Dazu erstellen Sie eine Suchanforderung, um übereinstimmende Anlagen für die Kategorieknoten-ID zu suchen.

// go through each category to get list of assets for that category
for(TaxonomyCategory category : categoryList.getItems()) {

    // setup search request to match "Image" type and the category node id
    SearchAssetsRequest assetsRequest = new SearchAssetsRequest(deliveryClient)
            .type(AssetType.TYPE_ASSET_IMAGE)
            .taxonomyCategoryNodeId(category.getId());

    // synchronous request to get matching assets
    ContentResponse<AssetSearchResult> searchResponse = assetsRequest.fetch();

    // search result from the response
    AssetSearchResult searchResult = searchResponse.getResult();

    // get the list of digital assets
    List<DigitalAsset> digitalAssetList = searchResult.getDigitalAssets();

}

Schließlich generieren wir für jedes der ersten vier Assets in einer Kategorie die URL, um die mittlere Wiedergabe für das große Bild und die Thumbnail-Wiedergabe für die drei kleineren Bilder herunterzuladen.

Die URL kann verwendet werden, um das Bild mit Ihrer bevorzugten Android-Bildbibliothek wiederzugeben, aber das Beispiel verwendet die gemeinsame Open-Source-Bibliothek Glide.

// (the sample code verifies that there are at least 4 images in the list)
// get the medimum rendition image url for the first main image from the list.
String mainImageUrl = digitialAssetList.get(0).getRenditionUrl(RenditionType.Medium);

// example code using Glide to render the main image into an ImageView
Glide.with(context).load(mainImageUrl).into(mainImageView);

// get the thumbnail rendition for the other 3 images
String smallImageUrl1 = digitialAssetList.get(1).getRenditionUrl(RenditionType.Thumbnail);
String smallImageUrl2 = digitialAssetList.get(2).getRenditionUrl(RenditionType.Thumbnail);
String smallImageUrl3 = digitialAssetList.get(3).getRenditionUrl(RenditionType.Thumbnail);

// load small images using Glide, etc...

Die Seite mit den Vorschau aller Bilder in der Kategorie verwendet eine asynchrone Anforderung, um alle Bilder anzufordern, die der Kategorieknoten-ID entsprechen.

Dieses Bild zeigt eine Bildergalerie mit verschiedenen Arten von Bagels, einige mit Creme oder Toppings oder beidem.

Der asynchrone Aufruf wird mit einer Callback-Methode ausgeführt, die für die Antwort wie unten dargestellt angegeben angegeben ist. Die vollständige Version dieses Codes befindet sich in der Datei GalleryPhotosFragment.java.

public void fetchDigitalAssets() {

    // search for all matching image assets for the specific category node id
    SearchAssetsRequest assetsRequest = new SearchAssetsRequest(getDeliveryClient())
            .type(AssetType.TYPE_ASSET_IMAGE)
            .taxonomyCategoryNodeId(categoryNodeId);

    // fetch the results asynchronously and call the specified method when done
    assetsRequest.fetchAsync(this::showDigitalAssets);

}

public void showDigitalAssets(ContentResponse<AssetSearchResult> response) {
   // handle errors if response.isSuccess is false otherwise process results...
}

Wenn Sie auf ein bestimmtes Bild klicken, verwendet die vollständige Vorschau die native Wiedergabe der Datei.

Dieses Bild zeigt die Vorschau eines Bagels mit Sahnekäse und Lachs.

Bei einem digitalAsset-Objekt erhalten Sie die native Wiedergabe-URL und gerendert sie in Glide wie folgt:

String fullSizeImageUrl = digitalAsset.getRenditionUrl(RenditionType.Native);

// example using Glide to render the main image into an ImageView
Glide.with(context).load(fullSizeImageUrl).into(fullSizeImageView);

Schritt 3: Anwendung ausführen

Nachdem wir unsere Android-Galerieanwendung erstellt haben, müssen wir sie in einem mobilen Emulator oder Gerät aus Android Studio testen, damit wir alle Probleme debuggen und eine Vorschau der Anwendung anzeigen können, bevor sie live geht.

Schlussfolgerung

In diesem Tutorial haben wir eine Android-App für die Bildergalerie erstellt, die Sie unter Github finden können. Diese Anwendung verwendet Oracle Content Management als Headless-CMS. Nachdem Sie Oracle Content Management mit einem Kanal veröffentlichter Inhalte für das Tutorial der Galeriewebsite eingerichtet und konfiguriert haben, haben wir die Anwendung ausgeführt, um den erforderlichen Inhalt abzurufen.

Weitere Informationen zu wichtigen Oracle Content Management-Konzepten finden Sie in der Dokumentation.

Weitere Beispiele finden Sie auf der Oracle Content Management-Seite Beispiele im Oracle Help Center.