SlideShare a Scribd company logo
Android Programming




   Lesson 1
Introduction

 NGUYEN The Linh
Android Programming


Contents

     1     Introduction to Android Programming

     2     Getting Started

     3     Programming Fundamentals


     4     Exercise 1




                             2
Android Programming


Introduction




   Introduction to Android Programming




                   3
Android Programming


Overview

 What is Android?
    A free, open source mobile platform
    A Linux-based, multiprocessing, multithreaded OS
    It’s not even limited to phones - you could
     a DVR, a handheld GPS, an MP3 player, etc.
 Android programming
    Based on Java
    Only one window
    Supporting different screen sizes
    Limited System Resources
                                4
Android Programming


Overview




               Android’s
               versions




           5
Android Programming


Overview

 Android’s versions with their releasing date
    Android 1.5 Cupcake – Release Date: April 30, 2009
    Android 1.6 Donut - Release Date: September 15, 2009
    Android 2.0/2.1 Éclair – Release Date: October 26, 2009
    Android 2.2 Froyo – Release Date: May 20, 2010
    Android 2.3 Gingerbread - Release Date: December 6, 2010
    Android 3.0 Honeycomb - Release Date: February 22, 2011
    Android 4.0 Ice Cream Sandwich - Release Date: October 19,
     2011
    Android 4.1 Jelly Bean - Release Date: July 9, 2012.
                               6
Android Programming


Overview

 Features
    Integrated browser based on the open source WebKit engine
    Optimized graphics powered by a custom 2D graphics library;
     3D graphics based on the OpenGL ES 1.0 specification
     (hardware acceleration optional).
    SQLite for structured data storage
    Media support for common audio, video, and still image formats
     (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
    Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent)
    Camera, GPS, compass, and accelerometer (hardware
     dependent)
                                7
Android Programming


Overview




                 Android
               Architecture




           8
Android Programming


Overview
                 ADT




 Android
 Project



           NDK
                 SDK

                   9
Android Programming


Overview

 What is ADT?
   Android Development Tools (ADT) is a plugin for the Eclipse IDE
    that is designed to give you a powerful, integrated environment
    in which to build Android applications.
   http://developer.android.com/tools/sdk/eclipse-adt.html
 What is SDK?
   The Android SDK provides you the API libraries and developer
    tools necessary to build, test, and debug apps for Android.
   http://developer.android.com/sdk/index.html


                                10
Android Programming


Overview

 What is NDK?
   The NDK is a toolset that allows you to implement parts of your
    app using native-code languages such as C and C++. For
    certain types of apps, this can be helpful so that you may reuse
    existing code libraries written in these languages and possibly
    increased performance.
   http://developer.android.com/tools/sdk/ndk/index.html




                                 11
Android Programming


Introduction




           Getting Started




                 12
Android Programming


Resources you will need

                                   Beginning Android 1
Window/Mac/Linux
                                   Beginning Android 2
  Android SDK
                                       Pro Android
     Eclipse
                                        (Apress)
      ADT


   Software                              Textbook
                    PC or Laptop
                   Android Phone


                      Hardware

                         13
Android Programming


Resources you will need




            http://developer.android.com




                        Web


                         14
Android Programming


Downloading and Installing

  Java
Platform
 (JDK)
           Android
            SDK

                          Eclipse


                                         ADT
                                        Plugin


                     15
Android Programming


Introduction




      Programming Fundamentals




                 16
Android Programming


Start a New Android Project




                    17
Android Programming


Start a New Android Project




                    18
Android Programming


Start a New Android Project

                     Notes
                        Build SDK
                            • Android 4.1 ( API 16)
                          Minimum Required SDK
                            • Android 2.2 (API 8)
                          Activity Name
                            • Name ‖Activity‖
                          Layout Name
                            • ―activity_‖ name



                    19
Android Programming


Project Structure

 Root Elements
    default.properties
    built.xml
    AndroidManifest.xml
    src/
    res/
    assets/
    bin/



                           20
Android Programming


Project Structure

 Res folder elements
    res/drawable/
    res/layout/
    res/menu/
    res/raw/
    res/values/
    res/xml/




                        21
Android Programming


Project Structure

 Inside the Manifest
    Here is where you declare what is inside your application—the
     activities, the services, and so on.
    When you create your application, you will get a starter manifest
     generated for you.
    Underneath the manifest element, you will find the following:
        •   uses-permission
        •   permission
        •   Instrumentation
        •   uses-library
        •   uses-sdk

                                  22
Android Programming


Project Structure




                    23
