Codecademy Logo

Getting Started with Android

Package Name

The package name is a unique name to identify a specific app. Generally, the package name of an app is in the format, 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.

App Module

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.

Android Manifest

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 build.gradle file.

Layout Editor

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.

Android Simulator

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.

Android Logcat

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.

Static Code Analysis

A lint, or linter, is a static code analysis tool used to evaluate and improve source code without executing it. It can find and flag programming errors, bugs, and patterns that may compromise security. The most popular JavaScript linters are ESLint, JSLint, and JSHint. They can be customized to one’s needs by using configuration files or third-party plugins.

eslint-plugin-security is a plugin for ESlint that adds rules to detect several security vulnerabilities including unsafe regular expressions, non-literal exec(), eval() used with an expression, and more!