
A welcome to the course and a few things to keep in mind.
Install Android Studio on Linux, verify a 64-bit system, download from developer.android.com, run studio.sh, install the Android SDK, and enable KVM virtualization for emulator performance.
Configure Android Studio for productivity by using the stable channel, enabling auto import on the fly with optimize imports, showing line numbers and method separators, and adjusting code folding options.
Discover free YouTube resources that answer common programming career questions—how long it takes, math skills, age, and transitions—complements this Android Java masterclass course.
Kick off your first Android app by creating a project, then run it on an emulator (AVD) or real device. Explore Android Studio templates and their impact.
Explore Android Studio's layout editor, the activity_main layout, and the project panes to learn how ConstraintLayout, widgets, and TextView define the screen.
Connect a real Android device, such as the Nexus 5x, to Android Studio for accurate testing by enabling developer options, USB debugging, and installing the necessary drivers.
Learn to build cross-device Android layouts with constraint layouts, use dp and sp for scalable widgets and text, and test across devices from phones to wearables.
Learn how to implement horizontal and vertical scrolling in Android layouts by enabling scrollable edit texts, configuring scroll bars, and using constrained layouts with proper biases.
Explore how Android activities, bundles, and classes work together to build a button counter app, wiring onCreate, setContentView, and app compat to support older devices.
Address ID confusion by simulating layout errors, validate button IDs with findViewById, and test onclicklistener behavior while exploring Android Studio lint warnings and preparing for the next Android challenge.
Understand the Android activity lifecycle and how to save and restore text using on save instance state and on restore instance state.
Learn how to overload constructors in java to create players with default or specified names and levels, using this to chain constructors and initialize fields efficiently.
Learn how Java uses method signatures and constructors to create objects, set a default weapon, and chain getters and setters, illustrated with a weapon and a player example.
Build a simple calculator app to practice complex layouts, constraint layout guidelines, button listeners, different layouts for portrait and landscape screens, and use Android Studio diff feature to compare code.
Create separate landscape layouts for different screen sizes in Android Studio, adjust constraints between two edit text widgets, and refine landscape orientation with a landscape variation.
Download and parse an RSS feed with XML. Display results in a ListView with adapters, including a custom adapter, using AsyncTask for background work, and a menu.
Implement a custom Android adapter by overriding getCount and getView to populate a ListView from the applications list, inflating the item layout and binding name, artist, and summary.
Optimize list rendering in Android by reusing views with convertView in a custom adapter, reducing memory use and scroll lag in large lists.
Learn to implement the ViewHolder pattern in your list adapters to cache TextView references, replace repeated findViewById calls, and improve ListView performance and smoothness on older devices.
Develop and wire up an Android options menu by handling onOptionsItemSelected with a switch on the MenuItem ID, setting feed URLs, and reusing a downloadUrl method to fetch data.
Add a refresh option to the feed menu, compare the cached URL to avoid re-downloading, and restore the URL in onCreate after rotation.
Set up a YouTube video player app in Android Studio and configure a unique company domain for the API key, using a third-party library and the YouTube API with callbacks.
Create a YouTube activity from the main screen using Android Studio’s activity wizard, naming it YouTubeActivity and using layout activity_youtube. Implement YouTubeBaseActivity and OnInitializedListener to use the YouTube Player API.
Test app functionality by running on a real device, handle orientation changes, and implement playback and state listeners for YouTube video events, including onPlaying, onPaused, and onVideoEnded.
Learn to implement YouTube player callbacks using PlaybackEventListener and PlayerStateChangeListener, initialize listeners in onInitializationSuccess, and validate events with toast messages as videos play and end.
Explore autoplaying videos with YouTube's standalone player using createVideoIntent and createPlaylistIntent, including timeMillis, autoplay, lightboxMode, and startIndex parameters.
Explore how to use Flickr's public feed API to search public photos by tags, choose data formats like JSON or XML, and display images in an Android app.
Set up a Flickr Browser project in Android Studio, convert layouts to ConstraintLayout, fix Gradle sync, and add logging with live templates for JSON download via AsyncTask and an adapter.
Build dynamic urls with Uri.Builder for Flickr API requests using appendQueryParameter. Parse the json response with org.json to extract items, titles, authors, and image links.
Test json parsing with the GetFlickrJsonData class, implement callbacks in onPostExecute, and manage background tasks by running on the same thread to avoid extra threads.
Create a recycler view interface for the Flickr browser, integrating content_main with activity_main, and configure constraints, margins, and a vertical scrollbar while applying toolbar layout behavior.
Create a search activity with a toolbar and a defined hierarchical parent, then design a photo detail layout using a vertical linear layout, scroll view, and card view.
Design a recycler view adapter to display photo thumbnails by binding a list of Photo objects to a FlickrImageViewHolder. Thumbnails download asynchronously from Flickr as the list scrolls.
Learn how to pass a serializable photo object between activities, add a serialVersionUID, and display its details in PhotoDetailActivity by binding text views and loading the image.
Learn to organize colors in styles.xml, extend AppTheme.NoActionBar to replace the action bar with a toolbar, and create values-v23 styles to fix CardView backgrounds on API 23 and above.
Update and sync Android Studio projects with the latest build tools, adjust Gradle versions, and apply material design colors by editing styles.xml and color resources for Marshmallow and newer APIs.
Learn to integrate a SearchView into the app toolbar by creating a menu_search, wiring the SearchView in SearchActivity, handling onCreateOptionsMenu, and configuring a basic searchable.xml with label and hint.
Master complex sql querying by combining tables with inner joins across songs, albums, and artists, using select statements, where clauses, and order by to produce tailored outputs.
Learn to manage an android sqlite database by handling create table errors with drop table if exists, iterating cursor data with moveToFirst and do-while, and displaying records with toast messages.
Explore Android content providers to share structured data between apps, manage database access across lifecycle events, and use a cursor loader for a contacts app with add, edit, and delete.
Learn to access Android contacts data via a content provider by querying ContactsContract.Contacts with a content resolver, selecting display_name_primary and sorting by the contact name.
Master the Android runtime permission flow by checking with checkSelfPermission, requesting with requestPermissions for API 23 and above, and handling grant or denial via onRequestPermissionsResult.
Learn to use intents with setData and URIs for advanced interactions, including permission rationale handling and guiding users to app settings when access is denied.
Learn how the uri matcher simplifies content provider uri handling by mapping patterns with addUri to constants and directing actions via a clean switch statement.
Implement robust data inputs and prevent sql injection by using a content provider with content values, uri-based operations, and selection arguments to insert, query, update, and delete tasks.
Design the add_edit layout with a vertical linear layout, three edit texts (addedit_name, addedit_description, addedit_sort_order), and a save button (addedit_save).
Examine the generated files when adding a fragment to an activity, including the manifest and content_add_edit and fragment_add_edit layouts for reuse and two-pane layouts.
Corrects errors, extracts string resources, and implements adapter logic to power a recycler view with a cursor, ensuring updated data through the loader and content provider.
Dynamically add fragments to a layout based on screen configuration, using two-pane layouts and the fragment manager to show add/edit fragments.
Pass task data to fragments using setArguments and getArguments with a bundle. Use replace instead of add when swapping fragments for reliable portrait and landscape behavior.
Implement a confirmation dialog for unsaved changes when the back or up button is pressed in portrait mode. Use AddEditActivity's fragment canClose logic and dialog events to manage navigation.
Test your Android app across API 16 and above using emulators, verify toolbar behavior, and fix URL compatibility by using version-specific resources and intents to launch a browser.
Run the app on api 16 and api 25 emulators to verify cross-version functionality, add an onClickListener for the about URL, and ensure the URL scheme is present.
Understand how appcompat libraries influence fragment lifecycles and dialog handling, and learn to diagnose compatibility issues by examining onAttach versus onCreate, API level differences, and proper lifecycle use.
Learn to adapt DialogFragment using the Android support libraries for backward compatibility, updating imports, and using the support fragment manager for reliable behavior.
There’s no getting around it.
Android accounts for 81.7% of all smartphones sold, but not all come packed with the very latest Android Nougat.
That won’t worry you because after completing this course, the apps you build will perform brilliantly on Android Nougat or any older Android operating system.
Now that’s something most courses don’t teach you!
So, you want to be an Android 7 Nougat programmer? Or you are interested in Android 8 Oreo?
Well, I’m Tim Buchalka, one of your instructors, and I’ve designed the Android 7 Nougat App and Android 8 Orea Masterclass just for you! Yes one, course covering both version!
Choosing a course that’s perfect for you can be damn hard. You need Instructors:
· Who are passionate about what they do.
· Keep their courses continually updated.
· And most important, provide outstanding support and follow up to your questions.
That’s what I do. And that’s the reason why I made it into the Top 10 List of Outstanding Instructors in the 2015 Udemy Instructor Awards.
Know that you’re exactly in the right place to MASTER Android 7 Nougat app programming as well as Android 8 Oreo!
Yes, we are in the process right now of updating the entire course to Android Oreo now it has been released by Google!
In this course, you will discover the power of Android app development, and obtain the skills to dramatically increase your career prospects as a software developer. You’ll also have a head start over other developers using obsolete tools and earlier versions of Android.
Android is continually being updated, so OLD versions of the operating systems will have features from the latest version. It's called AppCompat, which is a set of support libraries used to make apps developed with newer versions, work with older versions.
But it only works if the developer codes it a right way. It doesn’t just happen by default. The way I teach you in this Masterclass course is the right way!
With my course, you get the best of both worlds. You’re taught to write code for the latest version of Android Nougat with a strong focus on AppCompat. That way, the apps you build will also support older versions of Android.
Most Android courses just focus on teaching app development for the current Nougat version. What that means is you’re only taught to make apps for the latest version of Android, and that alienates a huge user base.
With my course, that’s not the case. Your skill level is maximized so your app reaches more users, which means more downloads, which means more money.
Starting is easy because no previous programming experience is needed. NONE! If you do have it, great. Or maybe you just want to brush up on your Android development skills, and that’s fantastic too.
The course is presented using a combination of video, slides and diagrams, all designed to teach you everything you need to know.
This is what you’ll learn in the course:
· Develop apps for the very latest version of Android 7 Nougat that also work on older Android devices running older versions of the Android operating system.
· Download, install and configure the necessary (free) software.
· Create your first app.
· Build a range of apps demonstrating key aspects of the Android framework.
· Test your apps on emulators or a real Android phone or tablet.
· You’ll learn Java programming because Android app development requires knowledge of Java. Included are Java tutorial videos that will get you up to speed fast.
· Ensure your apps work with current and older Android versions on phones and tablets.
· Use Android studio 2.3, the newest version of Google's premier Android tool.
· Learn how to use databases, web services, and even get your apps to speak!
· Understand the all new Constraint layout, for "drag and drop" screen creation.
· Use powerful libraries of code to play videos, download website data, manipulate images, and a whole lot more!
To reinforce what you’ve learnt during the course, there are numerous challenges designed to help you understand each concept being taught. You’re also shown the solution to the challenge so you know you’re always on the right track.
The course is continually updated and enhanced, and fully supports Android Nougat as it evolves. New content is added each week, guaranteeing what you’re learning is relevant for you today and will never be obsolete.
With many courses, it’s just set and forget. But not with mine! I’ve got a PROVEN track record of continually updating and adding new content. An example is my Java Masterclass course which now has 65 hours of content and counting, and benefited a whopping 80,000 students.
And if you have any doubts about the course, be blown away by the glowing reviews left by students on this page.
Your instructors are me and Jean-Paul Roberts. Between us we have a collective 60 years of commercial software development experience, meaning you’re learning the right way to program to maximize your future development potential.
Here’s what’s important. There’re a lot of people out there teaching Android Nougat who are not developers. We’re developers with many years’ experience with the Android platform, who also teach Android Nougat.
Importantly, our courses teach students the real-life skills needed to get those in-demand jobs or further your programming skills.
Take this course in confidence today knowing you have just found the BEST Android 7 Nougat/Android 8 Oreo course on Udemy! Don't delay. Every minute you’re not learning Android 7 is a missed opportunity for that PERFECT high paying job.
Click the BUY NOW button and start learning. The world needs your new apps!
Testimonials
"Tim is a great Teacher and makes this stuff really easy to understand. He takes you from Zero to Expert in no time at all and always answers any questions I ask him almost right away. I started with Tim's other "Complete Java Developer Course" which gave me a great Foundation in the principals of the Java Programming Language and unlike other Teachers on Udemy, Tim is ALWAYS adding new videos to his courses. If your thinking of taking this Course, I can tell you that when you learn the things Tim is teaching here, your Job prospects will be well enhanced. Thanks Again Tim." - Oliver Farren
"Excellent communicator. Videos are very well organized and Tim articulates the important information very well. As a software programmer for over 30 years he certainly knows his stuff!!!!" - Dale Stewart