Android Programming


Running and Debugging

 Create a new Android Virtual Device (AVD) if you do
  not have any.
    From the Window menu, select AVD Manager
    From the AVD Manager window, click New button
    Input
      •   Name: API-16
      •   Target: Android 4.1 – API Level 16
      •   Size: 50 MB
      •   Built-in: Default (WVGA800)
    Click Create AVD button


                                       24
Android Programming


Running and Debugging

 From the Run menu, select Run or Debug
 If you’ve using the ADT plug-in, running or
  debugging your application:
    Compiles the current project and converts it to an Android
     executable (.dex).
    Packages the executable and external resources into Android
     package (.apk).
    Starts the emulator (if it’s not already running).
    Installs your application onto the emulator.
    Start your application.

                                25
Android Programming


Running and Debugging




                  26
Android Programming


Exercise 1

              Sizes and Colors
                 ―Android Programing‖: Text View, Black,
                  20dp, Center.
                 ―Username‖: Text Field, Plain Text,
                 ―Password‖: Text Field, Password
                 ―Login‖: Button, Center




                      27
Android Programming

More Related Content

What's hot

Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Jason Conger
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
guest213e237
 
Flutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutionsFlutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutions
Skywave Info Solutions
 
Android game ppt
Android game pptAndroid game ppt
Android game ppt
AbinashranaSingh
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guidemagicshui
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
NancyMariaAS
 
Dload mobile development
Dload mobile developmentDload mobile development
Dload mobile development
Sayed Ahmed
 
Best Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdfBest Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdf
Marie Weaver
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
Concetto Labs
 
Mobile development
Mobile developmentMobile development
Mobile development
Sayed Ahmed
 
Android
AndroidAndroid
Android
Shivam Tuteja
 
Android Internship report presentation
Android Internship report presentationAndroid Internship report presentation
Android Internship report presentation
vinayh.vaghamshi _
 
Android development training
Android development trainingAndroid development training
Android development training
maheswarimahi18
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio Overview
Salim Hosen
 
What To Choose Between - Native App And Hybrid Mobile App
What To Choose Between - Native App And Hybrid Mobile AppWhat To Choose Between - Native App And Hybrid Mobile App
What To Choose Between - Native App And Hybrid Mobile App
Mindbowser Inc
 
Custom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaCustom Android App Development – Web Animation India
Custom Android App Development – Web Animation India
Marion Welch
 
Intro to Android Programming
Intro to Android ProgrammingIntro to Android Programming
Intro to Android Programming
Peter van der Linden
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
ShambhaviGupta14
 
Top reason to choose flutter app development
Top reason to choose flutter app developmentTop reason to choose flutter app development
Top reason to choose flutter app development
ElenorWisozk
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
Heli Thakkar
 

What's hot (20)

Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
Building your Own Mobile Enterprise Application: It’s Not as Hard as You Migh...
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 
Flutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutionsFlutter 2.2 version | skywave info solutions
Flutter 2.2 version | skywave info solutions
 
Android game ppt
Android game pptAndroid game ppt
Android game ppt
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Android study jams 1
Android study jams 1Android study jams 1
Android study jams 1
 
Dload mobile development
Dload mobile developmentDload mobile development
Dload mobile development
 
Best Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdfBest Frameworks for Android App Development in 2022.pdf
Best Frameworks for Android App Development in 2022.pdf
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
 
Mobile development
Mobile developmentMobile development
Mobile development
 
Android
AndroidAndroid
Android
 
Android Internship report presentation
Android Internship report presentationAndroid Internship report presentation
Android Internship report presentation
 
Android development training
Android development trainingAndroid development training
Android development training
 
Android Studio Overview
Android Studio OverviewAndroid Studio Overview
Android Studio Overview
 
What To Choose Between - Native App And Hybrid Mobile App
What To Choose Between - Native App And Hybrid Mobile AppWhat To Choose Between - Native App And Hybrid Mobile App
What To Choose Between - Native App And Hybrid Mobile App
 
Custom Android App Development – Web Animation India
Custom Android App Development – Web Animation IndiaCustom Android App Development – Web Animation India
Custom Android App Development – Web Animation India
 
Intro to Android Programming
Intro to Android ProgrammingIntro to Android Programming
Intro to Android Programming
 
Gdsc android introduction
Gdsc android introductionGdsc android introduction
Gdsc android introduction
 
Top reason to choose flutter app development
Top reason to choose flutter app developmentTop reason to choose flutter app development
Top reason to choose flutter app development
 
Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android Flutter single codebase to build your dream application for i os and android
Flutter single codebase to build your dream application for i os and android
 

Similar to [Android] Introduction to Android Programming

androidPramming.ppt
androidPramming.pptandroidPramming.ppt
androidPramming.ppt
BijayKc16
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
Shubham Kumar
 
Android_Studio_Structure.docx
Android_Studio_Structure.docxAndroid_Studio_Structure.docx
Android_Studio_Structure.docx
KNANTHINIMCA
 
Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
MIT Autonomous Aurangabad
 
My android
My androidMy android
My android
Prince Bhanwra
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
IJERD Editor
 
Ii 1100-android development for fun and profit
Ii 1100-android development for fun and profitIi 1100-android development for fun and profit
Ii 1100-android development for fun and profit
Adrian Mikeliunas
 
Introduction to android applications stu
Introduction to android applications stuIntroduction to android applications stu
Introduction to android applications stu
cbashirmacalin
 
Training android
Training androidTraining android
Training android
University of Technology
 
Introduccion a android developed usuario root
Introduccion a android developed usuario rootIntroduccion a android developed usuario root
Introduccion a android developed usuario root
yulianaguzmanrodrigu
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
Zaid Khan
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
Andri Yadi
 
Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012
Opersys inc.
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
Shashendra Singh
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
Shashendra Singh
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
Pragnesh Vaghela
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for android
Adrian Mikeliunas
 
Software training report
Software training reportSoftware training report
Software training report
Natasha Bains
 

Similar to [Android] Introduction to Android Programming (20)

androidPramming.ppt
androidPramming.pptandroidPramming.ppt
androidPramming.ppt
 
Android and its feature
Android and its featureAndroid and its feature
Android and its feature
 
Android_Studio_Structure.docx
Android_Studio_Structure.docxAndroid_Studio_Structure.docx
Android_Studio_Structure.docx
 
Notes Unit2.pptx
Notes Unit2.pptxNotes Unit2.pptx
Notes Unit2.pptx
 
My android
My androidMy android
My android
 
My android
My androidMy android
My android
 
International Journal of Engineering Research and Development
International Journal of Engineering Research and DevelopmentInternational Journal of Engineering Research and Development
International Journal of Engineering Research and Development
 
Ii 1100-android development for fun and profit
Ii 1100-android development for fun and profitIi 1100-android development for fun and profit
Ii 1100-android development for fun and profit
 
Introduction to android applications stu
Introduction to android applications stuIntroduction to android applications stu
Introduction to android applications stu
 
Training android
Training androidTraining android
Training android
 
Introduccion a android developed usuario root
Introduccion a android developed usuario rootIntroduccion a android developed usuario root
Introduccion a android developed usuario root
 
Introduction To android
Introduction To androidIntroduction To android
Introduction To android
 
Introduction to Android App Development
Introduction to Android App DevelopmentIntroduction to Android App Development
Introduction to Android App Development
 
Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012Android App Development Intro at ESC SV 2012
Android App Development Intro at ESC SV 2012
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
Ii 1300-java essentials for android
Ii 1300-java essentials for androidIi 1300-java essentials for android
Ii 1300-java essentials for android
 
Android Basics
Android BasicsAndroid Basics
Android Basics
 
Software training report
Software training reportSoftware training report
Software training report
 

More from Nikmesoft Ltd

[iOS] Networking
[iOS] Networking[iOS] Networking
[iOS] Networking
Nikmesoft Ltd
 
[iOS] Data Storage
[iOS] Data Storage[iOS] Data Storage
[iOS] Data Storage
Nikmesoft Ltd
 
[iOS] Multiple Background Threads
[iOS] Multiple Background Threads[iOS] Multiple Background Threads
[iOS] Multiple Background Threads
Nikmesoft Ltd
 
[iOS] Navigation
[iOS] Navigation[iOS] Navigation
[iOS] Navigation
Nikmesoft Ltd
 
[iOS] Basic UI Elements
[iOS] Basic UI Elements[iOS] Basic UI Elements
[iOS] Basic UI Elements
Nikmesoft Ltd
 
[iOS] Introduction to iOS Programming
[iOS] Introduction to iOS Programming[iOS] Introduction to iOS Programming
[iOS] Introduction to iOS Programming
Nikmesoft Ltd
 
[Android] Multimedia Programming
[Android] Multimedia Programming[Android] Multimedia Programming
[Android] Multimedia Programming
Nikmesoft Ltd
 
[Android] Android Animation
[Android] Android Animation[Android] Android Animation
[Android] Android Animation
Nikmesoft Ltd
 
