Duration of the online course: 10 hours and 47 minutes
4.87
(359)
Build Android app skills fast with this free course: set up Android Studio, design UIs, handle intents, services, SQLite, and ship an APK with confidence.
In this free course, learn about
Set up Android dev environment: JDK/Android Studio install and JAVA_HOME environment variables
Create and configure new Android Studio projects; run apps on emulator/AVD and real devices
Navigate Android Studio UI, enable line numbers, and use productivity tools like code completion
Improve emulator speed using hardware acceleration and optimized virtual device settings
Understand activities: UI vs logic, lifecycle states, and key callbacks like onCreate()
Design UIs with layouts/widgets, GridLayout positioning, IDs, and dp vs px sizing consistency
Build UI via Java: set widget properties (e.g., colors), import color libraries, convert dp to px
Implement event handling: listeners/callbacks, long-click, gestures, and override onTouchEvent()
Use fragments for reusable/adaptive UIs; create fragment classes and communicate via interfaces
Implement common patterns: master-detail flow, WebView display, overflow menus, transitions
Use intents: explicit/implicit navigation, pass extras between activities, broadcast send/receive
Handle background work: threads, Handlers for UI updates, IntentService, started & bound services
Display lists with ListView, ArrayAdapter, and custom rows via custom adapters
Persist and share data: SQLite CRUD/queries, SharedPreferences, plus media, notifications, styling, APK/Git
About the free online course
Start building real Android apps from the ground up, even if you have never opened Android Studio before. This free beginner-friendly course guides you through the complete first steps of Android development: preparing your computer for Java, installing and configuring Android Studio, creating your first project, and running apps on an emulator so you can test changes quickly.
As you move forward, you will learn how an Android app is structured and how activities behave throughout their lifecycle, helping you avoid common mistakes that cause crashes, lost data, or confusing navigation. You will also gain practical confidence with the Android Studio interface and productivity features so that writing, organizing, and improving code becomes smoother over time.
A major focus is building interfaces that work well across many screen sizes. You will practice creating layouts, styling widgets, using density-independent measurements, assigning IDs, and responding to user actions through event handling. From clicks and long presses to gestures, you will learn how to connect what the user does to what the app should do, turning static screens into interactive experiences.
To help you create apps that feel complete, the course introduces core components that power modern Android features. You will explore fragments for flexible UI design, menus, transitions, and the use of intents to navigate between screens and pass data. You will also learn how broadcast messages work and what it takes to receive them safely in an app.
Performance and reliability are covered with practical approaches to threading and handlers so your interface remains responsive while work happens in the background. You will also study services, including bound services, to understand how apps can run tasks beyond a single screen. For data and media, you will work with list-based interfaces, saving information locally with SQLite, handling camera and image effects, and adding notifications and preferences for a more polished user experience.
Finally, you will connect your workflow to real distribution practices by working with GitHub and producing an APK, giving you a clear path from learning to sharing what you build. If your goal is to enter app development, strengthen your programming portfolio, or simply understand how Android apps are made, this course provides a hands-on foundation you can build on immediately.
Course content
Video class: Android App Development for Beginners - 1 - Introduction09m
Exercise: An important step happens for android developing when you hit start menu>properties>advanced system settings>environment variables, by creating a new variable with JAVA JDK properly with what its needed. Once you do it, what’s the main intention behind it?
Video class: Android App Development for Beginners - 2 - Installing Android Studio05m
Exercise: _What is Android Studio and what features does it have?
Video class: Android App Development for Beginners - 3 - Setting up Your Project06m
Exercise: _What is the purpose of building a simple basic Android studio project in the tutorial video?
Video class: Android App Development for Beginners - 4 - Running a Simple App10m
Exercise: _What is the package that helps speed up the process of running the virtual phones for testing in Android Studio?
Video class: Android App Development for Beginners - 5 - Tour of the Interface06m
Exercise: _What is the function of the navigation bar in Android Studio?
Video class: Android App Development for Beginners - 6 - Android Studio Tips05m
Exercise: How can you display line numbers in Android Studio?
Video class: Android App Development for Beginners - 7 - Create a Custom AVD08m
Exercise: What is the recommended method to improve emulator performance in app development?
Video class: Android App Development for Beginners - 8 - Basic Overview of an App11m
Exercise: _What is the difference between the user interface and the brains of an activity in Android development?
Video class: Android App Development for Beginners - 9 - Activity States06m
Exercise: _What is the first method that gets called when an activity is created in Android development?
Video class: Android App Development for Beginners - 10 - Running the State Changing Example07m
Exercise: _What is the purpose of using code completion in Android Studio?
Video class: Android App Development for Beginners - 11 - Designing the User Interface07m
Exercise: _What should you choose when creating a new project in Android Studio if you want to add activities manually?
Video class: Android App Development for Beginners - 12 - More on User Interface10m
Exercise: _What is the reason for using DP instead of pixels in Android app development?
Video class: Android App Development for Beginners - 13 - Create an Interface with Java08m
Exercise: While creating a interface with Java for your app, you’ll need some sets of commands to display the things you want in that interface. What command enables you to create a red button?
Video class: Android App Development for Beginners - 14 - Adding Properties to Widgets06m
Exercise: _What library do you need to import to work with colors in Android?
Video class: Android App Development for Beginners - 15 - Adding More Widgets08m
Exercise: _What is the purpose of setting an ID for each widget in Android development?
Video class: Android App Development for Beginners - 16 - Converting DIP to Pixels06m
Exercise: How can you ensure consistent display size across devices when setting width in Android?
Video class: Android App Development for Beginners - 17 - GridLayout09m
Exercise: At Grid Layout, it’s shown a very handful way to position a button or to alter its size or a widget, what resource does it make use of?
Video class: Android App Development for Beginners - 18 - Event Handling07m
Exercise: _What is event handling in Android development?
Video class: Android App Development for Beginners - 19 - Event Listener and Callback Method06m
Exercise: What is one of the first steps in setting up a button event listener in Java?
Video class: Android App Development for Beginners - 20 - Multiple Event Listeners05m
Exercise: What happens when a Long Click Event is triggered in a button in Android?
Video class: Android App Development for Beginners - 21 - Gestures12m
Exercise: What does the gesture detector do in the tutorial's app?
Video class: Android App Development for Beginners - 22 - Running the Gesture App04m
Exercise: What is the role of overriding the onTouchEvent method in an application?
Video class: Android App Development for Beginners - 23 - Fragments05m
Exercise: Regarding the Fragment’s advantages, what’s one of its biggest uses when developing an android app?
Video class: Android App Development for Beginners - 24 - Designing the Top Fragment07m
Exercise: What is a necessary component when creating a fragment in Android?
Video class: Android App Development for Beginners - 25 - Creating the Fragment Class06m
Exercise: What is a vital rule when creating a Java class for Android fragments?
Video class: Android App Development for Beginners - 26 - Finishing the Meme Apps Design08m
Exercise: What is the default hex color code for the text mentioned in the transcript?
Video class: Android App Development for Beginners - 27 - Listening for Button Clicks06m
Exercise: What is the primary way fragments communicate in the described setup?
Video class: Android App Development for Beginners - 28 - Communicating with Main Activity07m
Exercise: What is the purpose of the interface in the tutorial?
Video class: Android App Development for Beginners - 29 - Changing the Memes Text05m
Exercise: What is the main focus of the implementation described?
Video class: Android App Development for Beginners - 30 - Dank Meme Bro01m
Exercise: What is the main objective of the tutorial mentioned in the video?
Video class: Android App Development for Beginners - 31 - Master Detail Flow09m
Exercise: What is the main feature of a Master-Detail Flow in app design?
Video class: Android App Development for Beginners - 32 - Master Detail Flow Example08m
Exercise: What element is primarily used to display web pages in the app interface?
Video class: Android App Development for Beginners - 33 - Overflow Menu15m
Exercise: What is the purpose of the overflow menu in an app?
Video class: Android App Development for Beginners - 34 - Animations and Transitions14m
Exercise: What library is necessary for a smooth transition animation?
Video class: Android App Development for Beginners - 35 - Intents07m
Exercise: Among the many features of Android app development, there is one called ‘Intent’, what is that?
Video class: Android App Development for Beginners - 36 - Sending Extra Intent Data11m
Exercise: How do you pass data between activities in Android?
Video class: Android App Development for Beginners - 37 - Sending Broadcast Intents07m
Exercise: What are broadcast intents in Android?
Video class: Android App Development for Beginners - 38 - Receiving Broadcast Intents07m
Exercise: What is essential to set up for a broadcast receiver in Android?
Video class: Android App Development for Beginners - 39 - Threads09m
Exercise: What is one main reason for using threads in Android development?
Video class: Android App Development for Beginners - 40 - Thread Handlers08m
Exercise: Why is it important to use a Handler in Android when updating the user interface from a thread?
Video class: Android App Development for Beginners - 41 - Intent Service10m
Exercise: What is the function of a service in an app?
Video class: Android App Development for Beginners - 42 - Services10m
Exercise: Regarding ‘Service’ that differs from Intetion’s services, what is it proper usage?
Video class: Android App Development for Beginners - 43 - Bound Services10m
Exercise: What is the advantage of using bound services in Android development?
Video class: Android App Development for Beginners - 44 - Bound Services Example09m
Exercise: What is the purpose of the Service Connection class in Android?
Video class: Android App Development for Beginners - 45 - ListView07m
Exercise: A ‘List View’ is a basic feature with very simple usage, making it easy to work with, but what’s it usage?
Video class: Android App Development for Beginners - 46 - ListView Example08m
Exercise: What is the primary function of an ArrayAdapter in Android?
Video class: Android App Development for Beginners - 47 - Custom ListView Row08m
Exercise: What is the purpose of creating custom list items in the tutorial?
Video class: Android App Development for Beginners - 48 - Custom ListView Adapter10m
Exercise: Why create a custom adapter in Android development?
Video class: Android App Development for Beginners - 49 - Saving Data with SQLite04m
Exercise: What is the primary use of SQLite discussed in the tutorial?
Video class: Android App Development for Beginners - 50 - SQLite Database Product04m
Video class: Android App Development for Beginners - 51 - Creating a New SQLite Database11m
Video class: Android App Development for Beginners - 52 - Adding and Deleting Rows11m
Video class: Android App Development for Beginners - 53 - Printing Database Results06m
Video class: Android App Development for Beginners - 54 - Testing the SQLite App09m
Video class: Android App Development for Beginners - 55 - Playing Video10m
Exercise: Playing a Video in an app has many elements to its structure that the developer needs to be wary of, just like everything else. What command in the thread allows the user to play/stop/pause/etc
Video class: Android App Development for Beginners - 56 - Image Capture07m
Video class: Android App Development for Beginners - 57 - Taking Photos with the Camera08m
Video class: Android App Development for Beginners - 58 - Image Effects09m
Video class: Android App Development for Beginners - 59 - Inverting an Image09m
Video class: Android App Development for Beginners - 60 - Creating Photo Filters06m
Exercise: By Creating Photo Filters, maybe it seems complex or not for some people, but in essence, what does it do?
Video class: Android App Development for Beginners - 61 - Notifications08m
Video class: Android App Development for Beginners - 62 - Custom Notifications10m
Video class: Android App Development for Beginners - 63 - Styles09m
Video class: Android App Development for Beginners - 64 - Themes06m
Video class: Android App Development for Beginners - 65 - Shared Preferences06m
Video class: Android App Development for Beginners - 66 - Shared Preferences Example11m
Video class: Android App Development for Beginners - 67 - Custom Launcher Icon06m
Exercise: When designing your custom launcher icon, it needs some pre-set sizes and to be a certain type of file to ease up the upcoming configurations, what are those?
Video class: Android App Development for Beginners - 68 - Working with GitHub07m
Video class: Android App Development for Beginners - 69 - Creating an APK File for Distribution06m
Video class: Android App Development for Beginners - 70 - LibGDX Game Development06m
Video class: Android App Development for Beginners - 71 - LibGDX Game Project Structure04m
Video class: Android App Development for Beginners - 72 - LibGDX Displaying Text09m
Video class: Android App Development for Beginners - 73 - LibGDX Displaying Images05m
Video class: Android App Development for Beginners - 74 - LibGDX Game Animation12m
Video class: Android App Development for Beginners - 75 - LibGDX Handling User Input13m
Video class: Android App Development for Beginners - 76 - LibGDX Camera11m
Video class: Android App Development for Beginners - 77 - LibGDX Sound Effects and Streaming Music11m
Course comments: Android for beginners
Jappie Blou
excellent thanks
Mpho Mmutlang
I Like this online course's, their easy to understand
Paul Hill
The way you explain things makes it really easy to understand the what the how and the why
Ruthchelle
Good and stable to learn