0% found this document useful (0 votes)
74 views32 pages

Mobile Applications Lecture 1 - Introduction

This document provides an overview of a lecture on mobile application development. It discusses the course objectives to focus on mobile device strengths and limitations, concepts, and creating mobile applications. The course plan covers topics like Android vs iOS, development environments, activities, menus, intents, lifecycles and more. Student evaluation includes coursework, a midterm, and final exam. It also introduces mobile hardware, operating systems like iOS and Android, and how Android apps work with virtual machines, programming languages and the app development process.

Uploaded by

Omar Magdy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views32 pages

Mobile Applications Lecture 1 - Introduction

This document provides an overview of a lecture on mobile application development. It discusses the course objectives to focus on mobile device strengths and limitations, concepts, and creating mobile applications. The course plan covers topics like Android vs iOS, development environments, activities, menus, intents, lifecycles and more. Student evaluation includes coursework, a midterm, and final exam. It also introduces mobile hardware, operating systems like iOS and Android, and how Android apps work with virtual machines, programming languages and the app development process.

Uploaded by

Omar Magdy
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 32

DM461 Mobile Applications

Lecture 1 - Introduction

Dr. Amira Sayed A. Aziz


Faculty of Computers and Information Technology
Agenda

 Introduction
 Course objective
 Course plan
 Course evaluation
 Introduction to mobile application development
 Android studio
 First application
Introduction

 Handheld devices are basic components in out daily lives.


 Different types of applications are of benefit on such devices.
 Mobile application development is the process of making software for
smartphones, tablets and digital assistants, most commonly for the Android
and iOS operating systems.
 The software can be preinstalled on the device, downloaded from a
mobile app store or accessed through a mobile web browser.
Course Objective

 This course will focus on the strengths and limitations of mobile devices,
terminologies and concepts, mobile application portfolio assembly,
android database and OS fundamentals. Students will explore these
topics through the conception and creation of applications for the
mobile Touch architecture. By the end of the semester, all students will be
developing mobile applications and testing them on devices. This course
will be hands on and project based.
Course Plan - Topics

1. Introduction to mobile applications: • Menu from XML • Deploying an Android app on


• Android vs. iOS • Menu via code physical device
• Development environment • Intents and Intent filter • Apk file extension
• Limitations • Time and Date
• Explicit Intents
• Development cycle • Alert dialogs
• Implicit Intents
• Activity and Main Activity
• Activity lifecycle • Toast
2. Mobile app development basics:
• Communication between activities • Popup
• Configuring Menu and SDK
• Android manifest.xml • Tabs and tab activity.
• Option menu
• Context menu • UI components 3. Working with DB:

• Sub menu • Basic UI design • SQLlite


Course Evaluation

 30 points for course work: lab assignments and project.


 30 points for Midterm exam.
 40 points on final exam.
Mobile Applications

Statistics:
 How Many People Have Smartphones Worldwide (Jan 2023)
(bankmycell.com)
Statistics
Statistics
Statistics
Mobile devices

 Mobile hardware consists of mobile devices


or device components that can be used to
receive or access the service of mobility.

 Examples of mobile hardware can be


smartphones, laptops, portable PCs, tablet
PCs, Personal Digital Assistants, etc.
Mobile device OS
iOS

 Apple iOS is a proprietary mobile operating system that runs on mobile devices such as
the iPhone, iPad and iPod Touch. Apple iOS is based on the Mac OS X operating system
for desktop and laptop computers. The iOS developer kit provides tools that allow for iOS
app development.
 iOS, which was previously called iPhone OS, is a mobile operating system developed by
Apple Inc. Its first release was in 2007, which included iPhone and iPod Touch. iPad (1st
Generation) was released in April 2010 and iPad Mini was released in November 2012.
iOS

List Of All Apple iOS Version History (2023 January Update) (gkgigs.com)
Android OS

 Android is a Linux-based operating system it is designed primarily for touch screens mobile
devices such as smartphones and tablet computers.
 Before Android was known to the public, Android Inc. was founded by Andy Rubin, Chris
