SlideShare une entreprise Scribd logo
1  sur  25
Android for Java Developers Denver Java Users Group Jan 11, 2012 -Mike Wolfson @mikewolfson
Why Android? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Framework Overview ,[object Object]
Framework – Linux Kernel ,[object Object],[object Object],[object Object]
Framework - Dalvik ,[object Object],[object Object],[object Object],[object Object]
Framework - Libraries ,[object Object]
Framework – Application Framework ,[object Object],[object Object]
Framework – Applications ,[object Object],[object Object]
Framework Overview
Get Developer Tools ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Developer Tools (cont ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Developing an App ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Terminology ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Terminology - Layout ,[object Object],[object Object],[object Object]
Terminology - Activity ,[object Object],[object Object]
Terminology - Intent ,[object Object],[object Object],[object Object],[object Object]
Fragments ,[object Object],[object Object],[object Object]
Fragments
Terminology - Manifest ,[object Object],[object Object],[object Object]
Terminology - Resources ,[object Object],[object Object],[object Object],[object Object]
Resources ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Terminology - APK ,[object Object],[object Object],[object Object]
Terminology – cont. ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Learn More ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Questions? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Contenu connexe

Tendances

Introduction to android
Introduction to androidIntroduction to android
Introduction to android
Jindal Gohil
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
magicshui
 
Using Maven to build Java & Android program
Using Maven to build Java & Android programUsing Maven to build Java & Android program
Using Maven to build Java & Android program
Mu Chun Wang
 

Tendances (20)

Android studio 2.0: default project structure
Android studio 2.0: default project structureAndroid studio 2.0: default project structure
Android studio 2.0: default project structure
 
Android Workshop_1
Android Workshop_1Android Workshop_1
Android Workshop_1
 
01 03 - introduction to android
01  03 - introduction to android01  03 - introduction to android
01 03 - introduction to android
 
Basic of Android App Development
Basic of Android App DevelopmentBasic of Android App Development
Basic of Android App Development
 
Android architecture
Android architectureAndroid architecture
Android architecture
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
IntelliJ IDEA
IntelliJ IDEAIntelliJ IDEA
IntelliJ IDEA
 
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]What’s new in aNdroid [Google I/O Extended Bangkok 2016]
What’s new in aNdroid [Google I/O Extended Bangkok 2016]
 
Ramakri
RamakriRamakri
Ramakri
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Ide
IdeIde
Ide
 
Android installation guide
Android installation guideAndroid installation guide
Android installation guide
 
Introduction to Java ME Mobile Development
Introduction to Java ME Mobile DevelopmentIntroduction to Java ME Mobile Development
Introduction to Java ME Mobile Development
 
Android overview
Android overviewAndroid overview
Android overview
 
Ide presentation
Ide presentationIde presentation
Ide presentation
 
IntroToAndroid
IntroToAndroidIntroToAndroid
IntroToAndroid
 
Getting Started With Android
Getting Started With AndroidGetting Started With Android
Getting Started With Android
 
Introduction to Android platform
Introduction to Android platformIntroduction to Android platform
Introduction to Android platform
 
Using Maven to build Java & Android program
Using Maven to build Java & Android programUsing Maven to build Java & Android program
Using Maven to build Java & Android program
 

En vedette

Complete inet-phi-book-vol-1-2003-secure
Complete inet-phi-book-vol-1-2003-secureComplete inet-phi-book-vol-1-2003-secure
Complete inet-phi-book-vol-1-2003-secure
OPENLANE
 
ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?
Tetsuyuki Kobayashi
 
WML-Tutorial
WML-TutorialWML-Tutorial
WML-Tutorial
OPENLANE
 

En vedette (9)

Intro to Android for the iOS Fan
Intro to Android for the iOS FanIntro to Android for the iOS Fan
Intro to Android for the iOS Fan
 
Android Jam - Activity Lifecycle & Databases - Udacity Lesson 4a
Android Jam - Activity Lifecycle & Databases - Udacity Lesson 4aAndroid Jam - Activity Lifecycle & Databases - Udacity Lesson 4a
Android Jam - Activity Lifecycle & Databases - Udacity Lesson 4a
 