[Android] 2D Graphics
[Android] 2D Graphics[Android] 2D Graphics
[Android] 2D Graphics
Nikmesoft Ltd
 
[Android] Services and Broadcast Receivers
[Android] Services and Broadcast Receivers[Android] Services and Broadcast Receivers
[Android] Services and Broadcast Receivers
Nikmesoft Ltd
 
[Android] Web services
[Android] Web services[Android] Web services
[Android] Web services
Nikmesoft Ltd
 
[Android] Multiple Background Threads
[Android] Multiple Background Threads[Android] Multiple Background Threads
[Android] Multiple Background Threads
Nikmesoft Ltd
 
[Android] Maps, Geocoding and Location-Based Services
[Android] Maps, Geocoding and Location-Based Services[Android] Maps, Geocoding and Location-Based Services
[Android] Maps, Geocoding and Location-Based Services
Nikmesoft Ltd
 
[Android] Data Storage
[Android] Data Storage[Android] Data Storage
[Android] Data Storage
Nikmesoft Ltd
 
[Android] Intent and Activity
[Android] Intent and Activity[Android] Intent and Activity
[Android] Intent and Activity
Nikmesoft Ltd
 
[Android] Widget Event Handling
[Android] Widget Event Handling[Android] Widget Event Handling
[Android] Widget Event Handling
Nikmesoft Ltd
 
[Android] Using Selection Widgets
[Android] Using Selection Widgets[Android] Using Selection Widgets
[Android] Using Selection Widgets
Nikmesoft Ltd
 
[Android] Basic Widgets and Containers
[Android] Basic Widgets and Containers[Android] Basic Widgets and Containers
[Android] Basic Widgets and Containers
Nikmesoft Ltd
 

More from Nikmesoft Ltd (18)

[iOS] Networking
[iOS] Networking[iOS] Networking
[iOS] Networking
 
[iOS] Data Storage
[iOS] Data Storage[iOS] Data Storage
[iOS] Data Storage
 
[iOS] Multiple Background Threads
[iOS] Multiple Background Threads[iOS] Multiple Background Threads
[iOS] Multiple Background Threads
 
[iOS] Navigation
[iOS] Navigation[iOS] Navigation
[iOS] Navigation
 
[iOS] Basic UI Elements
[iOS] Basic UI Elements[iOS] Basic UI Elements
[iOS] Basic UI Elements
 
[iOS] Introduction to iOS Programming
[iOS] Introduction to iOS Programming[iOS] Introduction to iOS Programming
[iOS] Introduction to iOS Programming
 
[Android] Multimedia Programming
[Android] Multimedia Programming[Android] Multimedia Programming
[Android] Multimedia Programming
 
[Android] Android Animation
[Android] Android Animation[Android] Android Animation
[Android] Android Animation
 
[Android] 2D Graphics
[Android] 2D Graphics[Android] 2D Graphics
[Android] 2D Graphics
 
[Android] Services and Broadcast Receivers
[Android] Services and Broadcast Receivers[Android] Services and Broadcast Receivers
[Android] Services and Broadcast Receivers
 
[Android] Web services
[Android] Web services[Android] Web services
[Android] Web services
 
[Android] Multiple Background Threads
[Android] Multiple Background Threads[Android] Multiple Background Threads
[Android] Multiple Background Threads
 
[Android] Maps, Geocoding and Location-Based Services
[Android] Maps, Geocoding and Location-Based Services[Android] Maps, Geocoding and Location-Based Services
[Android] Maps, Geocoding and Location-Based Services
 
[Android] Data Storage
[Android] Data Storage[Android] Data Storage
[Android] Data Storage
 
[Android] Intent and Activity
[Android] Intent and Activity[Android] Intent and Activity
[Android] Intent and Activity
 
[Android] Widget Event Handling
[Android] Widget Event Handling[Android] Widget Event Handling
[Android] Widget Event Handling
 
[Android] Using Selection Widgets
[Android] Using Selection Widgets[Android] Using Selection Widgets
[Android] Using Selection Widgets
 
[Android] Basic Widgets and Containers
[Android] Basic Widgets and Containers[Android] Basic Widgets and Containers
[Android] Basic Widgets and Containers
 

Recently uploaded

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

