The package name is a unique name to identify a specific app. Generally, the package name of an app is in the format
domain.company.application, but it’s completely up to the app’s developer to choose the name. The domain portion is the domain extension, like com or org, used by the developer of the app. The company portion is usually the name of the developer’s company or product. The final application portion usually describes the app itself.
Android SDK Version
The minimum required SDK is the lowest version your app will support. Your app will run on devices with this level API or higher. Choosing the right version is a bit of a balance since we want to be able to use newer features from later versions, but still write an application that applies to most users.
Within a project, there are one or more modules. Typically, an app can be developed with a single module
app. Modules provide a container for your app’s source code, resource files, and app level settings, such as the module-level build file and Android manifest file. Each module can be independently built, tested, and debugged.
Every Android app must include a file called
AndroidManifest.xml at its root. The manifest file contains essential information about the app, such as what components it contains, required libraries, and other declarations.
Gradle Build File
Gradle Scripts > build.gradle
There are two files with this name: one for the project and one for the app module. Each module has its own
In Android Studio, the app layout can be edited using Android studio Layout Editor. This generates (and modifies) layout XML files in
app->scr->res. These files can also be coded directly or dragging GUI components in the design editor.
The Android emulator allows you to run your app on an Android virtual device (AVD), which behaves just like a physical Android device. You can set up numerous AVDs, each emulating a different type of device.
Adding messages to a log can be a useful way of checking that your code works the way you want. Each message is composed of a String tag you use to identify the source of the message, and the message itself.
Log.v(String tag, String message) // Logs a verbose message. Log.d(String tag, String message) // Logs a debug message. Log.i(String tag, String message) // Logs a information message. Log.w(String tag, String message) // Logs a warning message. Log.e(String tag, String message) // Logs a error message.