Introduction To Android - Short
Introduction To Android - ShortIntroduction To Android - Short
Introduction To Android - Short
 
Android lifecycle
Android lifecycleAndroid lifecycle
Android lifecycle
 
Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009Inside the Android application framework - Google I/O 2009
Inside the Android application framework - Google I/O 2009
 
Complete inet-phi-book-vol-1-2003-secure
Complete inet-phi-book-vol-1-2003-secureComplete inet-phi-book-vol-1-2003-secure
Complete inet-phi-book-vol-1-2003-secure
 
ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?ADB(Android Debug Bridge): How it works?
ADB(Android Debug Bridge): How it works?
 
WML-Tutorial
WML-TutorialWML-Tutorial
WML-Tutorial
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 

Similaire à Android For Java Developers

Similaire à Android For Java Developers (20)

Android For Java Developers
Android For Java DevelopersAndroid For Java Developers
Android For Java Developers
 
Intro To Android App Development
Intro To Android App DevelopmentIntro To Android App Development
Intro To Android App Development
 
Android Anatomy
Android  AnatomyAndroid  Anatomy
Android Anatomy
 
Android My Seminar
Android My SeminarAndroid My Seminar
Android My Seminar
 
Introduction to Android Development Part 1
Introduction to Android Development Part 1Introduction to Android Development Part 1
Introduction to Android Development Part 1
 
Android development-tutorial
Android development-tutorialAndroid development-tutorial
Android development-tutorial
 
Android 1-intro n architecture
Android 1-intro n architectureAndroid 1-intro n architecture
Android 1-intro n architecture
 
PPT Companion to Android
PPT Companion to AndroidPPT Companion to Android
PPT Companion to Android
 
Android session-1-sajib
Android session-1-sajibAndroid session-1-sajib
Android session-1-sajib
 
Android my
Android myAndroid my
Android my
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
architecture of android.pptx
architecture of android.pptxarchitecture of android.pptx
architecture of android.pptx
 
Android app development
Android app developmentAndroid app development
Android app development
 
Android primer
Android primerAndroid primer
Android primer
 
Introduction to Android
Introduction to AndroidIntroduction to Android
Introduction to Android
 
Android Basic
Android BasicAndroid Basic
Android Basic
 
Android
Android Android
Android
 
01 02 - introduction - adroid stack
01  02 - introduction - adroid stack01  02 - introduction - adroid stack
01 02 - introduction - adroid stack
 
Android In A Nutshell
Android In A NutshellAndroid In A Nutshell
Android In A Nutshell
 
Android apps
Android appsAndroid apps
Android apps
 

Plus de Mike Wolfson

Plus de Mike Wolfson (20)

Effective Remote Teamwork
Effective Remote TeamworkEffective Remote Teamwork
Effective Remote Teamwork
 
The Haggadah Story For Young Children
The Haggadah Story For Young ChildrenThe Haggadah Story For Young Children
The Haggadah Story For Young Children
 
Move Into Motion Layout
Move Into Motion LayoutMove Into Motion Layout
Move Into Motion Layout
 
Handling Dark Mode on Android and iOS
Handling Dark Mode on Android and iOSHandling Dark Mode on Android and iOS
Handling Dark Mode on Android and iOS
 
Human + Machine Learning : Oredev Human Centered Machine Learning
Human + Machine Learning : Oredev Human Centered Machine LearningHuman + Machine Learning : Oredev Human Centered Machine Learning
Human + Machine Learning : Oredev Human Centered Machine Learning
 
Handling Dark Mode on Android and iOS
Handling Dark Mode on Android and iOSHandling Dark Mode on Android and iOS
Handling Dark Mode on Android and iOS
 
Human + Machine Learning
Human + Machine LearningHuman + Machine Learning
Human + Machine Learning
 
Effective Remote Teamwork DevFest Minnesota 2018
Effective Remote Teamwork DevFest Minnesota 2018Effective Remote Teamwork DevFest Minnesota 2018
Effective Remote Teamwork DevFest Minnesota 2018
 
Introduction To Android - Long
Introduction To Android - LongIntroduction To Android - Long
Introduction To Android - Long
 
