0% found this document useful (0 votes)
53 views6 pages

00 Introduction

Uploaded by

Aliaa Karam
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)
53 views6 pages

00 Introduction

Uploaded by

Aliaa Karam
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/ 6

Course Instructor Contact

CSE 431
• Over Teams or
Mobile Programming
• By email: [email protected]
Lecture 01 When you send an email:

1- Write the course number in the subject


Haytham Azmi, PhD. P.Eng. 2- Write your name and ID in the Email signature

Course Topics Course Evaluation


1. Introduction to Android App Development
2. Different ways to develop Apps / Your First App
3. Android Project Structure / Activities, Intents, and Fragments
4. Building a Simple Calculator App: Design Challenges • Course Project : 15%
5. Data Persistence / Databases
6. Services, Broadcast Receivers, and Internet Access • Quiz : 5%
7. Design Patterns
8. Location Management and Services • Lab Assignments : 20%
9. App Testing and Fault Tolerance
10.Security in Mobile Environments • MidTerm : 20%
11.Caching Strategies in Mobile Environments
12.Mobile VoIP Applications
13.Course Project Design
• Final Exam : 40%
14.Project Development and Testing
15.Project Presentation

3 4
Lecture 1

RECOMMENDED
SETUP
Introduction to Android App Development

1. Mobile phones and network technologies


Topics
Different types of mobile devices

1. Mobile phones and network technologies


2. Different ways to develop Apps
Tablets
3. Android OS Smartphones

4. Android versions and features


5. Introduction to Android App development (Demo)
6. Questions Android TV boxes Smart watches

Upper left: Ultimate Android experience by Google, Upper right: Ultimate Android experience by Google,
https://www.google.com.eg/nexus/ https://www.google.com.eg/nexus/
Lower left: Ultimate Android experience by Google, Lower right: Android wear by Android,
https://www.google.com.eg/nexus/ https://www.android.com/intl/en_in/wear/

7 8
1. Mobile phones and network technologies
1. Mobile phones and network technologies
Limitations of Mobile Devices

Capabilities of mobile devices


Operating System Camera CPU Speed Screen size

Display Connectivity Memory Network Coverage

Sensors Input methods Battery Voice recognition

Image: Galaxy S6 edge by Samsung, http://www.samsung.com/uk/consumer/mobile-devices/smartphones/galaxy-s/SM-G925FZKEBTU Image: Galaxy S6 edge by Samsung, http://www.samsung.com/uk/consumer/mobile-devices/smartphones/galaxy-s/SM-G925FZKEBTU

9 10

1. Mobile phones and network technologies 2. Different ways to develop apps

Native approach
§ Uses native development platform and programming
languages from the OS creator/maintainer to build the
app.

§ Wirelessly connects electronic devices § Allows for simplified


that use IEEE standard for Wi-Fi 802.11x
§ Supports both point-to-point and point-
transactions, data exchange,
§ Android
to-multipoint connections
(x: a, b, g, n and ac) and wireless connections § Native app development platform - Android studio
§ Piconet - 8 devices connected in between two devices in close § Programming language – Java/Kotlin.
§ Access point of 20-70m (in doors) and Bluetooth network (1 master and 7 proximity
100-250m (out doors) slaves)
§ 2006 Nokia 6131 - first NFC § iOS
§ Allows direct communication from one § Bluetooth 3.0+HS - supports theoretical phone
computer to another without access data transfer speeds up to 24 Mbit/s § Native app development platform - Xcode
point intermediary (ad hoc Wi-Fi) § Main application - mobile
payment
§ Programming language - Swift.
§ Bluetooth link - used for negotiation and
§ Supports speeds up to 150Mbps (n) and establishment
7Gbps (ac) § Support added to Android
starting from 2.3 platform

11 12
2. Different ways to develop apps 2. Different ways to develop apps
Hybrid approach
Cross-platform approach

§ Uses one development platform and programming § Combination of web technologies


language to produce different versions of the same app (i.e.HTML, CSS, and JavaScript).
that targets different operating systems.

§ Cross-platform tools: § Hosted inside a native application that


utilizes a mobile platform’s WebView.
§ Cordova https://cordova.apache.org/

§ Flutter https://flutter.dev/ § Enables access to device capabilities


(accelerometer, camera, contacts, etc.).
§ Coronalabs https://coronalabs.com/

§ Can include native UI elements where


necessary.

Reference: http://developer.telerik.com/featured/what-is-a-hybrid-mobile-app/
Image Reference: www.liquidcanyon.com
13 14

3. Android OSz 3. Android OS


What is Android? Open source software stack

Most often used by application developers


§ Mobile operating system based on a modified version of Linux. Allows framework to cross process boundaries and
call into Android system services code
§ Developed by a start-up company named “Android”

§ Bought by Google in 2005. APIs communicates with system services to


access underlying hardware

Hardware Abstraction Layer


Defines a standard interface

Source: www.androidshack.com Contains all of the low level device drivers


16
16
Reference: https://source.android.com/devices/

15
4. Android versions and features 5. App Development Environment

Android versions
• • Android Studio
• Java/Kotlin
• Cloud Services (Firebase)

• Task #1: Download and install Android Studio


and follow the instructions in the lecture to configure
your SDK and Project Settings Correctly.

• Task #2: Create a Virtual device and/or connect your


https://developer.android.com/about/dashboards
physical device. Make sure you can run apps on your
virtual/physical device.
17 18

5. App 5. App
Development Android Studio Dolphin | 2021.3.1 for Mac (~993 MiB)
Development
Environment Environment

• Task #1 • Task #2

19 20
2
2
5. App Development Environment – Enable Developer Options

From Developer options:


Enable USB Debugging

5. App
Development
Tab 7 times Environment

21

Demo

23

You might also like