A few months ago, I realized that when developers are introduced to new technologies, they often get the obligatory "Hello World" and other tutorials. Now, these tutorials are great and have their place. But at some point, these tutorial series come to an end. Then, developers are left to their own devices, sometimes not knowing what to do next (or what to build next). I’ve been there myself!
Just to see if I was on the right track, I checked with a Twitter poll (here)…
Question: So you’ve done the tutorials, now you want to sharpen your skills with something you can sink your #Developer teeth into and show your colleagues! That leaves you…
63% – Trying to think of an idea
13% – Many ideas to pick from
0% – Appreciate some ideas
24% – #3 (Above) with some backend data
What I wanted was to produce something that could help many developers take the next step. So, I created the SAP Developer Relations Project Book.
Introduction
The SAP Developer Relations Project Book is here to suggest ideas, along with providing Open Data Protocol (OData) backends, that can be amended or taken as supplied. The OData backends are supplied and created by us via the Mobile Backend Generator. These are based on OData v2.0, which supports offline data and will be designed to run on the SAP Cloud Platform Free Dev Trial and in memory.
All these datasources will have some initial data included. All that you, the developer, need to do is know the endpoint of the OData datasource and use the SAP Cloud Platform SDK for Android Wizard to generate a starting point for your project.
The project ideas below should allow you to build some mobile apps using the SAP Cloud Platform SDK for Android and SAP Cloud Platform Mobile Services. SAP Cloud Platform Mobile Services is a full-featured mobile app development platform that makes app development easy. Using the SDK and mobile services, you can build and show your mobile projects to others as demo apps.
For each of the projects, you get an Application Definition Statement (ADS), Persona, Datasource, Controls, Mobile Backend Generator created datasources (JAVA app running in SAP Cloud Platform Trial). We have not included a suggested application design, so please feel free to develop the implementation as you see fit. Even the SAP Fiori controls listed are a suggestion (SAP Fiori is the design language from SAP that brings great user experiences to enterprise applications).
Getting Started
Prior to starting any project, we are assuming you have Android/Java/Kotlin Knowledge, Android Studio installed and a device for deployment/testing (not essential).
If you have an Android Tablet/Chromebook, you can download the SAP Fiori Mentor app. The SAP Fiori Mentor app is an interactive documentation that helps designers and developers discover capabilities of the SAP Cloud Platform SDK, specifically on the UI component library, "SAP Fiori for Android." This free app is available on the Google Play Store and can be downloaded here.
Key features of SAP Fiori Mentor app allow you to:
- Browse best practices for inspiration and enable the overlay to see which components are used
- Preview all UI components & flows
- Customize the component style to meet your needs and see the effect immediately in a live preview
- Copy the ready-made code snippet for your customized control
- Check your components in both Tablet and Phone layout.
You can view live previews of all UI components and change parameters to see the effect immediately. Once a component is customized to your liking, view and copy the ready-made code snippet and paste into your IDE. You can also learn more about the backend components such as onboarding flows, SAP Foundation and OData.
Finally before starting make sure you:
Under the Hood
The SAP Cloud Platform SDK for Android offers a fully-featured, multi-layered API to accelerate enterprise app development in the Android Studio. A foundation layer provides key enterprise services for security, connectivity, app services, and more.
The SAP Fiori UI components provide a native implementation of SAP Fiori for Android, delivering the benefits of both SAP Fiori and Google’s Material Design. SAP Fiori, as noted above, is the design language and framework that lets you bring great user experiences to enterprise applications.
An OData layer allows access to backend systems in a consistent, industry standard manner, whether the device is online or operating without a network connection.
The SDK integrates with SAP Cloud Platform Mobile Services to simplify development of enterprise-ready mobile native Android apps
Project 1: Flight Info
ADS: A Pilot needs to log the flights that they have flown with various amounts of data so they can show they meet the minimum requirements for a certificate, rating, flight review, or instrument proficiency check. As the pilot flies they note the date, flight code, departure airport, departure datetime (ZULU/UTC), destination airport, arrival datetime (ZULU/UTC), flight duration, instrument hours, captain’s name/first officer’s name, aircraft type, aircraft reg, remarks.
Persona: Commercial pilot
Datasource (OData):
- Flight(flight id, flight code, departure airport, departure datetime (ZULU/UTC), destination airport, arrival datetime (ZULU/UTC), flight duration, instrument hours, captain’s name/first officer’s name, aircraft type, aircraft reg, remarks)
- Airport(airport id, airport name, latitude, longitude, IATAcode) – Lookup
Controls - Fiori for Android (Suggested): FUIObjectTableViewCell, FUIImageView, FUIMarkerAnnotationView, FUIMapToolbar, FUIDatePickerFormCell, FUIDurationPicker- FormCell, FUITimelineCell
Project 2: Car Info
ADS: To keep track of distance driven and fuel used, when an employee needs to fill up gas, they will take note of the car’s odometer and the pump after filling up, to log the amount of petrol and price. This data could be input SAPML (OCR) or by hand. The app could provide an overview in graph form about the distance travelled over time as well as the average fuel efficiency and cost.
Persona: Employee with company car
Datasources (OData):
- Vehicle (Vehicle ID, Vehicle reg, Vehicle Desc, Start Date, Start ODO)
- Reading (Vehicle ID, datetime, fuel, price, odo)
Controls - Fiori for Android (Suggested): FUIObjectTableViewCell , FUIValuePicker- FormCell, FUITimelineCell
Project 3: Canteen Menu
ADS: Employee would like to be made aware of what is for Lunch. At any time, the employee can get the menu for the company’s canteen/s for that particular day. This will save them time in the canteen, allowing them to make their choice before lunch. The app could respond to a push notification via SAP Cloud Platform MS and notification providers such as Firebase Cloud Messaging, when new menus are available for viewing.
Persona: Employee (Hungry)
Datasources (OData):
- Canteen (Canteen ID, Location, Name)
- Menu (Menu ID, Canteen ID, Date of Lunch, Desert, Main Dish, Sides, Soup, kcal For Main, Veggie appropriate)
Controls - Fiori for Android (Suggested): FUIObjectTableViewCell , FUIValuePicker- FormCell, FUITimelineCell
Looking for more details? Check out Github for sample back-end servers. And visit the SAP Developer Center for more information on the SAP Cloud Platform SDK for Android.