Mobile Application Development Handout by Tariku

TarikuEndale2 5 views 18 slides Mar 06, 2025
Slide 1
Slide 1 of 18
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18

About This Presentation

Android Mobile Application Development Handout


Slide Content

Department of Computer Science Course Title: Mobile Application Development Unity university, Gerji campus course code/number: COSC4022 prerequisite: COSC4081, COSC3021 By: Tariku E. (MSc) Mobile Application Development Handout

Outline History of Mobile Application Development Introduction to Mobile Computing Introduction to Android Development Environment Factors in Developing Mobile Applications Mobile Software Engineering Frameworks and Tools Generic UI Development Android User VUIs and Mobile Apps (text to speech Techniques) Design the rights UI Multichannel and Multimodal UIs 2 Mobile Application Development Handout

History of Mobile Application Development 3 In 1997, the Nokia 6110 included a built-in version of the basic arcade game “Snake,” which many consider the first mobile app . The first iPod would also come with built-in games: Solitaire and Brick. Back in 1983, however, a young Steve Jobs first envisioned the App Store. The first mobile app was developed in 1993 by IBM engineer  Simon Buckingham . The app was called “Simon” and it was a simple game that allowed users to touch different parts of the screen to create a musical sound. This app was developed for the IBM Simon , which was the first-ever smartphone. Mobile Application Development Handout

Introduction to Mobile Computing The three components of mobile computing are: Mobile Hardware: Mobile Software Mobile Communication 4 Two types of Mobile Computing Portable Computing: It needs wired communication. All the users have the freedom to move devices anywhere and at any time, but they require access to connect within a network line. Mobility Computing: It refers to wireless communication and is also known as “Mobile Computing”. It provides a better environment for users to send data from one location to another anytime using these mobile computing devices without physical connections. Mobile Application Development Handout Mobile computing is the ability to connect portable devices to wireless-enabled networks to access data and services while on the move. It is a convenient technique to transmit and receive voice, text, audio, and video with no temporal or special constraints

Types of Mobile Computing Components(Cont’d) 5 Mobile Application Development Handout Mobile Hardware: Mobile Hardware includes mobile devices or device components. It refers to mobile devices that can access mobility services, which include laptops, tablet PCs, smartwatches and smartphones, and other PDAs (Personal Digital Assistants). In such devices, receptors are installed to sense and receive signals. These devices can send and receive signals at the same time, which is known as full-duplex. Mobile Software: A mobile operating system (OS) program is specifically developed for mobile hardware. It deals with the requirements of mobile applications and remains responsible for all the functions in devices called a device engine. Mobile Communication: Mobile communication refers to infrastructure in place to ensure seamless, reliable, and hassle-free communication with wireless devices. It includes ad-hoc and infrastructure networks, protocols, and data formats. Data format ensures there are no collisions with other systems. Radio wave infrastructure is utilized for transmitting signals through the air. E.g. of Mobile Computing are: Laptop, Tablet, PDA, iPad, Smartphone, Notebook, Pocket PCs, …..

Introduction to Android Development Environment 6 Android Studio is the official Integrated Development Environment (IDE ) for  Android  app development, based on IntelliJ IDEA. Mobile Application Development Handout Native Application: These are designed for specific mobile operating systems like Android, IOS, or Windows. Here, Android is developed using Java and IOS uses Swift or Objective C. They are published on Play Store or App Store. Examples:  Google Maps, Spotify, Telegram, WhatsApp, etc … Types of Mobile Application Advantages: They have best performance. More secure. These are user interactive. They have access to full features of device. Disadvantages: They are developed only on single platform. These are expensive to maintain.

Introduction to Android Development Environment (Cont’d) 7 2. Web Application : mo bile web applications are optimized for mobile devices and they are accessible through a web browser on a smartphone. These are developed using HTML/CSS/JavaScript. They runs with the help of web browser applications like chrome, safari, Firefox etc. Examples:  Amazon, Canva, Netflix, Walmart etc. Mobile Application Development Handout Advantages: It is easy to development. Easy to maintain. These are cheaper than Native and Hybrid apps. They works on all platforms. Disadvantages: These are device browser dependent. Poor user experience. Slow performance. These are less interactive with device utilities.

Types of mobile application development(cont’d) 4. Hybrid Application: Hybrid apps combine elements of both native and web apps , using a single codebase to run on multiple platforms. These are deployed on container that uses mobile WebView object. Examples: Facebook, Gmail, Instagram, LinkedIn, Twitter, Uber, Yelp. Technologies Used: HTML5, CSS, Flutter, JavaScript, Appy Pie, AppMakr, Ionic, Objective-C, Swift, React Native, Wrap-Up. 8 Mobile Application Development Handout

Types of mobile application(Hybrid Application ( cont’d)) Advantages: These are cheaper to maintain. These are easy to develop. They have access to features of device. Faster development due to single codebase . 9 Mobile Application Development Handout Disadvantages: These are slower as compared to native apps. Less interactive than native apps.

Types of mobile application(cont’d) 4. Progressive Web Apps (PWA) PWAs are web apps that provide a native app like experience. These are designed and developed similar to web apps. These apps take support of services workers. These are published on play store or app store. Examples: Pinterest, Starbucks, Adidas, Tinder, Trivago. Technologies used:  AngularJS, CSS, HTML5, JavaScript, Lighthouse, Polymer, PWA library, VueJS, Web Assembly. 10 Mobile Application Development Handout Advantages They provides fast and responsive performance than web pages. These are easy to maintain. These are cheaper than Native and Hybrid apps. Works on all platforms. They can work offline. Disadvantages: They have limited hardware and software support. Technical options such as Bluetooth or NFC cannot be used.

