ANDROID APPLICATIONS
Nowadays, the massive adoption of mobile devices to perform our tasks in life is behind the exponential growth in the use of mobile applications as well as in the number of mobile users. In 2019, users downloaded over 200 billion apps and spent more than $120 billion in app stores worldwide, and will surpass that mark this year. In this chapter, we will start by introducing mobile applications, their definitions, and features in section 2, then we will talk about the Android platform in section 3 before detailing the Android applications, and then we will discuss cab booking apps with an example in section 4. Section 5 concludes the chapter. 1.2. Mobile applications Mobile applications arrived in the 1990s. They are linked to developments in Internet and telecommunications, agent technologies, wireless networks, and the emergence and popularisation of mobile terminals. Over time, the mobile domain has undergone considerable development, particularly since 28 November 2007 when it became a fully-fledged IT domain [3]. In this section, we will describe the main basic concepts of mobile applications. 1.2.1. Definition A mobile application or « Apps » is application software developed to be installed on a mobile electronic device, such as a PDA, mobile phone, smartphone, or personal digital player. Such an application may be installed on the device at the time of its design or, if device allows it, downloaded by the user through an online store, such as Google Play or the App Store. [4] [5] 1.2.2. Characteristics of mobile applications From the target point of view: mobile applications are referred to as electronic devices such as : – Smartphones, tablets, personal digital assistants (PDAs)… etc. From the hardware context point of view: to be able to say that a mobile application is successful, it must have some very important criteria which are the following [6] : – Lower resources: CPU, RAM, DD, ROM. – Resource consumption must be minimal e.g.: Power consumption; Optimization of the application process to ensure efficient use of energy. – An adapted Graphical User Interface (GUI): a good display quality, a criterion to seduce the user. From a software context point of view: mobile applications can be : – Connected applications: it is an application that requires an internet connection for good functioning. – Non-connected applications: called independent applications, these are applications that work without the need for an internet or telephone connection, such as a contact list, calculator, calendar, walkman, console… – Localized applications: GPS navigation, geo-localized works… 1.2.3. Types of mobile applications Currently, there are three (3) types of a mobile application that any user may encounter: web application, native application, and hybrid application as shown in the figure 1.1 :
Native or embedded application
is based on the language of the platform that hosts it. They are therefore programs developed to execute certain functionalities and be deployable in particular mobile platforms or devices. A native application is therefore a mobile application developed for an operating system used by smartphones and tablets (IOS, Android, Windows phone). It is developed with the language specific to its operating system. Indeed, the development of the native application requires the use of the smartphone’s memory without omitting the options related to the targeted operating system (GPS, Camera…). Advantages – Better performance through the use of valid software and hardware in the mobile device. – Since these applications are already installed in the device and use the data already in existence, they can be run offline without the need for the Internet. – Each application is distinguished by its logo to attract the attention of the user. Disadvantages – The major disadvantage of this type of application is that they are strongly related to the device in which they are installed, which will result in the impossibility to evolve or exploit new technologies.
Mobile web application
these types of applications work like websites, they are mainly developed using web technologies such as HTML5 or CSS3 thanks to HTML5 support and designed specifically for mobile-optimized display [8] Indeed all devices with a web browser can use this type of application. A web application does not take into account the different models of operating systems and brands of smartphones, it is not always ergonomic and moreover it does not use the embedded memory of the smartphone which places it at a disadvantage compared to the native application. Advantages – The most important advantage of mobile web applications is the ability to deploy on multiple platforms regardless of device type mobile. – Cheaper, easy, and quick to develop. – Easy access using a simple URL without the need for installation or the downloading the supplements. Disadvantages – Traditional browsers outperform browsers on mobile devices. – Mobile web applications cannot exploit the functionality offered by mobile device software and hardware. – The performance of mobile web applications depends on the speed and state of the Internet connection.
Hybrid App or Hybrid App
is the combination of native applications and mobile web applications. The synergy between these two types of applications results in a reduction in time, development effort, price, and maintenance. These applications can be downloaded via online shops, installed on the device, and run from a simple icon like native applications. Hybrid mobile applications are created to run on multiple platforms .
Android
There are different mobile operating systems, in this section, we will focus on the platform we have chosen to develop our application. We start with the definition of the Android platform, its benefits, features, and architecture, and then we detail the basic concepts of Android applications.
Android operating system
The android operating systemis a software platform and operating system developed by Google (2007). Android is based on the Linux kernel in order to be exploited by a wide variety of mobile devices. The popularity of Android is due to the fact that it can be found on a range of devices from different manufacturers including, Samsung, Motorola and HTC, so Android is increasing its technological lead over much cheaper mobiles.
Advantages of the Android platform
We chose the Android operating system for the following reasons : No license to obtain, no expense for distribution and development. To develop location-based applications using GPS. Use geographical maps with Google Maps. Receive and send SMS, send and receive data on the mobile network. Record and playback images, sound, and video. Shared data storage tools (SQLite in Sandbox version). Hardware acceleration for 2D and 3D. Services and applications that can run in the background: that can react during an action, at your position in the city, at the time it is, depending on the identity of the caller. A development platform that promotes the reuse of components software and the replacement of the applications provided.
Characteristics of Android
There are many Android operating system features. Among these features are : Web browser: Web browser based on the Webkit rendering engine. Graphics: 2D graphics library, 3D graphics library based on OpenGL ES 1.0. Hardware acceleration possible. Storage: SQL database: SQLite is used for data storage. Media: Android supports the following audio/video/image formats: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF