Introduction to Android Chapter 1 1. Objectives Understand what Android is Learn the differences between Java and Android Java Examine the Android project.

Slides:



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

Android architecture overview
Programming Mobile Applications with Android
Filip Debelić What is it? Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google Android,
ANDROID OPERATING SYSTEM Guided By,Presented By, Ajay B.N Somashekar B.T Asst Professor MTech 2 nd Sem (CE)Dept of CS & E.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Android Application Development with Java UPenn CS4HS 2011 Chris Murphy
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
INTERNATIONAL SUMMER ACADEMIC COURSE UNIVESITY OF NIS ISAC – Android programming.
Emerging Platform#4: Android Bina Ramamurthy.  Android is an Operating system.  Android is an emerging platform for mobile devices.  Initially developed.
Android Programming Day best Android Apps Lzo&feature=fvwrel.
Android Introduction Platform Overview.
Mobile Programming Lecture 1 Getting Started. Today's Agenda About the Eclipse IDE Hello, World! Project Android Project Structure Intro to Activities,
Introduction to Android Programming Content Basic environmental structure Building a simple app Debugging.
Mobile Application Development with ANDROID Tejas Lagvankar UMBC 29 April 2009.
Introduction to Android Swapnil Pathak Advanced Malware Analysis Training Series.
© Keren Kalif Intro to Android Development Written by Keren Kalif, Edited by Liron Blecher Contains slides from Google I/O presentation.
@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.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Android for Java Developers Denver Java Users Group Jan 11, Mike
© 2016 Cengage Learning®. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole or in part. Android Boot Camp.
Presented By: Muhammad Tariq Software Engineer Android Training course.
INTRODUCTION TO ANDROID. Slide 2 Application Components An Android application is made of up one or more of the following components Activities We will.
Overview of Android Application Development
Educational & entertraiment applications on Android platform «Piano» and «Abetare» Anisa Shehu Prof. Asoc. Elinda Meçe 14 th Workshop “Software Engineering.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
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.
CHAPTER 1 Introduction. Chapter objectives: Understand what Android is Learn the differences between Java and Android Java Examine the Android project.
TODAY Android Studio Installation Getting started Creating your 1 st App Beginning to understanding Intents.
Intoduction to Andriod studio Environment With a hello world program.
J.BHAVANA 3/4B.TECH CSE Ch.Rochasmathi 3/4B.tech CSE.
Android operating system N. Sravani M. Tech(CSE) (09251D5804)
INTRODUCTION TO ANDROID. Slide 2 Introduction I take a top-down approach to describing an application’s anatomy.
Android apps development - Eclipse, Android SDK, and ADT plugin Introduction of.
Why Learn Android? Largest installation base of any operating system Over 20,000 Android devices exist Businesses will likely move more to device-based.
CHAPTER 1 part 1 Introduction. Chapter objectives: Understand Android Learn the differences between Java and Android Java Examine the Android project.
Introduction to Android Programming
The Basics of Android App Development Sankarshan Mridha Satadal Sengupta.
Android Programming.
Intro To Android Programming
Android Mobile Application Development
Android 01: Fundamentals
Android Application Development 1 6 May 2018
Android Runtime – Dalvik VM
Chapter 2: Operating-System Structures
Mobile Application Development Chapter 3 [Using Eclipse Android Studio for Android Development] IT448-Fall 2017 IT448- Fall2017.
Android Studio, Android System Basics and Git
Android.
Android is the step in the vision of creating a better mobile phone.
Development-Introduction
Contents: Introduction Different Mobile Operating Systems
CA16R405 - Mobile Application Development (Theory)
CMPE419 Mobile Application Development
Mobile Device Development
Anatomy of an Android Application
CS323 Android Getting Started
Application Development A Tutorial Driven Course
CHAPTER 1 Introduction Chapter objectives: Understand what Android is
Android Developer Fundamentals V2
Android Platform, Android App Basic Components
Emerging Platform#3 Android & Programming an App
Getting Started with Android…
Introduction to Android
Android Overview.
Android Development Introduction to Android Development 2011/01/16
CMPE419 Mobile Application Development
CA16R405 - Mobile Application Development (Theory)
Presentation transcript:

Introduction to Android Chapter 1 1