White, Nick Sears, and Rich Miner in 2003 in Palo Alto, California. It existed for a few years,
but funding was difficult for the company. Google eventually bought it in 2005 for $50
million (a worthwhile investment, as it turned out). A key decision during this time was the
choice to use Linux as the foundation for the OS and the overall focus on smartphone
technology.
 As development continued and Google moved the project along, they started to talk
with and negotiate with phone manufacturers such as HTC and Motorola. They were
hoping to compete with the dominant Apple at the time. Development continued under
Google (with the founders working under the company) until the beta version 1.0 came
out in November of 2007.
 Android - Secure & Reliable Mobile Operating System
Android
versions

The Evolution of Android (cellphonedeal.com)


How Android Apps work?

System apps, User apps

Java API’s – view system, resource manager,


notification manager, activity manager, content
provider

Android runtime – AOT and JIT, garbage collection,


core runtime libraries
Native C/C++ libraries

ART, underlying functionalities, key security


features

HAL – standard interfaces to device hardware


Android
Platform
Structure
Virtual Machine

 Virtual machine is software that runs on the operating system and provides
an abstraction to the developer, so the application software runs on top of
the virtual machine.
 This was made to overcome the problem of specified platform executable
files. Therefore, as long as a computer has the virtual machine running, the
application software can run on that computer independent of the
hardware and the operating system.
 Java Virtual Machine (JVM).
Virtual Machine

 Similar to Java applications, Android applications also run on a JVM. There


are two special virtual machines used in Android: Dalvik Virtual Machine
(DVM) and Android RunTime (ART).
 DVM – default runtime environment until the Lollipop release (Android 5.0)
 ART – introduced by Android 4.0 and has been the default VM as of
Android 5.0
 Main advantage of ART over DVM is the utilization of a concept called
Ahead of Time (AOT) compilation, apps are compiled during installation
hence they load faster over lower CPU usage.
 On the other hand, JIT compilation provides lower storage space
consumption with relatively longer loading times.
Programming Languages Used For
Developing Android Apps

 Android: Java, Kotlin (SDK on Android Studio)


 iOS: Swift, ObjectiveC
 Both: Native base application – Dart (Flutter), JS (React Native) – third party
tools.

Backend (JS, Java,


Dart…)

Android Viewer iOS Viewer


Programming Languages Used For
Developing Android Apps

 Android: Java, Kotlin (SDK on Android Studio)


 iOS: Swift, ObjectiveC
 Both: Native base application – Dart (Flutter), JS (React Native) – third party
tools.

Backend (JS, Java,


Dart…)

Android Viewer iOS Viewer


Installation of Android Studio

 Android App Development Tutorial 4 - Installing Android Studio | Java –


YouTube
 Android App Development Tutorial 5 - Installing an Emulator | Android
Virtual Device Manager AVD – YouTube
Developing an Application

 General steps of developing an Android application:

Set up user Connect the UI


Create Android
interface (UI) of components to Coding in Java
studio project
the application the Java code

(Optional) (Optional) Run Build the project


Run and try app
Publish app on app on a real to create the
on emulator
Google Play Android device executable file
Activity

 Each screen shown to the user on any application is called an Activity.


 Basically, Android applications are visual apps, so they compose of multiple
activities.
 First screen of an application is the Main Activity, where the application
starts.
Creating a
Project

File → New → New Project


Creating a
Project

Create your first Android app


Creating a
Project
Creating a
Project
Project Structure

 File structure of an Android project:


 There are many views, the default if “Android” mode.
 Manifest folder – configuration parameters (AndroidManifest.xml)
 Java folder – source code files (.java)
 Res folder – resources used in an application such as text files, images, audio
files…
 Layout information of the main activity lays in activity_main.xml file that
resides in the res/layout folder.
 XML file is interpreted in the Android studio environment and when opened
it shows the UI layout of the activity screen.
 A palette of different components shows beside the view so you would
drag and drop components on the designed layout.
Running the application

 Setup an emulator
 Build the project
 Select a previously setup emulator
 Run app on emulator
References

 7 Trends that Define The future of the Mobile Application Development - IST
Networks
 Platform Architecture | Android Developers

You might also like