3
CHAPTER 1: System
You as a developer will create Android apps using Kotlin, Java, or C++ as a programming
language, or a combination of them. And you will be using the application framework and
the libraries to talk to the Android OS and the hardware. Using C++ as a programming
language
on a lower level, addressing target architecture peculiarities, leads to incorporating
the
Native Development Kit
(NDK), which is an optional part of the Android SDK. While for
special purposes it might be necessary to use the NDK, in most
cases the extra effort to
deal with yet another language and the special challenges it bears does not pay off. So in
this book, we will be mainly talking about Kotlin, and sometimes Java where appropriate.
The Development System
The operating system running on handhelds is one part of the story;
you as a developer also
need a system for creating Android apps. The latter happens on a PC or laptop, and the
software suite you use for it is
Android Studio
.
Android Studio is the IDE you use for development, but while
you install and operate it, the
software development kit (see the section “The SDK”) gets installed as well, and we will be
talking about both in the following sections. We will also cover virtual devices, which provide
an invaluable aid for testing your app on various target devices.
Android
Studio
The Android Studio IDE is the dedicated development environment for creating and running
Android apps. Figure
1-2
shows its main window together with an emulator view.
Android Studio provides the following:
Managing program sources for Kotlin, Java, and C++ (NDK)
Managing program resources
The ability to test-run apps inside emulators
or connected real devices
More testing tools
A debugging facility
Performance and memory profilers
Code inspection
Tools for building
local or publishable apps