Factors in Developing Mobile Applications 1. Mobile Software Engineering Is  the practice of creating software programs for customers to use on mobile devices like smartphones and tablets.  Mobile  application  development   is the set of processes and procedures involved in writing  software  for small, wireless computing devices. 2. Frameworks and Tools Mobile App Development Frameworks can be classified into three categories: Native (iOS and Android): Platform-specific, using native languages/tools. Cross-Platform (React Native, Flutter, and Xamarin): Single codebase for multiple platforms. Hybrid (Sencha, PhoneGap, Ionic): Combines native and web technologies. 11 Mobile Application Development Handout 3. Generic UI Development Generic user interface (Generic UI, GUI) subsystem  allows you to create UI screens using XML and Java . The screens created using this approach work identically in both standard client blocks: Web Client and Desktop Client.

Factors in Developing Mobile Applications (Cont’d) 4. Android User android.os.usertype.full.SYSTEM android.os.usertype.full.SECONDARY android.os.usertype.full.GUEST android.os.usertype.full.DEMO android.os.usertype.full.RESTRICTED android.os.usertype.profile.MANAGED android.os.usertype.system.HEADLESS android.os.usertype.profile.CLONE android.os.usertype.profile.PRIVATE Enable the multi-user feature The multi-user feature is disabled by default. To enable the feature, device manufacturers must define a resource overlay that replaces the following values in frameworks/base/core/res/res/values/config.xml: <!-- Maximum number of supported users --> <integer name=" config_multiuserMaximumUsers ">1</integer> <!-- Whether Multiuser UI should be shown --> <bool name=" config_enableMultiUserUI ">false</bool> 12 Android 11 has formulated classification of users and profiles into well-defined  user types , representing all the different types of users and profiles allowed by the Android Multi-user feature. The pre-defined AOSP user types are defined in frameworks/base/core/java/android/os/UserManager.java and currently include: Mobile Application Development Handout

Factors in Developing Mobile Applications (Cont’d) 4. Types of Android Users Android device administration uses the following categories of users. System user:   First user added to a device. The system user cannot be removed except by factory reset and is always running even when other users are in the foreground. This user also has special privileges and settings only it can set. Headless system user:   First user added to a device if the device is configured to run in headless system user mode (by setting  ( ro.fw.mu.headless_system_user =true). The headless system user always runs in the background, so such devices require additional foreground users to enable user interaction. Secondary user:   Any user added to the device other than the system user. Secondary users can be removed (either by themselves or by an admin user) and cannot impact other users on a device. These users can run in the background and continue to have network connectivity. Guest user:   Temporary secondary user. Guest users have an explicit option to quickly delete the guest user when its usefulness is over. There can be only one guest user at a time. Admin user:   A user who has the permission to create and remove other users, as well as control some general multi-user settings. By default, only the system user is an admin. 13 Mobile Application Development Handout

Factors in Developing Mobile Applications (Cont’d) 5. VUIs and Mobile Apps (text to speech Techniques) voice user interfaces (VUIs) are interfaces that allow users to interact with computing systems through use of voice recognition system or speech recognition systems that includes commanding mobile devices with speech . There are three basic technologies at the heart of systems that interact with users through the use of voice: a. Voice recognition: Voice or speaker recognition is  the ability of a machine or program to receive and interpret dictation or to understand and perform spoken commands .  b. Voice transcription: Audio transcription is  the process of converting speech in an audio file into written text .  c. Speech synthesis (a subset of which is referred to as text-to-speech): Audio transcription is  the process of converting speech in an audio file into written text .  14 Mobile Application Development Handout

Factors in Developing Mobile Applications (Cont’d) 6. Design the Right UI Is about developing the right Mobile User Interface with all components. Our First App 15 Mobile Application Development Handout

Factors in Developing Mobile Applications (Cont’d) 6. Multimodal and Multichannel UI Multimodal UI( MUI)  combines various user inputs, from voice commands, gesture recognition, touch interactions, and typing to facilitate natural interactions . Additionally, the integration of artificial intelligence (AI) further refines user experience (UX) by understanding needs and engagement patterns. Multichannel UI: Multi-channel design simply means that  a channel is being used multiple times . The channel is only needed to be drawn once, and placed into the design process. Multi-channel design is something supported in multiple stages in the overall design process. The difference between Multimodal and Multichannel UI is: Multimodal: There is partial integration between channels, as customers can interact via two channels simultaneously. But it is not possible to shift a conversation across all channels and maintain context. Multichannel: There is no integration between channels. 16 Mobile Application Development Handout

Factors in Developing Mobile Applications (Cont’d) Advantages and Disadvantages of Multimodal and Multichannel UIs Advantages of Multimodal UIs   They permit the flexible use of input modes  including alternation and integrated use They support improved efficiency, especially when manipulating graphical information. easy manipulation, accessibility, and adaptability to various device Drawbacks limitations in control element size and accidental activations 17 Mobile Application Development Handout Advantages of Multichannel UIs Delivers an integrated infrastructure to support multiple interaction channels for call center agents or other PeopleSoft users who must respond to incoming requests and notifications . Drawbacks Each UI works independently there's no integration from a communication or CX perspective.

4. Intents and Services An IntentService is a subclass of Service in Android that is used to handle asynchronous requests (expressed as “Intents”) on demand. It runs in the background and stops itself once it has processed all the intents that were sent to it. On Kotlin and java it will be declared as follows. 18 Mobile Application Development Handout