Earn the Official Certificate after Completing the Course
Even though Kotlin is a full-fledged functional programming
language, it preserves most of the object-oriented nature of Java as
an alternative programming style, which is very handy when
converting existing Java code. Kotlin has classes with constructors,
along with nested, inner, and anonymous inner classes, and it has
interfaces like Java 8. Kotlin does not have a new keyword. To
create a class instance, call the constructor just like a regular
function. We saw that in the screenshot above.
Kotlin has single inheritance from a named superclass, and all
Kotlin classes have a default superclass Any, which is not the same
as the Java base class java.lang.Object. Any contains only three
predefined member functions: equals(), hashCode(), and toString().
Kotlin classes have to be marked with the open keyword in order to
allow other classes to inherit from them; Java classes are kind of
the opposite, as they are inheritable unless marked with the final
keyword. To override a superclass method, the method itself must be
marked open, and the subclass method must be marked override. This
is all of a piece with Kotlin’s philosophy of making things explicit
rather than relying on defaults. In this particular case, I can see
where Kotlin’s way of explicitly marking base class members as open
for inheritance and derived class members as overrides avoids
several kinds of common Java errors.
Then, you'll learn how to create apps and run them on virtual
devices through guided exercises. You'll cover the fundamentals of
Android development, from structuring an app to building out the UI
with Activities and Fragments and various navigation patterns.
Progressing through the chapters and lectures, you'll delve into
Android's RecyclerView to make the most of displaying lists of data
and become comfortable with fetching data from a web service and
handling images. You'll then learn about mapping, location services,
and the permissions model before working with notifications and how
to persist data. Moving on, you'll get to grips with testing,
covering the full spectrum of the test pyramid. You'll also learn
how AAC (Android Architecture Components) are used to cleanly
structure your code and explore various architecture patterns and
the benefits of dependency injection. The core libraries of RxJava
and Coroutines are covered for asynchronous programming. The focus
then returns to the UI, demonstrating how to add motion and
transitions when users interact with your apps. Towards the end,
you'll build an interesting app to retrieve and display popular
movies from a movie database, and then see how to publish your apps
on Google Play. By the end of this course, you'll have the skills
and confidence needed to build fully-fledged Android apps using
Kotlin.
Are you trying to start a career in Android programming, but haven't
found the right way in? Do you have a great idea for an app, but
don't know how to make it a reality? Or maybe you're just frustrated
that to learn Android, you must already know Kotlin. If so, then
this course is for you
When Android first arrived in 2008, it was a bit drab compared to
the much more stylish iOS on the Apple iPhone/iPad. But, quite
quickly, through a variety of handset offers that struck a chord
with practical, price-conscious consumers, as well as those who are
fashion-conscious and tech-savvy, Android user numbers exploded. For
many, myself included, developing for Android is the most rewarding
pastime and business, bar none. Quickly putting together a prototype
of an idea, refining it, and then deciding to run with it and wire
it up into a fully-fledged app, is such an exciting and rewarding
process. Any programming can be fun – I have been programming all my
life – but creating for Android is somehow extraordinarily
rewarding..
Kotlin is the most succinct language, and therefore is the least
error-prone, which is great for beginners. Kotlin is also the most
fun language, mainly because the succinctness means you can get
results faster and with less code. Google considers Kotlin an
official (first-class) Android language. There are some other
advantages to Kotlin that make it less error-prone and less likely
to make mistakes that cause crashes. We will discover the details of
these advantages as we proceed.
Kotlin is an object-oriented language. This means that it uses the
concept of reusable programming objects. If this sounds like
technical jargon, another analogy will help. Kotlin enables us and
others (like the Android API development team) to write code that
can be structured based on real-world things, and here is the
important part – it can be reused.