Mobile Applications (Android Programming)

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

Introduction.  Professor  Adam Porter 
What is Android?.
Android architecture overview
Introduction to Android Mohammad A. Gowayyed CS334-Spring 2014.
Android Platform Overview (1)
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
DEPARTMENT OF COMPUTER ENGINEERING
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Mobile Application Development
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
Android Introduction Platform Overview.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Mobile Application Development with ANDROID. Agenda Mobile Application Development (MAD) Intro to Android platform Platform architecture Application building.
About me Yichuan Wang Android Basics Credit goes to Google and UMBC.
Mobile Application Development using Android
Android Introduction Based on slides made by
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
01. Introduction to Android Prof. Oum Saokosal Master of Engineering in Information Systems, South Korea
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
1 Android- Platform Overview. 2 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key.
Android for Java Developers Denver Java Users Group Jan 11, Mike
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android. Basic Architecture Linux Kernel Libraries Applications Android Runtime Application Framework.
Wireless and Mobile Security
1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
Analysis And Research Of System Security Based On.
Android Development For Beginners. What is Android? Android is an open mobile phone platform that was developed by Google and later by Open Handset Alliance.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
ANDROID OS Ravi Soni MTech (CS) III Sem. W HAT IS A NDROID ? Android is a software stack for mobile devices that includes an operating system, middleware.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Presented by: Saurabh Kumar Sinha (MRT07UGBIT 186) IT VII Semester, Shobhit University Meerut.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
A presentation on Android and Android project Around Me
Computer System Structures
Android Mobile Application Development
Android Application -Architecture.
Mobile Applications (Android Programming)
Visit for more Learning Resources
Seminar On Android Submitted By: Ghaytadak Satish Laxman 1.
Architecture of Android
ANDROID AN OPEN HANDSET ALLIANCE PROJECT
Chapter 2: Operating-System Structures
chapter 6- Android Introduction
Android.
Contents: Introduction Different Mobile Operating Systems
CMPE419 Mobile Application Development
Software engineering in the mobile phone platform war.
ANDROID AND ANDROID PHONES
ANDROID OS Architecture
Chapter 4.
Application Development A Tutorial Driven Course
Android Introduction Platform Mihail L. Sichitiu.
Korea Software HRD Center
Android Platform, Android App Basic Components
Emerging Platform#3 Android & Programming an App
Getting Started with Android…
CMPE419 Mobile Application Development
Presentation transcript:

Mobile Applications (Android Programming) Semester II 2016 - 2017 Dr. Saman Mirza Abdullah

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

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

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

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

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

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

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

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

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

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

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

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

Open Handset Alliance Mobile Application - Ishik

Smartphone Markets Mobile Application - Ishik

Android OS Architecture Mobile Application - Ishik

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

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

Android Runtime Mobile Application - Ishik

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

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

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

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

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

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

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

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

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

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

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

Class End Mobile Application - Ishik