CLASS NOTES: DIGITAL TECHNOLOGY (SS2)
TOPIC: CREATING SIMPLE ANDROID/OS APPLICATIONS
1. COMPREHENSIVE CORE CONCEPTS
What is Mobile Application Development?
Mobile application development is the process of creating software applications that run on a mobile device, such as a smartphone or a tablet. These applications (apps) are designed to take advantage of the unique features of mobile hardware, such as the camera, GPS, Bluetooth, and touch screen.
In the Nigerian digital landscape, mobile apps have transformed how we live. From OPay and PalmPay for finances to Jumia for shopping, apps are tools built to solve specific problems. As an SS2 student, learning to build an app is not just about coding; it is about learning how to translate a solution into a digital tool that anyone can use.
Understanding Operating Systems: Android vs. iOS
To build an app, you must understand the platform it will run on.
- Android (by Google): This is the most popular OS in Nigeria. It is "Open Source," meaning many different phone manufacturers (Infinix, Tecno, Samsung) use it. Android apps are primarily written in Java or Kotlin.
- iOS (by Apple): This runs exclusively on iPhones and iPads. It is a "Closed System." iOS apps are primarily written in Swift.
For this lesson, we focus on the logic behind Android apps because the tools to create them are more accessible and the market share in our community is higher.
The Building Blocks of an App: UI and UX
Every app consists of two major components:
- User Interface (UI): This is what the user sees. it includes the buttons, text boxes, images, and colors. Think of UI as the "body" of a car—the seats, the dashboard, and the paint.
- User Experience (UX): This is how the user feels and how easy it is to use the app. If a button is too small to click, that is poor UX. If the app is fast and easy to navigate, it has good UX.
The App Development Life Cycle
Creating an app follows a structured path:
- Ideation/Planning: What problem am I solving? Who is it for?
- Design: Drawing the screens (wireframing) on paper before touching a computer.
- Development (Coding): Using a platform like MIT App Inventor (block-based) or Android Studio (text-based) to build the app.
- Testing: Running the app on a phone to see if it crashes or has "bugs."
- Deployment: Sharing the app (the .APK file) with others.
2. REAL-WORLD EXAMPLES AND SCENARIOS
In Nigeria, mobile apps are solving local problems every day. Here are scenarios showing how app development applies to real life:
- Scenario A: The School Canteen: Imagine your school canteen has long queues during break time. You could create a "Canteen Pre-Order App" where students select their lunch and pay digitally before break starts. This reduces crowds and saves time.
- Scenario B: Agriculture in the Village: A student from a farming family could create a "Soil Info App" that provides tips on when to plant maize or cassava based on the current month and weather patterns, helping farmers improve their yield.
- Scenario C: Security/Safety: In a community where people feel unsafe walking home late, a "HelpMe App" could be developed. With one click, it sends a pre-written SMS with the user’s GPS location to three registered family members.
3. PRACTICAL APPLICATIONS: STEP-BY-STEP GUIDE
For beginners, we use MIT App Inventor, a free, web-based tool that allows you to build apps using "blocks" (like puzzles) rather than complex typing.
Project: Creating a "Speak For Me" App
This app will have a text box where you type words, and when you click a button, the phone will "speak" those words aloud.
Step 1: Setup
Step 2: Designing the UI (The "Designer" View)
- From the Palette on the left, drag a TextBox onto the screen (this is where the user types).
- Drag a Button underneath the text box. In the Properties panel, change the text on the button to "Click to Talk."
- From the "Media" section, drag a TextToSpeech component onto the screen. It will appear at the bottom as a "Non-visible component."
Step 3: Programming the Logic (The "Blocks" View)
- Switch to the Blocks button in the top right corner.
- Click on Button1 and drag out the block:
when Button1.Click do.
- Click on TextToSpeech1 and drag out:
call TextToSpeech1.Speak message. Snap this into the Button block.
- Click on TextBox1 and find the block:
TextBox1.Text. Snap this into the "message" slot.
Step 4: Testing
- Download the "MIT AI2 Companion" app on an Android phone.
- In the computer browser, click Connect > AI Companion.
- Scan the QR code with your phone. Your app is now live on your phone for testing!
4. SUGGESTED HOME PROJECTS
Project: "The Personal Study Timer"
Objective: Create an app that helps you manage your study time using a countdown.
- Materials Needed: A computer with internet access and an Android phone (optional, for testing).
- Procedure:
- Open MIT App Inventor.
- Add a Label (to show the time), a Clock component (from Sensors), and two Buttons (Start and Stop).
- Set the Clock's "TimerInterval" to 1000 (1 second).
- Logic: Set a variable called
Time to 60. Every time the clock "ticks," subtract 1 from the Time variable and display it on the Label.
- Expected Outcome: A functional app that counts down from 60 seconds to 0, helping you focus on a quick 1-minute drill.
5. LIFE SKILLS INTEGRATION
- Problem Solving & Logical Thinking: Coding an app is like solving a puzzle. If the app doesn't work, you must "debug" (find the error). This teaches you to stay calm and analyze problems logically in real life.
- Entrepreneurship: Developing an app is a low-cost business. Many Nigerian tech founders started by building simple apps in their bedrooms. Understanding this gives you a career path in Software Engineering or Product Design.
- Attention to Detail: In app design, one missing bracket or wrong color can ruin the user experience. This encourages a high standard of work in any task you undertake.
6. ASSESSMENT THROUGH APPLICATION
- Option A: The Pitch (Non-Technical): Present a three-slide "App Proposal." Slide 1: The Problem. Slide 2: How your app solves it. Slide 3: A hand-drawn sketch of what the app screens will look like.
- Option B: The Prototype (Technical): Using MIT App Inventor, create an app that has at least two screens. Clicking a button on the first screen must take the user to the second screen.
- Option C: The Bug Hunter: Look at a provided set of "Blocks" that contain a logical error (e.g., a button that is supposed to add numbers but subtracts them). Identify the error and write down the correction.
7. STUDENT REFLECTION QUESTIONS
- Look at the apps on your (or your parent’s) phone. Which one do you find the most difficult to use? What UI/UX changes would you make to improve it?
- If you could build one app to help your local community or neighborhood, what would it be and why?
- Why is "Testing" a critical stage in the development life cycle? What might happen if a bank releases a mobile app without testing it?
- Do you think mobile apps will ever replace physical schools or hospitals? Why or why not?