Why native Android apps need an Android CMS

Introduction

Every app contains content, sometimes lots of it. Instead of being hardcoded in an app, content should rather be separated and maintained independently. That's was CMSes were originally intended for. An Android CMS helps take all the dynamic content out of the codebase, making it accessible to editors and enabling live updating of the in-app content — without resubmitting the app to the Google Play store.

Terminology

An Android CMS is a CMS for putting content into native mobile apps. It's a subgroup of a bigger mobile CMS family — you might be interested in reading a comprehensive overview of those.

Features to look for

An Android CMS serves two audiences: developers and editors. It should be simple enough in terms of development to compensate for their efforts, and at the same time it should be accessible to those who create content. First, we'll focus on features which contribute to development simplicity.

API

A CMS has to come with an API. The best way to get the necessary content out of any system is to make an API request. A well-designed and well-documented API gives the developer full control: no parsing required, no redundant data coming in. An API-based access to content makes for clean, straightforward, maintainable code.

Custom content structures

CMSes shouldn't impose any restrictions on the content model. CMSes should enable setting up content structures according to the project's needs — not the other way around. The same level of freedom that any database gives should be available in a CMS, because the developer certainly knows better how to organize the content.

Content delivery platform

A CMS that delivers content is better than one that doesn't. Setting up a full server stack is fun for the first time, but later it becomes a tiring routine. It's nice when someone (preferably someone trustworthy) has done all the dirty work, so there's literally zero maintenance involved. A customizable, flexible, Heroku-style delivery platform is something to look for in a CMS.

Development tools

Projects get done faster when a CMS comes with SDKs and similar developer tools. This one also relates to the topic of development simplicity. Ideally, you don't have to write boilerplate code — the CMS vendor should've written it for you. In addition to SDKs, things like IDE plugins, tutorials and sample apps greatly help when they exist, making the learning curve much, much smoother.

Contentful, the ultimate Android CMS

If you need to manage content in an Android app — and maybe an iOS app and a website on the way — Contentful might be your best option. Here's why.

Mobile delivery capabilities

Contentful ensures content delivery even in network-impaired mobile environments.

  • Speed: Contentful's platform supports request bundling and has a built-in CDN.

  • Sync API and offline sync: help apps not to freeze when there's no Internet available.

  • Images API and progressive JPEG support help deliver visual assets faster.

Java SDK for getting content

Contentful comes with an SDK for fetching the content via Contentful Delivery API. It helps start building native Android apps faster.

See the GitHub project

Java SDK for saving content

There's also a second SDK which helps saving content in Contentful.

See the GitHub project

Sample projects

There's a lot of sample apps, which show how to handle the basic concepts that also contribute to developing with Contentful faster.

See the examples

Documentation and tutorials

The documentation includes both a comprehensive API reference and an overview of the core concepts used in Contentful, while the tutorials explain in detail how to get certain things done.

Browse tutorials

Tools

There are several tools which greatly simplify developing Android apps.

Get the tools

Features for editors

Contentful comes with a web application, which contains the essential features for editors and content creators who'll ultimately be responsible for managing in-app content. The editor helps set up the content structure, create and manage content, and control publication flow, as well as managing the media collection. Contentful separates content from presentation, storing the content in Markdown — a clean and widely popular markup language. Take a look at the content editor or see how to set up a content model

Final notes

We invite you to try Contentful, our developer-friendly content management platform.