Introduction Development of mobile applications (ANDROID with Kotlin). - Codeclick

share

Introduction Development of mobile applications (ANDROID with Kotlin).

Adverts

As a first step to start the process of learning about mobile application development, it is important to know a series of generalities about what they are and the characteristics of the operating system, so let's see…



Mobile devices.

Mobile telephony had an enormous growth and with the advancement of new technologies, phones went from communication devices only through calls, to become a mini pocket computer, which allowed the birth of a multitude of applications and tools at the same time. time. that meet the needs of users.

A mobile application is software built similarly to how a web system or desktop software is built, but like them, these applications have their own characteristics, approaches, types and particularities that make their use increasingly necessary.

There are mobile applications for whatever you can imagine, from leisure, productivity, social, informational applications among others, some independently and others as support to facilitate existing processes.

Why Android?

There are many mobile platforms (iOS, Symbian, Windows Phone, BlackBerry, Palm, Java Mobile Edition, Linux Mobile (LiMo), Firefox OS, etc.); However, Android has a series of characteristics that differentiate it.

android features

  • One of the most popular and used operating systems today
  • Adaptable to any type of hardware.
  • Portability.
  • Component-based architecture.
  • Devices with internet access.
  • Built-in services.
  • Security.
  • Optimization, memory and power.
  • Optimized graphics and sound.
  • Open platform.
  • Ease of creating Apps on this operating system

Android Origin.

  • Developed by Android Inc since 2003. Until purchased by Google in 2005.
  • The code was released under the Apache license when the Open Handset Alliance was created on November 5, 2007. Also considered the birthday of Android.
  • In 2008, the first compatible chips are created and the first Android phone, the HTC Dream, is launched.
  • Android versions start to be named like candy.

android versions

In android there are 3 ways to name the versions:

  • commercial version
  • version makers
  • Development Version

android architecture


This layer is the foundation of the platform, defines processes for low-level memory management, provides security services, multithreading, device driver support, this layer is the only one dependent on hardware.


Hardware Abstraction Layer (HAL)
This layer provides interfaces that expose the hardware capabilities of devices for interaction with the Java API, provides several modules that implement interfaces for using hardware components, for example for using cameras, GPS, bluetooth, etc.


It is based on the virtual machine concept used in Java and provides all the necessary runtime environment to test applications, initially before release. android 5 (API 21) runtime environment was used dalvik but for equal or higher versions it is replaced by ART which optimizes this process by allowing multiple virtual machines to run on low-memory devices, as well as improving debug compatibility and resource optimization.
Additional links new improvements in terms of compatibility and access to java libraries.

Many of Android's core components are based on native code that requires libraries written in C and C++, this layer allows us to access native components depending on our needs, for example to work with 2D, 3D, WebKit, SSL libraries, among others. .
For native development with C or C++ you should use Android NKD (Native Development Kit).


The set of Operating System functions is available through APIs developed in JAVA, this layer provides support for creating activities, content providers, lifecycle management, graphic components, localization elements, among other functionalities, this is independent of the language used. which you decide to develop, be it java or kotlin, which require the SDK.

This layer is made up of the set of applications installed by default on an Android machine, it provides applications for calendar management, Internet access, messages, email, contacts, among others.
These applications provide an alternative for users, allowing the installation of other external applications is not necessary, but does not prevent it.