1a. The Android architecture is a design for mobile devices encompassing a stack of software to support mobile device needs. The main components of a pile of software that makes an android architecture include android runtime, applications, platform libraries, Linux Kernel, and android framework (Tulane, 2021; Meng et al., 2018). The Linux Kernel plays the most significant role among these five layers since it provides the operating system functions (Tulane, 2021). For this reason, other components cannot function without Linux Kernel
1b. The primary purpose of the Android Runtime (ART) is to power the applications and the core libraries. Once a mobile device with an android operating system is active, the ART translates the bytecode into a built-in instruction. It communicates with other applications for the device to function as required. Therefore, ART improves garbage collection and helps increase battery performance by reducing CPU operations affecting running applications in case of a compilation absence (Dora & Arthur, 2020). Therefore, a software developer must understand the functions of the ART environment to increase efficiency depending on the needs of the product.
2a. Android Operating Systems encompass several code names. These code names include Petit Four, Cupcake, Donut, and Éclair, all developed in 2009 (Su, 2018). In 2010, two code names were launched: Froyo and Gingerbread (Su, 2018). Similarly, in 2011, there were two code names, Honeycomb and Ice Cream Sandwich (Su, 2018). From 2012 to 2018, one code name was created per year, including Jelly Bean, KitKat, Lollipop, Marshmallow, Nougat, Oreo, and Pie (Su, 2018). Finally, Android 10 and Android 11 are the latest code names for Android operating systems since 2019.
2b. The four components used in an android application include activities, services, broadcast receivers, and content providers (Nautiyal, 2021). Services update data sources and activities and perform tasks when applications are inactive (Nautiyal, 2021). Content providers support the operating system by sharing data beyond the application boundaries (Nautiyal, 2021). Conversely, broadcast receivers create event-driven applications because they react to any intent. Finally, activities keep track of what a consumer cares about and ensure the system runs until the user decides to end the process (Developers, 2021).
3a. The following libraries are integral to Android application development. Android. The app contains all the information a developer needs to build an app. Some of the content in this library include code, android manifest, or resource files. The Android. The view package contains TextView and EditText necessary for the user interface. Therefore, this library helps with drawing and event handling. Next is the Android.WebKit, which provides web browsing tools. In this case, developers need Android.WebKit facilitates a Web page or Web application to run effectively on an Android device. Android provides packages for operating systems compatible with different versions of Android devices. Finally, Android. Text is part of a system containing the tools that facilitate all the texts an Android user types on their devices.
|PLATFORM VERSION||API LEVEL||VERSION CODE|
|Android 4.4 – 4.4.4||19||KITKAT|
|Android 4.2, 4.2.2||17||JELLY_BEAN_MR1|
|Android 4.1 – 4.1.2||16||JELLY BEAN|
|Android 4.0.3 – 4.0.4||15||ICE_CREAM_SW MR1|
4. The notification anatomy comprises six sections, as depicted below.
1- Small icon. Its role is to inform the user about the notification (GitBook, 2021)
2- App name. The device user can tell that the notification is a message. The system provides the app name (GitBook, 2021).
3- Timestamp. The role of this section is to notify how long the notification was sent. The device system also provides a timestamp (GitBook, 2021).
4- Large notification icon. The device user has the freedom to use it on contact photos (GitBook, 2021).
5- Title. A user creates contact titles, such as names of persons in the contact list. This notification helps a device user differentiate the different contacts (GitBook, 2021).
6- Body. The device user sends the notification message. For example, if the individual is sending an SMS, the body is required since it contains the message sent to the receiver (GitBook, 2021).
5a. Hybrid developers can create a React Native application using expo. React Native is open-source platform developers use to access sources they need for mobile applications. The format for building React Native application using expo and focusing on the dcit-202 application involves the following steps. First, the hybrid developer should install React Native: Expo CLI which is integral to setting up the development environment (Pandya, 2020). Next, the developer should install Android Studio as the development environment suitable for Android. Once the android studio is installed, the developer should check boxes for Android SDK, Android SDK Platform, and Android Virtual Device (Pandya, 2020). Later, the developer should install Installing IDEs of any choice, including but not limited to an atom or visual studio code. Eventually, after all these steps have been achieved, the developer can start creating the dcit-202 application.
5b. The three ways of running the application created above are to run and stop at breakpoints, Run without breakpoints, and Run a finalized executable. All of these options are available on the project menu and
5c. 3D is the file that will render the application on the screen since it gives a more polished look and visualization experience than 2D.
- Android. (2022). Codenames, tags, and build numbers. Android. https://source.android.com/docs/setup/start/build-numbers
- Developers. (2021). Application fundamentals. Developers. https://developer.android.com/guide/components/fundamentals
- Dora & Arthur. (2020, August 3). Android runtime environment: DVM vs ART. Intexsoft. https://intexsoft.com/blog/android-runtime-environment-dvm-vs-art/
- GitBook. (2021). Notifications: Introduction. GitBook. https://www.easymobile.sglibgames.com/docs/pro/chapters/notifications/intro.html
- Meng, M. H., Thing, V., Cheng, Y., Dai, Z., & Zhang, L. (2018). A survey of Android exploits in the wild. Computers & Security, 76, 71-91. 10.1016/j.cose.2018.02.019.
- Nautiyal, D. (2021). Components of an android application. Geeks for Geeks. https://www.geeksforgeeks.org/components-android-application/
- Pandya, S. (2020, August 5). Create React Native app using Expo CLI or React Native CLI. Code Magic. https://blog.codemagic.io/step-by-step-guide-to-kick-off-your-first-react-native-project/
- Su, J. (2019, August 23). Android 10 is now the official name of Google’s next mobile operating system, dropping dessert names. Forbes. https://www.forbes.com/sites/jeanbaptiste/2019/08/23/android-10-is-now-the-official-name-of-googles-next-mobile-operating-system-dropping-dessert-names/?sh=b878cd0895e5
- Tutlane. (2021). Android architecture. Tutlane. https://www.tutlane.com/tutorial/android/android-architecture