Mastering Material Motion
Mastering Material MotionMastering Material Motion
Mastering Material Motion
 
Material Design basics for Android and the Web
Material Design basics for Android and the WebMaterial Design basics for Android and the Web
Material Design basics for Android and the Web
 
Android Developer Tools Essentials - Oscon 14
Android Developer Tools Essentials - Oscon 14Android Developer Tools Essentials - Oscon 14
Android Developer Tools Essentials - Oscon 14
 
Android Developer Tools Essentials
Android Developer Tools EssentialsAndroid Developer Tools Essentials
Android Developer Tools Essentials
 
AnDevCon IV - Android Bootcamp
AnDevCon IV - Android BootcampAnDevCon IV - Android Bootcamp
AnDevCon IV - Android Bootcamp
 
AnDevCon IV - Advanced Android Developer Tools
AnDevCon IV - Advanced Android Developer ToolsAnDevCon IV - Advanced Android Developer Tools
AnDevCon IV - Advanced Android Developer Tools
 
AnDevCon IV - Intro to Android Developer Tools
AnDevCon IV - Intro to Android Developer ToolsAnDevCon IV - Intro to Android Developer Tools
AnDevCon IV - Intro to Android Developer Tools
 
Phxmobilefest
PhxmobilefestPhxmobilefest
Phxmobilefest
 
Mobile tech is saving the world
Mobile tech is saving the worldMobile tech is saving the world
Mobile tech is saving the world
 
Android Development Tools Overview
Android Development Tools OverviewAndroid Development Tools Overview
Android Development Tools Overview
 
Overview of Mobile Dev Platforms
Overview of Mobile Dev PlatformsOverview of Mobile Dev Platforms
Overview of Mobile Dev Platforms
 

Dernier

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 

Android For Java Developers