Objectives Understand what Android is Learn the differences between Java and Android Java Examine the Android project structure Build a basic application using Android Studio Learn about the Model-View-Controller design 2

Why Mobile Computing? Trends in computing industry Mainframe/batch Workstation/client-server PC/Web/P2P Mobile? New Knowledge Areas (KA) in CS Curricula 2013 Joint work by ACM and IEEE-CS Platform-based Development (PBD), e.g., mobile, web, and game Good addition to your resume? 3

Why Android? Android: Java-based, market dominance (82.8% share in 2015 Q2) IOS: Objective-C Global smartphone OS market share in 2015 Q2 (from 4

What Is Android? Mobile OS by Google Based on Linux kernel Touchscreen devices Direct manipulation UI Touch gestures (swiping, tapping, pinching) Virtual keyboard 5

Evolution of Android 6

Evolution of Android (Cont.) Which version to support? 7

Android Programming Basics Java for most framework Java SDK + Android SDK + IDE (Android Studio or Eclipse) XML for configuration and resources Cursorless control (gestures using fingers) Framework concepts Activities Intents Views and widgets Asynchronous calls Background services … 8

Java vs. Android Java A large number of Java libraries in the Android platform Android SDK: Dalvik compiler, debugger, software libraries, emulator 9

Java API vs. Android API No Java virtual machine in the Android platform Specialized VM, Dalvik and ART (v 5.0) Java bytecode compiled again into a proprietary bytecode, dex bytecode Dex bytecode Java bytecode Dex bytecode: compact Dalvik executable format designed for Android systems, constrained in terms of memory and processor speed. Dalvik dx tool for translating java bytecode into dex bytecode 10

Android Studio Official IDE for building Android applications, including: Java editor, layout editor, Android SDK, emulator, gradle, etc. Focuses exclusively on Android development and comes bundled with the Android Software Development Kit, SDK Android SDK, a set of tools and API libraries for: Building complete applications, Testing them on virtual devices, and Performing debugging and optimization 11

Anatomy of Android Project Organization of Android project Source code Application’s resources Manifest settings Build files All of these files eventually packaged into an apk (distribution) file 12

13

Android Manifest File An AndroidManifest.xml, is required for every Android application. This file uses XML code to define specific application information. This information can include general application- wide settings such as the application’s style and launch icon. 14

AndroidManifest.xml 15 <manifest xmlns:android="..." package="edu.utep.cs.cs4390.helloworld" android:versionCode="1" android:versionName="1.0"> <application <activity android:name=".MainActivity"

Java Source Code The Java source code of an application is placed in the java directory of the project structure. A main file, often named MainActivity, is a Java file that is auto-generated when the project is first created. Can include JUnit test files, local tests and instrumented tests. 16

Drawable Resources The drawable folder is located in the res directory res contains the application resources Drawable resources are image files, such as application icons, buttons, and background textures Q: mipmap vs. drawable folders? Q: how to refer to an XML resource such as a drawable in Java source code? 17

Generalized Screen Size xlarge screens are at least 960dp x 720dp large screens are at least 640dp x 480dp normal screens are at least 470dp x 320dp small screens are at least 426dp x 320dp 18

Layout XML Files User interface screens are visually designed and coded as XML layout files. The design and arrangement of the elements on the screen are implemented using XML code in a layout file. Q: Advantages and disadvantages? Q: How to associate an XML layout with an activity? 19

Example: activity_main.xml 20 <RelativeLayout xmlns:android=" …> <LinearLayout … android:orientation="horizontal"> <Button … android:onClick="startClicked" />

In-class: Timer App To have a taste of Android programming by: Defining a simple UI in XML file (activity_main.xml), Externalizing constants in XML file (strings.xml), Associating UI with activity (setContentView), Retrieving views defined in XML (findViewById), Defining control code for views (android:onClick), Separating model code from view and control. 21

Model-View-Controller Android applications tend to rely on the Model- View-Controller design architecture. This architecture assigns one of three roles that objects can play in an application. 22 Model (data) View (UI element) Control update UI notify change notify user action update data

Sharing Android Apps Android requires the application to be digitally signed with a certificate. Android uses this certificate to identify the author. Android apps typically use self-signed certificates, in which the app developer holds the certificate’s private key. 23