This comprehensive five-day training course is designed to equip participants with the foundational knowledge and practical skills necessary to develop mobile applications for both Android and iOS platforms. Participants will gain an understanding of the core concepts, development environments, programming languages (Java/Kotlin for Android and Swift for iOS), user interface design principles, and essential mobile development workflows relevant to the growing mobile technology landscape in Kenya.
The course will cover a range of critical topics, including setting up development environments (Android Studio and Xcode), understanding mobile application architecture, designing user interfaces and user experiences for mobile, working with common UI elements and layouts, handling user input, managing data storage (local and remote), integrating with device features (camera, GPS), networking, testing and debugging mobile applications, and an introduction to deployment processes for both app stores. Through interactive sessions and hands-on projects, participants will build a solid base for creating cross-platform or platform-specific mobile applications.
Who should attend the training
- Aspiring mobile app developers
- Software developers looking to expand into mobile development
- Web developers interested in mobile application development
- IT professionals seeking to understand mobile technologies
- Entrepreneurs with mobile app ideas
- Students and recent graduates in computer science or related fields
- Anyone interested in learning how to build mobile applications
Objectives of the training
- Understand the fundamentals of mobile application development for Android and iOS.
- Set up and effectively use the development environments (Android Studio and Xcode).
- Learn the basics of programming languages for each platform (Java/Kotlin and Swift).
- Design and implement user interfaces and user experiences for mobile devices.
- Work with common UI elements, layouts, and navigation patterns.
- Handle user input and events in mobile applications.
- Implement local data storage solutions (e.g., SQLite, UserDefaults).
- Understand how to connect and interact with remote data sources (APIs).
- Integrate with device features such as camera and GPS.
- Learn basic networking concepts in mobile development.
- Test and debug mobile applications effectively.
- Gain an overview of the app deployment process for Android and iOS.
- Understand the differences and similarities between Android and iOS development.
- Explore basic concepts of mobile application architecture.
- Learn about background processing and threading in mobile apps.
- Understand basic principles of mobile app security.
- Explore UI/UX best practices for mobile design.
- Gain an introduction to cross-platform development frameworks (e.g., React Native, Flutter - overview).
Personal benefits
- Acquire foundational skills in developing mobile applications for both major platforms.
- Gain hands-on experience with industry-standard development tools and languages.
- Develop a portfolio of basic mobile applications.
- Enhance problem-solving and logical thinking skills.
- Open up career opportunities in the rapidly growing mobile app development industry.
Organizational benefits
- Increased capacity to develop in-house mobile solutions.
- Ability to create custom mobile applications to improve business processes.
- Enhanced engagement with customers through mobile platforms.
- Improved efficiency and productivity through mobile tools.
- Ability to leverage mobile technology for innovation.
Training methodology
- Interactive lectures and presentations with real-world examples from the Kenyan mobile app market
- Group discussions and brainstorming sessions on mobile app ideas and solutions
- Extensive hands-on coding exercises and lab sessions using Android Studio and Xcode
- Practical session: Setting up Android Studio and creating a basic "Hello World" app.
- Practical session: Setting up Xcode and creating a basic "Hello World" app.
- Step-by-step demonstrations of mobile development concepts and techniques
- Practical session: Designing a user interface with common UI elements on both platforms.
- Case studies of successful mobile applications and their development processes
- Practical session: Implementing user input handling in an Android and an iOS app.
- Individual and group projects involving the development of simple mobile applications
- Practical session: Implementing local data storage in a mobile application.
- Testing and debugging exercises using emulators and simulators
- Practical session: Connecting a mobile app to a simple online API.
Course duration: 5 days
Training fee: USD 2500
Module 1: Introduction to Mobile Application Development
- Overview of the mobile app landscape (Android and iOS market share in Kenya)
- Native vs. cross-platform development: advantages and disadvantages
- Setting up the development environment: Android Studio and Xcode installation
- Understanding the mobile app development lifecycle
- Basic concepts of mobile app architecture
- Practical session: Exploring the Android Studio and Xcode interfaces.
Module 2: Android Development Fundamentals (Java/Kotlin)
- Introduction to Java or Kotlin programming for Android
- Android project structure and key components (Activities, Fragments, Intents)
- User interface design with XML layouts
- Common UI elements: TextView, EditText, Button, ImageView
- Handling basic user interactions and events
- Practical session: Creating a simple Android app with a button and text display.
Module 3: iOS Development Fundamentals (Swift)
- Introduction to Swift programming for iOS
- Xcode project structure and key components (View Controllers, Storyboards, Segues)
- User interface design with Storyboards and SwiftUI (introduction)
- Common UI elements: UILabel, UITextField, UIButton, UIImageView
- Handling basic user interactions and events
- Practical session: Creating a simple iOS app with a button and text display.
Module 4: User Interface Design and Layouts (Android)
- Layout managers: LinearLayout, RelativeLayout, ConstraintLayout
- Working with different screen sizes and densities
- Using styles and themes for consistent UI
- Implementing basic navigation (Intents)
- Introduction to Material Design guidelines
- Practical session: Designing a responsive layout using ConstraintLayout in Android.
Module 5: User Interface Design and Layouts (iOS)
- Auto Layout and constraints for adaptive UI
- Stack Views for arranging UI elements
- Working with different screen sizes and orientations
- Using UIKit for UI development
- Introduction to Human Interface Guidelines
- Practical session: Designing a responsive layout using Auto Layout in iOS.
Module 6: Handling User Input and Events (Android)
- Event listeners and handling user actions (clicks, touches)
- Input controls: EditText, CheckBox, RadioButton, Spinner
- Handling form submissions and data retrieval
- Input validation and error handling
- Using gestures for user interaction
- Practical session: Implementing a simple form with input fields and validation in Android.
Module 7: Handling User Input and Events (iOS)
- Target-action mechanism for handling user interactions
- Input controls: UITextField, UISwitch, UISlider, UIPickerView
- Handling form submissions and data retrieval
- Input validation and error handling
- Using gestures for user interaction
- Practical session: Implementing a simple form with input fields and validation in iOS.
Module 8: Data Storage - Local (Android)
- Introduction to local data storage options in Android
- Using SharedPreferences for simple data storage
- Working with SQLite databases using Room Persistence Library
- Performing basic CRUD operations with SQLite
- Understanding data storage best practices
- Practical session: Implementing data storage using SharedPreferences in an Android app.
Module 9: Data Storage - Local (iOS)
- Introduction to local data storage options in iOS
- Using UserDefaults for simple data storage
- Working with SQLite databases using Core Data (introduction)
- Performing basic CRUD operations with Core Data
- Understanding data storage best practices
- Practical session: Implementing data storage using UserDefaults in an iOS app.
Module 10: Connecting to Remote Data (APIs) - Fundamentals
- Introduction to RESTful APIs and JSON data format
- Making network requests using HTTP libraries (Volley/Retrofit for Android, URLSession for iOS)
- Parsing JSON responses
- Displaying data from an API in a mobile app
- Handling network errors
- Practical session: Fetching and displaying data from a public API in a mobile app.
Module 11: Working with Device Features - Camera (Android & iOS)
- Accessing the device camera for taking pictures and videos
- Handling camera permissions
- Displaying captured images and videos
- Basic image manipulation (e.g., resizing)
- Understanding privacy considerations
- Practical session: Implementing basic camera functionality in an Android or iOS app.
Module 12: Working with Device Features - Location (Android & iOS)
- Accessing the device GPS for location services
- Handling location permissions
- Getting current location coordinates
- Using location listeners for continuous updates
- Displaying location on a map (introduction)
- Practical session: Getting and displaying the current location in an Android or iOS app.
Module 13: Networking Basics in Mobile Development
- Understanding HTTP methods (GET, POST, PUT, DELETE)
- Handling different types of API requests
- Authentication and authorization in mobile apps
- Working with different data formats (e.g., XML)
- Background data synchronization
- Practical session: Implementing a POST request to send data to an API.
Module 14: Testing and Debugging Mobile Applications
- Using emulators and simulators for testing
- Debugging techniques in Android Studio and Xcode
- Using logcat and console output
- Unit testing and UI testing (introduction)
- Identifying and fixing common mobile app errors
- Practical session: Debugging a mobile app using breakpoints and log messages.
Module 15: Introduction to App Deployment (Android)
- Preparing an Android app for release
- Generating a signed APK
- Creating a developer account on Google Play Console
- Understanding the app submission process
- Basic app store optimization (ASO)
- Practical session: Generating a signed APK for an Android app.
Module 16: Introduction to App Deployment (iOS)
- Preparing an iOS app for release
- Creating a developer account on Apple Developer Program
- Creating app identifiers and provisioning profiles
- Building and archiving the app in Xcode
- Understanding the App Store Connect submission process
- Basic app store optimization (ASO)
- Practical session: Archiving an iOS app in Xcode.
Module 17: Differences and Similarities between Android and iOS Development
- Comparison of programming languages (Java/Kotlin vs. Swift)
- Comparison of UI frameworks (XML Layouts vs. Storyboards/SwiftUI)
- Differences in app lifecycle and background processing
- Similarities in core concepts and development workflows
- Considerations for cross-platform development
- Practical session: Comparing code snippets for similar functionality on both platforms.
Module 18: Mobile Application Architecture (Basic Concepts)
- Introduction to common architectural patterns (MVC, MVP, MVVM)
- Understanding the separation of concerns
- Basic principles of clean architecture
- Considerations for scalability and maintainability
- Overview of different architectural components
- Practical session: Discussing the architectural pattern used in a sample mobile app.
Requirements:
· Participants should be reasonably proficient in English.
· Applicants must live up to Armstrong Global Institute admission criteria.
Terms and Conditions
1. Discounts: Organizations sponsoring Four Participants will have the 5th attend Free
2. What is catered for by the Course Fees: Fees cater for all requirements for the training – Learning materials, Lunches, Teas, Snacks and Certification. All participants will additionally cater for their travel and accommodation expenses, visa application, insurance, and other personal expenses.
3. Certificate Awarded: Participants are awarded Certificates of Participation at the end of the training.
4. The program content shown here is for guidance purposes only. Our continuous course improvement process may lead to changes in topics and course structure.
5. Approval of Course: Our Programs are NITA Approved. Participating organizations can therefore claim reimbursement on fees paid in accordance with NITA Rules.
Booking for Training
Simply send an email to the Training Officer on training@armstrongglobalinstitute.com and we will send you a registration form. We advise you to book early to avoid missing a seat to this training.
Or call us on +254720272325 / +254725012095 / +254724452588
Payment Options
We provide 3 payment options, choose one for your convenience, and kindly make payments at least 5 days before the Training start date to reserve your seat:
1. Groups of 5 People and Above – Cheque Payments to: Armstrong Global Training & Development Center Limited should be paid in advance, 5 days to the training.
2. Invoice: We can send a bill directly to you or your company.
3. Deposit directly into Bank Account (Account details provided upon request)
Cancellation Policy
1. Payment for all courses includes a registration fee, which is non-refundable, and equals 15% of the total sum of the course fee.
2. Participants may cancel attendance 14 days or more prior to the training commencement date.
3. No refunds will be made 14 days or less before the training commencement date. However, participants who are unable to attend may opt to attend a similar training course at a later date or send a substitute participant provided the participation criteria have been met.
Tailor Made Courses
This training course can also be customized for your institution upon request for a minimum of 5 participants. You can have it conducted at our Training Centre or at a convenient location. For further inquiries, please contact us on Tel: +254720272325 / +254725012095 / +254724452588 or Email training@armstrongglobalinstitute.com
Accommodation and Airport Transfer
Accommodation and Airport Transfer is arranged upon request and at extra cost. For reservations contact the Training Officer on Email: training@armstrongglobalinstitute.com or on Tel: +254720272325 / +254725012095 / +254724452588