Mobile Application Development II: Building Real Android and iOS Apps (With Code Examples)
Introduction
Think about the last app you used on your phone. Maybe it was WhatsApp to chat with a friend, Cowrywise to save money, or even a Bible app during devotion. Did you ever stop to wonder — who built this? How did they do it?
Here is a truth that might surprise you: many of the people who built those apps started exactly where you are right now — as a student learning the basics.
Mobile Application Development II is one of the most exciting topics in your SSS 2 Computer Studies curriculum. It takes you beyond theory and puts tools in your hands. In this lesson, you will move from understanding what apps are to actually creating simple ones yourself. Whether you dream of building the next big Nigerian fintech app or just want to understand how technology works around you, this is the right place to start.
Nigeria's digital economy is growing fast. According to recent reports, Nigeria has one of the largest smartphone user populations in Africa. That means there is a huge market waiting for apps built by young, creative Nigerian developers — people like you.
Learning Objectives (NERDC Style)
By the end of this lesson, students should be able to:
- Identify the key tools, platforms, and programming languages used to build Android and iOS apps.
- Describe the basic structure of a simple mobile application using real code examples.
- Demonstrate how to plan and design a simple app interface using layouts and UI components.
- Create a basic self-project mobile app idea and outline its features and purpose.
- Evaluate the ethical and safety responsibilities of a mobile app developer.
There are three main ways to build mobile apps:
Native Development — You write code specifically for one platform. For Android, the language is Kotlin or Java. For iOS, it is Swift or Objective-C. Native apps are fast and powerful but require learning two separate languages for two platforms.
Cross-Platform Development — You write one codebase that works on both Android and iOS. Tools like Flutter (using Dart language) and React Native (using JavaScript) fall in this category. This is popular because it saves time.
Web-Based Apps (Progressive Web Apps) — These are websites that behave like apps. They don't need to be downloaded from an app store but work through a browser.
For SSS 2 students in Nigeria, Flutter and MIT App Inventor are excellent starting points because they are beginner-friendly and free.
Tools and Platforms You Need
Before writing a single line of code, you need to know your tools.
MIT App Inventor — This is a free, browser-based tool created by the Massachusetts Institute of Technology. It uses block-based programming (drag and drop), making it perfect for beginners. You can build real Android apps with it without writing complex code. Visit: ai2.appinventor.mit.edu
Android Studio — This is the official tool for building Android apps. It is free to download and used by professional developers worldwide. It uses Kotlin or Java.
Flutter with VS Code or Android Studio — Flutter is Google's toolkit for building apps with one codebase for both Android and iOS. It uses the Dart programming language and is one of the most popular tools in 2025.
Xcode — This is Apple's official tool for building iOS apps. It only works on a Mac computer, which can be limiting for many Nigerian students.
Thunkable — Similar to MIT App Inventor but with a more modern interface. Also free and browser-based.
For most SSS 2 students in Nigerian public and private schools, MIT App Inventor and Flutter are the most accessible choices.
Basic Structure of a Mobile App
Every mobile app, no matter how simple or complex, has three main parts:
1. The User Interface (UI) — This is everything the user sees on the screen. Buttons, text, images, input fields, menus — all of these make up the UI.
2. The Logic (Backend/Code) — This is the brain of the app. When a user taps a button, the logic decides what happens next. This is where your code lives.
3. Data Storage — Apps often need to save information. A simple calculator saves nothing, but a student attendance app needs to store names and dates. Storage can be local (on the device) or cloud-based (on the internet).
Real Code Example 1 — A Simple "Hello, Nigeria!" App Using Flutter
Below is a simple Flutter app that displays a welcome message on screen. Flutter uses the Dart programming language.
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello Nigeria',
home: Scaffold(
appBar: AppBar(
title: Text('My First Nigerian App'),
backgroundColor: Colors.green,
),
body: Center(
child: Text(
'Welcome to Nigeria! 🇳🇬',
style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
),
),
),
);
}
}
What this code does:
void main()— This is the starting point of every Flutter app. Think of it as the gate of your school. The program enters here first.MaterialApp— This sets up the app's overall appearance and navigation structure.Scaffold— This is like the skeleton of your screen. It holds the AppBar (the top bar) and the body (the main content area).AppBar— The green bar at the top of the screen with the title "My First Nigerian App."CenterandText— These place a bold welcome message in the middle of the screen.
Expected Result: When you run this app on an Android phone or emulator, you will see a green toolbar at the top and the text "Welcome to Nigeria!" displayed in the center of the screen.
Real Code Example 2 — A Simple Calculator App Logic (Flutter)
This example adds two numbers together when a button is pressed.
import 'package:flutter/material.dart';
void main() => runApp(CalculatorApp());
class CalculatorApp extends StatefulWidget {
@override
_CalculatorAppState createState() => _CalculatorAppState();
}
class _CalculatorAppState extends State<CalculatorApp> {
double num1 = 5;
double num2 = 3;
double result = 0;
void addNumbers() {
setState(() {
result = num1 + num2;
});
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: Text('Simple Calculator'), backgroundColor: Colors.green),
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('5 + 3 = ?', style: TextStyle(fontSize: 22)),
SizedBox(height: 20),
ElevatedButton(
onPressed: addNumbers,
child: Text('Calculate'),
),
SizedBox(height: 20),
Text('Result: $result', style: TextStyle(fontSize: 28, color: Colors.green)),
],
),
),
),
);
}
}
What this code does:
StatefulWidget— Used when your screen needs to change based on user actions. A StatelessWidget stays the same always.setState()— This tells Flutter to update what is shown on screen after the button is pressed.ElevatedButton— A raised, clickable button.result = num1 + num2— The addition happens here.
Expected Result: The screen shows "5 + 3 = ?" with a green Calculate button. When you tap the button, the answer "Result: 8.0" appears below it.
Using MIT App Inventor — For Beginners (No Code Required)
If Flutter seems complex right now, MIT App Inventor is a great starting point. Here is how to create a simple button app:
Step 1 — Go to ai2.appinventor.mit.edu and sign in with a Google account.
Step 2 — Click "Start New Project" and name it "MyFirstApp."
Step 3 — From the Palette on the left, drag a Button onto the screen (the white area in the middle called the Viewer).
Step 4 — On the right side, change the button text to "Click Me!" and the background color to green.
Step 5 — Click "Blocks" at the top right to go to the logic section.
Step 6 — From the Blocks panel, find your button and drag in the "when Button1.Click do" block. Inside it, add a block that shows a notification saying "Hello! I am a Nigerian App Developer!"
Step 7 — Click "Build" then "Android App (.apk)" to download the app to your Android phone.
This is a real working app. It runs on any Android phone without needing any complex setup.
Self-Projects in Mobile App Development
One of the best ways to truly learn is to build something you care about. This is what developers call a self-project. A self-project is an app you design and build yourself, based on your own idea.
Here are self-project ideas that are relevant to Nigerian students:
1. School Timetable App — An app that shows your daily class schedule. You can customize it for your school and share it with classmates.
2. Market Price Tracker — An app that lets users check current prices of food items like tomatoes, yam, and rice in a local market. This is very useful in Nigerian communities.
3. Student Score Calculator — Enter scores for different subjects and the app calculates your average and grade automatically.
4. State Capital Quiz App — A simple quiz app that tests users on Nigerian state capitals, LGAs, or history. This can be made with MIT App Inventor easily.
5. Daily Devotional App — Shows a Bible verse or Islamic quote of the day. Nigerian students of faith would find this very useful.
6. Local Language Translator — A simple app that translates common English words into Yoruba, Igbo, or Hausa. This promotes Nigerian culture while teaching you how apps work.
When starting a self-project, always follow these steps: First, write down the problem your app solves. Second, list the features it will have. Third, sketch the screens on paper before coding. Fourth, start simple — build one feature at a time. Fifth, test it on a real device.
Practical Applications in Nigeria
Mobile apps are changing lives in Nigeria every day. Here are real examples:
Agriculture — Farmcrowdy and similar Nigerian agri-tech apps connect farmers with investors and buyers. A student who learns mobile development today could build the next version of such an app.
Health — During the COVID-19 pandemic, contact-tracing apps were developed. Nigerian developers contributed to building health management tools used across the country.
Education — Apps like ULesson and PrepClass were built by Nigerian developers to help students prepare for WAEC and JAMB. Your app could be next.
Finance — Piggybank (now PiggyVest), Flutterwave, and Paystack are all Nigerian fintech apps built by young Nigerians who started learning just like you.
Transportation — Bolt and Gokada have changed how Nigerians move around cities. The logic inside these apps — maps, real-time tracking, payments — is all code.
Advantages of Learning Mobile App Development
Learning to build mobile apps comes with many benefits:
It opens up career opportunities in one of the highest-paying tech fields in the world. Nigerian mobile developers are hired by companies locally and internationally.
It teaches problem-solving. Every app starts with a problem that needs a solution. This sharpens your thinking.
It allows you to create something that millions of people can use. That is a powerful feeling.
It gives you the ability to work from anywhere. Many developers in Nigeria work remotely for foreign companies.
It helps you understand and evaluate the apps you use daily.
Disadvantages and Challenges
Like any skill, mobile development has its challenges:
Learning to code takes time and consistent practice. There is no shortcut.
Some tools like Xcode require a Mac computer, which can be expensive for Nigerian students.
Poor internet connection can slow down progress since many tools and resources are online.
Publishing apps on the Google Play Store costs a one-time fee of $25, which may be a barrier for students.
Debugging (finding and fixing errors in your code) can be frustrating for beginners.
Ethical and Safety Considerations
As you learn to build apps, it is important to think about your responsibility as a developer.
User Privacy — Do not collect personal data from users without their permission. If your app asks for a name or phone number, explain why you need it.
Data Security — Protect any data your app stores. Never store passwords in plain text.
Honest Design — Do not trick users into clicking things they do not want to click. Design your app to be honest and transparent.
Accessibility — Think about people with disabilities. Use clear fonts, large buttons, and avoid using color as the only way to communicate information.
Piracy — Do not copy another developer's code and claim it as your own. This is theft. Respect intellectual property.
Age-Appropriate Content — If your app is for children, make sure its content is safe and appropriate.
As a Nigerian developer, you represent your country's growing tech community. Build with integrity.
Classroom and Home Activities
Activity 1 — App Idea Pitch (Classroom) In groups of three, come up with one app idea that solves a problem in your school or community. Write down the problem, the app name, the main features, and who will use it. Present to the class in two minutes.
Activity 2 — MIT App Inventor Button App (Home/Lab) Visit ai2.appinventor.mit.edu. Create an app with three buttons. Each button should display a different message when tapped — one with your name, one with your school name, and one with your state in Nigeria. Save and share the APK file with your teacher.
Activity 3 — Screen Sketch Design (Classroom) On a plain sheet of paper, draw two screens of an imaginary Nigerian app. Label all buttons, text areas, and images. Include a Home screen and a Settings screen.
Activity 4 — Code Reading Exercise (Classroom/Home) Look at the Flutter "Hello Nigeria" code in this lesson. Write a short explanation in your own words describing what each section does. Submit it as a class assignment.
Assessment Questions
Section A — Objective Questions
-
Which of the following is a cross-platform mobile development framework? a) Xcode b) Android Studio c) Flutter d) Apple Developer Tools Answer: c) Flutter
-
In Flutter, which widget is used as the basic screen structure that holds the AppBar and body? a) Container b) Scaffold c) Column d) MaterialApp Answer: b) Scaffold
-
MIT App Inventor is best described as: a) A paid software for professional developers only b) A browser-based, drag-and-drop tool for building Android apps c) A tool that only works on iOS devices d) A programming language Answer: b) A browser-based, drag-and-drop tool for building Android apps
-
Which programming language does Flutter use? a) Java b) Swift c) Python d) Dart Answer: d) Dart
-
A StatefulWidget in Flutter is used when: a) The app needs no user interaction b) The screen content changes based on user actions c) You want to display a fixed image only d) The app has no buttons Answer: b) The screen content changes based on user actions
Section B — Theory Questions
-
Explain the three main parts of every mobile application and give a Nigerian example for each part.
-
Compare native mobile development with cross-platform development. In your answer, mention one advantage and one disadvantage of each approach.
-
A student wants to build a "Market Price Tracker" app for her local market in Onitsha. Describe the steps she should follow before writing any code, and list at least four features her app should have.
Summary
In this lesson, you learned that mobile application development is the process of building software for smartphones and tablets. You explored the difference between native and cross-platform development. You were introduced to beginner-friendly tools like MIT App Inventor and Flutter. You saw real code examples of how a basic Flutter app is structured, including a welcome screen and a simple calculator. You also learned what a self-project is and discovered several Nigerian-relevant app ideas. Finally, you understood the ethical responsibilities that come with being a developer.
Conclusion
Mobile app development is one of the most powerful skills a young Nigerian can learn today. The apps you use every day — from banking to entertainment to education — were all built by people who once sat where you are sitting now. The difference between you and them is simply that they kept practising.
You do not need to be perfect. You just need to start. Build something small. Make mistakes. Fix them. Build something bigger. That is how every great app begins.
Nigeria needs developers. Africa needs innovators. The world is waiting. Start building.
Frequently Asked Questions (FAQ)
Q1: Can I learn mobile app development without a computer at home? Yes, to an extent. MIT App Inventor works in a web browser and some phones can access it through school computers or cyber cafes. However, to make serious progress, regular access to a computer is important. Many Nigerian libraries and schools now offer computer lab time.
Q2: Do I need to know mathematics well to build apps? Basic mathematics is helpful, especially for apps that involve calculations. However, many apps — like a quiz app or a devotional app — require very little advanced mathematics. You can start with simple logic and grow from there.
Q3: Is Flutter better than MIT App Inventor for SSS 2 students? Both are useful. MIT App Inventor is better for complete beginners because it uses drag-and-drop blocks. Flutter is better for students who want to write real code and are serious about a career in app development. Try MIT App Inventor first, then move to Flutter when you are ready.
Q4: How do I publish my app on Google Play Store? You need a Google Play Developer account, which costs a one-time fee of $25 (approximately ₦40,000 depending on exchange rates). You also need to have your app tested and ready. For school projects, you can share your app as an APK file directly without publishing on the store.
Q5: Can I build an iOS app as an SSS 2 student in Nigeria? iOS app development requires Xcode, which only runs on a Mac computer. This is currently a limitation for most Nigerian students. However, Flutter can build iOS apps from the same code, and cross-platform tools are closing this gap. Focus on Android first, which is the most common smartphone platform in Nigeria.
Q6: Are there free courses to learn Flutter or MIT App Inventor online? Yes. YouTube has hundreds of free Flutter tutorials. The official MIT App Inventor website also has free tutorials and a help community. Google also offers free resources for Android development through its Developer website. Many Nigerian tech communities on Telegram and WhatsApp also share free learning materials.
This lesson note aligns with the Nigerian NERDC Senior Secondary School Curriculum for Digital Technologies - Computer Studies, SSS 2. It is designed for educational purposes and is suitable for classroom teaching, student self-study, and teacher reference.

0 Comments