[Android] Introduction to Android Programming

  • 1. Android Programming Lesson 1 Introduction NGUYEN The Linh
  • 2. Android Programming Contents 1 Introduction to Android Programming 2 Getting Started 3 Programming Fundamentals 4 Exercise 1 2
  • 3. Android Programming Introduction Introduction to Android Programming 3
  • 4. Android Programming Overview  What is Android?  A free, open source mobile platform  A Linux-based, multiprocessing, multithreaded OS  It’s not even limited to phones - you could a DVR, a handheld GPS, an MP3 player, etc.  Android programming  Based on Java  Only one window  Supporting different screen sizes  Limited System Resources 4
  • 5. Android Programming Overview Android’s versions 5
  • 6. Android Programming Overview  Android’s versions with their releasing date  Android 1.5 Cupcake – Release Date: April 30, 2009  Android 1.6 Donut - Release Date: September 15, 2009  Android 2.0/2.1 Éclair – Release Date: October 26, 2009  Android 2.2 Froyo – Release Date: May 20, 2010  Android 2.3 Gingerbread - Release Date: December 6, 2010  Android 3.0 Honeycomb - Release Date: February 22, 2011  Android 4.0 Ice Cream Sandwich - Release Date: October 19, 2011  Android 4.1 Jelly Bean - Release Date: July 9, 2012. 6
  • 7. Android Programming Overview  Features  Integrated browser based on the open source WebKit engine  Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional).  SQLite for structured data storage  Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)  Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent)  Camera, GPS, compass, and accelerometer (hardware dependent) 7
  • 8. Android Programming Overview Android Architecture 8
  • 9. Android Programming Overview ADT Android Project NDK SDK 9
  • 10. Android Programming Overview  What is ADT?  Android Development Tools (ADT) is a plugin for the Eclipse IDE that is designed to give you a powerful, integrated environment in which to build Android applications.  http://developer.android.com/tools/sdk/eclipse-adt.html  What is SDK?  The Android SDK provides you the API libraries and developer tools necessary to build, test, and debug apps for Android.  http://developer.android.com/sdk/index.html 10
  • 11. Android Programming Overview  What is NDK?  The NDK is a toolset that allows you to implement parts of your app using native-code languages such as C and C++. For certain types of apps, this can be helpful so that you may reuse existing code libraries written in these languages and possibly increased performance.  http://developer.android.com/tools/sdk/ndk/index.html 11
  • 12. Android Programming Introduction Getting Started 12
  • 13. Android Programming Resources you will need Beginning Android 1 Window/Mac/Linux Beginning Android 2 Android SDK Pro Android Eclipse (Apress) ADT Software Textbook PC or Laptop Android Phone Hardware 13
  • 14. Android Programming Resources you will need http://developer.android.com Web 14
  • 15. Android Programming Downloading and Installing Java Platform (JDK) Android SDK Eclipse ADT Plugin 15
  • 16. Android Programming Introduction Programming Fundamentals 16
  • 17. Android Programming Start a New Android Project 17
  • 18. Android Programming Start a New Android Project 18
  • 19. Android Programming Start a New Android Project  Notes  Build SDK • Android 4.1 ( API 16)  Minimum Required SDK • Android 2.2 (API 8)  Activity Name • Name ‖Activity‖  Layout Name • ―activity_‖ name 19
  • 20. Android Programming Project Structure  Root Elements  default.properties  built.xml  AndroidManifest.xml  src/  res/  assets/  bin/ 20
  • 21. Android Programming Project Structure  Res folder elements  res/drawable/  res/layout/  res/menu/  res/raw/  res/values/  res/xml/ 21
  • 22. Android Programming Project Structure  Inside the Manifest  Here is where you declare what is inside your application—the activities, the services, and so on.  When you create your application, you will get a starter manifest generated for you.  Underneath the manifest element, you will find the following: • uses-permission • permission • Instrumentation • uses-library • uses-sdk 22
  • 24. Android Programming Running and Debugging  Create a new Android Virtual Device (AVD) if you do not have any.  From the Window menu, select AVD Manager  From the AVD Manager window, click New button  Input • Name: API-16 • Target: Android 4.1 – API Level 16 • Size: 50 MB • Built-in: Default (WVGA800)  Click Create AVD button 24
  • 25. Android Programming Running and Debugging  From the Run menu, select Run or Debug  If you’ve using the ADT plug-in, running or debugging your application:  Compiles the current project and converts it to an Android executable (.dex).  Packages the executable and external resources into Android package (.apk).  Starts the emulator (if it’s not already running).  Installs your application onto the emulator.  Start your application. 25
  • 27. Android Programming Exercise 1  Sizes and Colors  ―Android Programing‖: Text View, Black, 20dp, Center.  ―Username‖: Text Field, Plain Text,  ―Password‖: Text Field, Password  ―Login‖: Button, Center 27