Presentation is loading. Please wait.

Presentation is loading. Please wait.

Mobile Applications (Android Programming)

Similar presentations


Presentation on theme: "Mobile Applications (Android Programming)"— Presentation transcript:

1 Mobile Applications (Android Programming)
Semester II Dr. Saman Mirza Abdullah

2 Course Information Have 14 classes.
12 classes, each 2 hours Theoretical and 2 hours practical. One week will be midterm exam. One class for course review Exams and assessments (collecting marks): Attendance = 5% Quizzes = 5% Assignments = 10% Lab activities = 10% One mid term exam = 30% One final Exam = 40% Text book Annuzzi, J., L. Darcey, and S. Conder, Introduction to Android Application Development: Android Essentials. 2014: Addison Wesley Professional. Trish Cornez, Richard Cornez, 2015 , Android programming concept: 2015,. Mobile Application - Ishik

3 Course Aim The aim of the course is to introduce CE students to:
The fundamental concepts of Mobile Application. Android Programming, Parts of the Android based applications, Learning Android Studio software. (Downloading and installing) Building Android based application from scratch until uploading to Google Play Store. Mobile Application - Ishik

4 Class Objectives Introduction to Mobile and Android application.
What is Android? Understand Android based Application. Explain Android Architecture and fundamental? Showing the process of creating .apk file. Mobile Application - Ishik

5 History of Mobile and its Application
How was the live before mobile? Phone was just phone, with a fixed land line. Run for the phone or pulling it out from pocket. Lost a friend, forgetting something from home, emergency calls for an accidents….. The are not called smartphone for no reasons. They can solve many problems. Daily, we relay on them for everything of our live. It has a lot of types of applications. Developers should be aware about applications so that they can be More seamless and powerful applications. Mobile Application - Ishik

6 History of Mobile and its Application (Cont.)
Mobile developers faced many roadblocks: Better applications. Unique application, but competing other application Hybrid application, but can incorporate many tasks (calling and messaging) User friendly. At the beginning, all these were not realistic. Mobile Application - Ishik

7 History of Mobile and its Application (Cont.)
Year Name Services Size (cm) Weight (Kg) 1983 Motorola DynaTAC 8000X (called Brick) Calling 30 1.13 1989 Motorola Microtac 9800X 23 0.35 1992 Motorola International 3200 Calling (GSM) 19.5 0.5 1993 Nokia 1011 0.4 1994 IBM Simon 20 1996 Motorola Strartac 9.4 0.088 Nokia 8810 14.4 0.145 2017 iPhone and Samsung What you see in them? Mobile Application - Ishik

8 WAP and mobile application
The first need to mobile application is Internet connection. Internet connection, for mobile, could be achieved through a protocol called Wireless Application Protocol. It exactly works as (HTTP – Hypertext Transfer Protocol). Another jump of mobile platform is Internet connection suitability. Mobile Application - Ishik

9 Mobile Application They are applications that specially developed for handy devices, such as mobiles, tablets, and iPad. The way differ from other applications is their Operating systems (OS): Android iOS They are not so complex Most times, they are free Easy to develop and use No need much memory spaces Have simple graphical user interface (GUI). Mostly, they are life style based applications. Mobile Application - Ishik

10 Mobile Application (Cont.)
Mobile applications differ from each other only in the platform they designed for. There are a lot of mobile platform, Android iOS Windows Blackberry OS Java Micro Edition Symbian OS The most well-known platforms are Android and iOS Each has its own features that enabling them doing great daily requirements. Mobile Application - Ishik

11 Android VS iOS Features Android iOS Programming language
Java (Easy for learn even for beginners) Object-C and Swift, needs more line to code Development tool Android Studio Free of charge Xcode Need to pay 99$ per year Customizable (suit for specific using or user) Yes Limited, need jailbreak for extensive use. Last version 6.0 – 6.0.1 Marshmallow iOS 9.2.1 Open source No Supported devices Many brands (Motorola, Samsung, HTC, LC, Nexus Only devices that made by Apple company Voice assist Yes, there are many applications Yes, only with Siri Mobile Application - Ishik

12 What is Android? What is Android?
Is it application? Is it middleware? Operating System (OS)? It is actually, A complete software stack for mobile devices that contain OS, middleware, and applications. The OS uses Kernel based Linux 3.4 It has a lot of features: DVK (Dalvik Virtual Machine), Integrated Browser, SQLite, and GSM Telephony .. etc. Mobile Application - Ishik

13 Android-Why? Why so much talk about Android?
Flexibility and scalability. Robustness; based on the Linux 3.4 End user is the King. Developer Community Support. Fragmentation. Open Handset Alliance (OHA) – consortium of several companies formed in 2007. Mobile Application - Ishik

14 Open Handset Alliance Mobile Application - Ishik

15 Smartphone Markets Mobile Application - Ishik

16 Android OS Architecture
Mobile Application - Ishik

17 Linux Kernel The Linux 3.4 kernel handles core system services.
It acts as a hardware abstraction layer (HAL) between the physical hardware of the device and the Android software stack. Some of the core functions the kernel handles include Enforcement of application permissions and security Low-level memory management Process management and threading The network stack Display, keypad input, camera, Wi-Fi, Flash memory, audio, binder inter-process communication (IPC), and power management driver access Mobile Application - Ishik

18 Native Libraries C/C++ libraries exposing various capabilities through Android application framework. Libc; SGL/OpenGL; 2D/3D graphical support Freetype: bitmap and vector font rendering. SQLite; Lightweight relational database engine. Surface management; manages access to display subsystems. LibWebCore, Modern web browser powered by Android. Media Libraries: Supports many video and audio formats. Secure Sockets layer cryptographic protocol to secure internet communication. Mobile Application - Ishik

19 Android Runtime Mobile Application - Ishik

20 Android Runtime (Cont.)
Each Android application runs in a separate process Each process has its own instance of the Dalvik virtual machine (VM). Based on the Java VM, the Dalvik design has been optimized for mobile devices. The Dalvik VM has a small memory footprint and optimized application loading, and multiple instances of the Dalvik VM can run concurrently on a devic. Mobile Application - Ishik

21 Security and Permissions
There are many security measures insuring the security of the Android OS; Application as OS user Explicitly define application permissions. Limited Ad hoc permissions Application Signing for Trust Relationship Multiple users and Restricted Profiles Google Play Developer Registration Mobile Application - Ishik

22 Security and Permissions Application as OS User
When installed, for an application A new user profile will be associated with the installed application. Unique user will be given to each application. When run, each application treats as a different user, with its own private file in the file system. Each application will be associated with a unique user ID and secure operating environment. The application executes in its own process with its own instance of the Dalvik VM and under its own user ID on the operating system. Mobile Application - Ishik

23 Security and Permissions Explicitly define application permissions
It is about access shared resources. Android applications register for a specific privilege they required. Some they privilege device functionality: Making calls Accessing network Controlling camera and other hardware sensors. Some applications need privilege to shared data: Private and personal information. User preference Location Contact number Some times their own permission (read or read and write) permissions to other applications. Mobile Application - Ishik

24 Security and Permissions Limited Ad Hoc Permissions
Applications that act as content providers might want to provide some on-the-fly permissions to other applications for specific information they want to share openly. This is done using ad hoc granting and revoking of access to specific resources using Uniform Resource Identifiers (URIs). For sharing data with URI, no more user permissions are asking. Permission for contact birthday to other applications. Mobile Application - Ishik

25 Security and Permissions Application Signing for Trust relationship1 Multiple Users and Restricted Profile2 (1) is about building a trusted authentication between users and developers. In Android, self certificate is preferred. (2), from Android 4.7 (API Level 17), supporting multiple user account on a sharable Android device is enabled. Mobile Application - Ishik

26 Security and Permissions Google Play Developer Registration
To publish applications on the popular Google Play store, developers must create a developer account. The Google Play store is managed closely and no malware is tolerated. Mobile Application - Ishik

27 Application Framework
The Android application framework provides everything necessary to implement an average application. The Android application lifecycle involves the following key components: Activities are functions that the application performs. Groups of views define the application’s layout. Intents inform the system about an application’s plans. Services allow for background processing without user interaction. Notifications alert the user when something interesting happens. Content providers facilitate data transmission among different applications. Mobile Application - Ishik

28 Application Services Through a collection of managers, applications can interact with the OS and underlining hardware. Those managers are responsible of a specific services, such as: The LocationManager facilitates interaction with the location-based services available on the device. The ViewManager and WindowManager manage display and user interface fundamentals related to the device. The AccessibilityManager manages accessibility events, facilitating device support for users with physical impairments. The ClipboardManager provides access to the global clipboard for the device, for cutting and pasting content. The DownloadManager manages HTTP downloads in the background as a system service. The FragmentManager manages the fragments of an activity. The AudioManager provides access to audio and ringer controls. Mobile Application - Ishik

29 Applications Types Android ships with a set of core applications, e.g. Contacts, Calendars, …. Most applications developer’s sits here with other core applications. Even the Google applications use the same public API that is available for open developer community. All applications are written using Java Mobile Application - Ishik

30 Application Fundamental How is .apk file generated?
Application Resources Application Source Code Java Interface AAPT Java Compiler .class files R. Java Compiled Resources Dox Tool 3rd Parties Libraries APK Builder Tool Android Package (.apk file) .dex file Mobile Application - Ishik

31 Class End Mobile Application - Ishik


Download ppt "Mobile Applications (Android Programming)"

Similar presentations


Ads by Google