MBurger Headless CMS
User GuideCMS HeadlessEngagement Platform
  • 🍔MBurger Documentation🍔
  • 🔑 API
    • Introduction
      • Getting Started
      • Structure
    • Common Path
      • Basics
      • POST Bodies
      • POST Relations
      • Evaluating Responses
    • API Authentication
    • Project
    • Blocks
      • Get Blocks
      • Get Block
    • Sections
      • Get Sections
      • Get Section
      • Create Section
      • Update Section
      • Delete Section
    • Media
      • Get All Media
      • Upload Media
      • Get Media
      • Delete Media
    • Integrations / Extensions
      • Authentication Provider
        • Registration
        • Login
        • Logout
        • Get Profile
        • Update Profile
        • Delete Profile
        • Change Password
        • Forgot Password
      • Live Messages
        • Get All Live Messages
        • Send Live Message
        • Delete Live Message
      • In-App Subscriptions
        • InApp Subscription
        • Resume InApp Subscription
      • Shopify
        • Create a Shopify private app
        • Enable Shopify in MBurger
        • Collections Editor
      • Stripe
        • Create Customer
        • Get Cards
        • Create Card
        • Make Default
        • Delete Card
        • Subscription
        • Cancel Subscription
        • Resume Subscription
        • Payment
    • Going Deeper
      • Available Data Types (Elements)
  • 📱 Android SDK
    • Introduction
    • Installation
    • Initialization
    • Fetch for blocks
    • Fetch sections from blocks
    • Mapping to custom objects
    • Admin
      • Delete a Section/Media
      • Create a new Section
      • Update an existing Section
    • Auth
      • Register a new user
      • Authenticate a user
      • User profile
      • Edit profile
      • Other features
    • Proguard Rules
    • Plugins
    • Sample Apps
      • MBurger Explorer
      • MBurger Radio
    • MBurger Apps
  • 🍏 iOS SDK
    • Introduction
    • Installation
    • Initialization
    • Fetch the project
    • Fetch blocks
    • Fetch sections
    • Media
    • Encoding & Decoding
    • Serialization & Equality
    • Admin
      • Add/Edit a section
      • Delete a section
      • Upload media
      • Delete a media
    • Auth
      • Register a user
      • Authenticate a user
      • Retrieve user information
      • Update user profile
    • Plugins
    • Sample Apps
      • MBurger Explorer
      • MBurger Radio
    • MBurger Apps
  • 💻 PHP SDK
    • Installation & Configuration
    • How to use
    • Support & Feedback
    • License
  • ☕ JavaScript SDK
    • Introduction
    • Installation
    • Configuration
    • Methods Reference
    • Support & Feedback
    • License
  • 🔷Flutter SDK
    • Installation
    • Initialization
    • Fetch the project
    • Fetch blocks
    • Fetch sections
    • Media
    • Admin
      • Add/Edit a section
      • Delete a section
      • Upload a media
      • Delete a media
    • Auth
      • Register a user
      • Authenticate a user
      • Retrieve user information
      • Update user profile
  • ❓How to?
    • Basic interactions
      • Blocks
        • Get a Single Block
        • Get multiple Blocks
      • Sections
        • Get a single Section
        • Get Multiple Sections
        • Create a Section
        • Update a Section
        • Delete a Section
    • Advanced section retrieval
      • Filter sections
      • Obtain distance from a section
      • Manage locales and the fallback language
      • Get a section by SLUG
      • Obtain only sections with a defined relation
    • Advanced section creation
      • Create a section with a relation
      • Set the value of a checkbox element
      • Create a section with a multiple or dropdown element
      • Create a section with a SLUG
      • Create a section with SEO
      • Send or schedule a push when creating a section
    • Set the visibility of a section
    • Get images with various format
  • 👻 Sample App
    • Introduction
    • Create an MBurger project
    • Create Home, News and Gallery blocks
    • Create the project
    • Setup the SDK
    • Query the API for items
    • Map your objects from MBurger objects
    • Implement push notifications
    • Take a bite
Powered by GitBook
On this page

Was this helpful?

  1. Sample App

Map your objects from MBurger objects

We are going to create an array of Home objects from the sections returned by the api.

The home objects will be like this:

class Home: NSObject {
    @objc var title: URL?
    @objc var homeDescription: String?
    @objc var images: [MBImage]?
}

Let’s add a mapping dictionary in Home like this, so that the section can map its elements to the Home object properties.

static func mappingDictionary() -> [String: String] {
    return [“title”: “title”,
            “description”: “homeDescription”,
            “images”:“images”]
}

Now we have to create the array of homes from the MBSections. To do so, let’s add the following in the success block:

self.homes = sections.map({ section -> Home in
                           let home = Home()
                           section.mapElements(to: home, withMapping: Home.mappingDictionary())
                           return home
                           }

Now in the homes array we will have Homes objects created from the sections.

We should do the same thing in the News and Gallery viewcontrollers, using different object models and a different mapping dictionary.

public class Home implements Serializable {
    private String title, description;
    private MBImages images;
 
    public String getTitle() {
        return title;
    }
  
    public void setTitle(String title) {
        this.title = title;
    }
  
    public MBImages getImages() {
        return images;
    }
 
    public void setImages(MBImages images) {  
        this.images = images;
    }
 
    public String getDescription() {  
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
}

We use the MBImages class, which is a representation of images inside a section for convenience.

Now we need to map our MBSection objects to Home objects:

public Home mapHome(MBSection section) {
   MBFieldsMapping fieldsMapping = new MBFieldsMapping();
   fieldsMapping.putMap(“title”, “title”);
   fieldsMapping.putMap(“images”, “image”);
   fieldsMapping.putMap(“description”, “description”);
   Home h = (Home) MBurgerMapper.mapToCustomObject(section, fieldsMapping, new Home(), false);
   return h;  
}

Once we have an array of homes, we can show them creating our own custom UI using the Android SDK. We can then do the same procedure for the gallery and news screens.

PreviousQuery the API for itemsNextImplement push notifications

Last updated 4 years ago

Was this helpful?

👻