Notes de l'éditeur

  1. Open: - Android does not differentiate between the phone's core applications and third-party applications ; Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user. -Independent developers are also allowed to create applications that replace core phone functionality (like dialer, browser, contacts list, home screen, etc). Low Barrier to entry Easy to develop -Programming model is based on Java. Applications are written in Java, and just call new APIs. Tools used are based on existing most used tools (Eclipse). Also allows development without using Eclipse (if you would prefer command line – can use adb, etc). -Can run development tools on Windows, Linux, and OSX. Open Market -Very minimal oversight over what can be sold (mostly regarding security, or explicit material). You can publish replacements for any of the core applications (including the keyboard, or browser). -All applications are equal Feature Rich Platform -Multitasking -Access to native phone events (SMS, Phone ringing, etc) -3 rd Party APIs -UI Customization -Interpreted language support allowed (Python, JS, Ruby, etc) -Flash
  2. http://developer.android.com/guide/basics/what-is-android.html Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. Runtime + Dalvik virtual machine VM optimized for mobile devices; Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications. Each process has its own Java virtual machine (VM), so application code runs in isolation from the code of all other applications. By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only that user, only to the application itself — although there are ways to export them to other applications as well. Native Libraries Open GL – custom 2D lib; 3D graphics are based on OpenGL ES 1.0 specification SQLite for structured data storage Integrated browser based on the open source WebKit engine Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE Application Framework: Activity Manager – Resource Manager – Location Manager – Notification Manager – Content Provider - Applications
  3. http://developer.android.com/guide/basics/what-is-android.html Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
  4. http://developer.android.com/guide/basics/what-is-android.html Runtime + Dalvik virtual machine VM optimized for mobile devices; Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) - generated by included “dx tool”. .dex format which is optimized for minimal memory footprint. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications. Each process has its own Java virtual machine (VM), so application code runs in isolation from the code of all other applications. By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only that user, only to the application itself — although there are ways to export them to other applications as well.
  5. Native Libraries Open GL – custom 2D lib; 3D graphics are based on OpenGL ES 1.0 specification SQLite for structured data storage Integrated browser based on the open source WebKit engine Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
  6. Application Framework: A rich and extensible set of Views that can be used to build an application, including lists, grids, text boxes, buttons, and even an embeddable web browser Content Providers that enable applications to access data from other applications (such as Contacts), or to share their own data A Resource Manager , providing access to non-code resources such as localized strings, graphics, and layout files A Notification Manager that enables all applications to display custom alerts in the status bar An Activity Manager that manages the lifecycle of applications and provides a common navigation backstack
  7. Applications
  8. http://developer.android.com/guide/basics/what-is-android.html Linux Kernel Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack. Runtime + Dalvik virtual machine VM optimized for mobile devices; Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool. The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management. By default, every application runs in its own Linux process. Android starts the process when any of the application's code needs to be executed, and shuts down the process when it's no longer needed and system resources are required by other applications. Each process has its own Java virtual machine (VM), so application code runs in isolation from the code of all other applications. By default, each application is assigned a unique Linux user ID. Permissions are set so that the application's files are visible only that user, only to the application itself — although there are ways to export them to other applications as well. Native Libraries Open GL – custom 2D lib; 3D graphics are based on OpenGL ES 1.0 specification SQLite for structured data storage Integrated browser based on the open source WebKit engine Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) Camera, GPS, compass, and accelerometer (hardware dependent) Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE Application Framework: Activity Manager – Resource Manager – Location Manager – Notification Manager – Content Provider - Applications
  9. Other Tools: android To create/update Android projects and to create/move/delete AVDs. Android Emulator To run your Android applications on an emulated Android platform. Android Debug Bridge To interface with your emulator or connected device (install apps, shell the device, issue commands, etc.).
  10. Android (android.bat) – command line tool to allow developer to manage SDK and AVDs Emulator (Mobile device emulator) -- a virtual mobile device that runs on your computer. The emulator lets you prototype, develop, and test Android applications without using a physical device. Each AVD is made up of: A hardware profile.  You can set options to define the hardware features of the virtual device. For example, you can define whether the device has a camera, whether it uses a physical QWERTY keyboard or a dialing pad, how much memory it has, and so on. A mapping to a system image.  You can define what version of the Android platform will run on the virtual device. You can choose a version of the standard Android platform or the system image packaged with an SDK add-on. Other options.  You can specify the emulator skin you want to use with the AVD, which lets you control the screen dimensions, appearance , and so on. You can also specify the emulated SD card to use with the AVD. A dedicated storage area on your development machine, in which is stored the device's user data (installed applications, settings, and so on) and emulated SD card. ADB: Android Debug Bridge (adb) is a versatile tool lets you manage the state of an emulator instance or Android-powered device. It is a client-server program that includes three components: A client, which runs on your development machine. You can invoke a client from a shell by issuing an adb command. Other Android tools such as the ADT plugin and DDMS also create adb clients. A server, which runs as a background process on your development machine. The server manages communication between the client and the adb daemon running on an emulator or device. A daemon, which runs as a background process on each emulator or device instance. DDMS: Includes: file explorer; Memory/Thread inspector (dumpsys, dumpstate); tools to execute Garbage Collection; Screen capture;
  11. http://developer.android.com/resources/tutorials/hello-world.html Steps to create a new project. Once you complete the New Project Wizard, ADT creates the following folders and files in your new project: src/ Includes your stub Activity Java file. All other Java files for your application go here. <Android Version> / (e.g., Android 1.1/) Includes the android.jar file that your application will build against. This is determined by the build target that you have chosen in the New Project Wizard . gen/ This contains the Java files generated by ADT, such as your R.java file and interfaces created from AIDL files. assets/ This is empty. You can use it to store raw asset files. See Resources and Assets . res/ A folder for your application resources, such as drawable files, layout files, string values, etc. See Resources and Assets . AndroidManifest.xml The Android Manifest for your project. See The AndroidManifest.xml File . default.properties This file contains project settings, such as the build target. This files is integral to the project, as such, it should be maintained in a Source Revision Control system. It should never be edited manually — to edit project properties, right-click the project folder and select "Properties".
  12. Activity – (Noun) A single screen, your application is made up of one or more of these Intent – (Verb) code to perform an action – used to call an activity, service or broadcast receiver; this is the wiring between activities; Intent messaging is a facility for late run-time binding between components in the same or different applications Resource – text, pictures, sound, etc; These things are all abstracted from the code, and compiled into a class called R.class Manifest File – always named AndroidManifest.xml – bundled into .apk file (that contains the applications code, files, and resources), declares the components of an application, describes security permissions required by the app, and lists required library dependancies. Widget – miniature application views that can be embedded in other applications (such as the home screen), and receive periodic updates Service – a task that can be running, but is not visible (background apps FTW!) Broadcast Receiver – a component that does nothing but receive and react to broadcast announcements. These don’t contain a UI, but could be used to start an activity when an event triggers it. Ex. Listed for timezone, or low battery warnings. Security and Permissions - A central design point of the Android security architecture is that no application, by default, has permission to perform any operations that would adversely impact other applications, the operating system, or the user. Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data. A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs. Content Provider – Functionality designed to allow data to be shared across applications. It is data and an API that any app can access; Android uses this feature to provide contact info; they can be accessed through the android.provider package (some require permissions to access)
  13. LinearLayout – arranges children in a single row/column. FrameLayout – arranges children so they show up at the top left. Commonly used for Activities with a single element, or tabbed views RelativeLayout – elements are arranges in relation to each other. (Element X is above Y). TableLayout – elements arranged in cells (like HTML tables)
  14. Activity – (Noun) A single screen, your application is made up of one or more of these
  15. Intent – (Verb) code to perform an action – used to call an activity, service or broadcast receiver; this is the wiring between activities; Intent messaging is a facility for late run-time binding between components in the same or different applications
  16. Manifest File – always named AndroidManifest.xml – bundled into .apk file (that contains the applications code, files, and resources), declares the components of an application, describes security permissions required by the app, and lists required library dependancies.
  17. Manifest File – always named AndroidManifest.xml – bundled into .apk file (that contains the applications code, files, and resources), declares the components of an application, describes security permissions required by the app, and lists required library dependancies.
  18. Manifest File – always named AndroidManifest.xml – bundled into .apk file (that contains the applications code, files, and resources), declares the components of an application, describes security permissions required by the app, and lists required library dependancies.
  19. Resource – text, pictures, sound, etc; These things are all abstracted from the code, and compiled into a class called R.class
  20. Resource – text, pictures, sound, etc; These things are all abstracted from the code, and compiled into a class called R.class
  21. Widget – miniature application views that can be embedded in other applications (such as the home screen), and receive periodic updates Service – a task that can be running, but is not visible (background apps FTW!) Broadcast Receiver – a component that does nothing but receive and react to broadcast announcements. These don’t contain a UI, but could be used to start an activity when an event triggers it. Ex. Listed for timezone, or low battery warnings. Security and Permissions - A central design point of the Android security architecture is that no application, by default, has permission to perform any operations that would adversely impact other applications, the operating system, or the user. Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data. A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs. Content Provider – Functionality designed to allow data to be shared across applications. It is data and an API that any app can access; Android uses this feature to provide contact info; they can be accessed through the android.provider package (some require permissions to access)
  22. Widget – miniature application views that can be embedded in other applications (such as the home screen), and receive periodic updates Service – a task that can be running, but is not visible (background apps FTW!) Broadcast Receiver – a component that does nothing but receive and react to broadcast announcements. These don’t contain a UI, but could be used to start an activity when an event triggers it. Ex. Listed for timezone, or low battery warnings. Security and Permissions - A central design point of the Android security architecture is that no application, by default, has permission to perform any operations that would adversely impact other applications, the operating system, or the user. Android is a multi-process system, in which each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finer-grained security features are provided through a "permission" mechanism that enforces restrictions on the specific operations that a particular process can perform, and per-URI permissions for granting ad-hoc access to specific pieces of data. A basic Android application has no permissions associated with it, meaning it can not do anything that would adversely impact the user experience or any data on the device. To make use of protected features of the device, you must include in your AndroidManifest.xml one or more <uses-permission> tags declaring the permissions that your application needs. Content Provider – Functionality designed to allow data to be shared across applications. It is data and an API that any app can access; Android uses this feature to provide contact info; they can be accessed through the android.provider package (some require permissions to access)