SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Welcome... to Google IO 11; ooops...
                                       sorry,
                      GTUG welcomes you to the Android launch




Friday, May 6, 2011
Location: San Francisco, California




Friday, May 6, 2011
nah!! just Kidding...




Friday, May 6, 2011
Google Uganda - Android Developer Launch
                             Kampala, Uganda
                                 May, 2011




Friday, May 6, 2011
Android Awesomeness

          Victor Miclovich, Android developer + enthusiast
          twitter:@vicmiclovich
          http://cwezi.com
          http://mspoti.com
          http://storyspaces.org
          http://thekuyuproject.org
Friday, May 6, 2011
Introducing Android Devices

                Fun and Easy to use
                communication on the go
                Online
                You won’t get lost
                You can get rid of keys




Friday, May 6, 2011
Fun and Easy to use
                      Cool graphics




                                      lots of power under the hood for
                                                  gaming




Friday, May 6, 2011
Key-lessness
    lose the key pad... new devices designed to be touch-
      screen compatible; Android takes it a notch higher:
                          multitouch




Friday, May 6, 2011
Communication
                      Gmail




 And obviously:
 Web browser,
   Basic BT,
      etc.


Friday, May 6, 2011
Online connectivity...

   Android OS is designed to enable device
     connectivity to the networked world




Friday, May 6, 2011
A-O-B
                                                            very true... Android OS
                                                            lays out hardware
                                                            requirements and
                                                            conditions that phone
                                                            manufacturers should
                                                            follow in order to have
                                                            well optimized
                                                            operations




                      Lots of power under the hood >>> in comes “App
                      development”




Friday, May 6, 2011
Application Development
          $> Assumptions
          $> Framework
          $> Piecing the UI together
          $> Basic networking
          $> Services (RESTful web service intro)




Friday, May 6, 2011
Assumptions


                You’ve read the
                handout or have it
                close by to guide you...




Friday, May 6, 2011
About Android }-*->F-work




Friday, May 6, 2011
What is a mobile app?

         a set of user interfaces arranged to form a pattern

                      these patterns tend to accomplish tasks!!!




Friday, May 6, 2011
How to design an app?
                Start with an idea
                Research the idea (ask around: UCD)
                Concept it (use storyboards, write! write!)
                Prototype it
                Start coding
                Iterate (repeat step 1 or 2)



Friday, May 6, 2011
Isn’t that easy?




Friday, May 6, 2011
How?
                        ?
                        ?
                        ?
                        ?
                        ?
                      how?

Friday, May 6, 2011
Android UIs


                      2 ways of working magic with apps-->>




Friday, May 6, 2011
One way is...



                through a declarative approach...




Friday, May 6, 2011
Declarative user interface
                      <?xml version="1.0" encoding="utf-8"?>
                      <LinearLayout
                        xmlns:android="http://schemas.android.com/apk/
                      res/android"
                        android:orientation="vertical"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent">
                        <TextView
                        	android:layout_width="fill_parent"
                        	android:layout_height="fill_parent"
                        	android:text="@string/splash"
                        />
                      </LinearLayout>




Friday, May 6, 2011
another way is to...

                                                  examples:
                                                     *swing
                      use a programmatic approach...
                                                      *gwt

       Google advises programmers to choose option 1)
                            why?
                      ->It is cleaner + keeps your code easy to maintain
                      ->In case you make app changes, it is easy to do


Friday, May 6, 2011
what to do?

                You’ll use both approaches
                      Declarative approach to describe how something
                      looks or appears such what a button should look like
                      Programmatic approach to give life to the UI
                      component such as a button




Friday, May 6, 2011
user interface design...




Friday, May 6, 2011
Android UID


                      Views
                      Layouts




Friday, May 6, 2011
Views



                Everything you see through your screen is a view




Friday, May 6, 2011
Examples of Views

                                        ImageView (image)
                TextView (text)         MapView (to view
                ButtonView (buttons)    maps)

                ListView (lists)        WebView (embedded
                                        web + webkit
                EditView (text boxes)   rendering)




Friday, May 6, 2011
Layouts


                Organize views
                group view components together




Friday, May 6, 2011
Examples Layouts

                LinearLayouts
                TableLayouts
                FrameLayout
                RelativeLayout
                AbsoluteLayout (using (x,y) coord. system)




Friday, May 6, 2011
Notes


                Layouts are resizable (expand with content)
                      expand with the different device sizes (better
                      graphics rendering that supports)
                Layouts are customizable




Friday, May 6, 2011
What else in Android?

                Services that will run in the background
                Intents and broadcasting (that support in-app
                notification and instructions)
                lots of crazy cool stuff... just need to dig deeper than
                45 minutes! lol!




Friday, May 6, 2011
Prerequisites

                Java programming
                Read the handout
                      watch out for things like the application life cycle, etc.
                      Ask questions at the end




Friday, May 6, 2011
Code


Friday, May 6, 2011
Layout parameters

                Specify the way layouts appear
                Basically in your xml files:
                      android:layout_height = “ <some height>”
                      android:layout_width = “ <some width>”




Friday, May 6, 2011
¿Tip!

              When looking thru’ documentation, start with the
              specific less abstract view/class or layout then look
              at what it inherits from parent class




Friday, May 6, 2011
App components (java classes)
                                     analogous to a screen
                Activities
                                      respond to broadcast intents/
                BroadcastReceivers
                                                 msgs
                Services
                ContentProviders     tasks that run in the background

                                     apps can share data


Friday, May 6, 2011
Activities




Friday, May 6, 2011
an activity (-ies)
                a UI screen or what appears before the user as whole
                An Activity is also a java class
                Activities can also be
                      faceless
                      in a floating window
                      just return a value (boolean or other)



Friday, May 6, 2011
Intents




Friday, May 6, 2011
Intents
                Intents help describe what you want done (verb words
                + objects)
                      Pick photo from album
                      Delete music
                      Make a call
                Android matches Intent with Activity (object) that can
                best provide a service



Friday, May 6, 2011
Note

Activities and BroadcastReceivers describe what intents
    they can service in their IntentFilters through the
              AndroidManifest.xml file




Friday, May 6, 2011
BroadcastReceivers




Friday, May 6, 2011
BroadcastReceivers


                components designed to respond to Broadcast Intents


                also, apps can create and broadcast their own Intents
                as well.




Friday, May 6, 2011
Servers




Friday, May 6, 2011
Services

                These are components that run in the background...
                      A music player keeps running even when you choose
                      to start looking through your gallery
                      You can type a message while listening to music
                      Download a pdf while browsing Youtube
                      etc.



Friday, May 6, 2011
ContentProviders




Friday, May 6, 2011
ContentProviders
                A ContentProvider enables sharing of data across
                different apps
                      some apps can poll the address book
                      an app could use your gallery photos, etc.
                Provides a single unified API for
                      CRUD operations
                Content is represented by a URI and MIME type


Friday, May 6, 2011
Other issues of great importance...




Friday, May 6, 2011
Persisting data

                Some apps need to cache or store data inside of the
                phone (email, messages, attachments via bluetooth,
                etc.)
                Android provides a couple of ways to store your data
                      as a flat file
                      in a database (SQLite)



Friday, May 6, 2011
Note


                There are lots of useful APIs to interact with the
                database, file system, etc.
                Android is powerful and quite large
                Look around to see what you can do with it...




Friday, May 6, 2011
Going forward...




Friday, May 6, 2011
Packaging

                Android apps are packaged in .apk files
                Everything needed to run your app is found in the apk
                It also includes your application manifest file (where
                permissions for activities and other predefined settings
                are saved up) {look at handout for more info in app}




Friday, May 6, 2011
Resources

                Android defines resources an app uses in the res/ folder
                      res/layout (contains layout rules)

                      res/drawable (for drawing)

                      res/anim (for animations your app might need)

                      res/values (externalized values for strings, colors, styles and lots more)

                      res/xml (general xml files that are needed at run time such as a settings.xml file, etc.)

                      res/raw (binary files like sound are defined in there)




Friday, May 6, 2011
Assets




Friday, May 6, 2011
Assets

                A lot similar to resources (from slides before)
                Any kind of file can be stored (make sure it doesn’t
                complete the SD card memory or other)
                Differences are:
                      assets are read only
                      InputStream class (methods) access assets



Friday, May 6, 2011
The Networked world...




Friday, May 6, 2011
so much to say...

                Trending way of development
                      use an API to expose a service your mobile app can
                      use
                      Your app can persist data in a database if network is
                      unavailable
                      Apps are so much fun when connected to the
                      Internet



Friday, May 6, 2011
The End...
                                More might come in the future,
                      http://cwezi.com/trainings (coming soon)


                               vicmiclovich{at}gmail.com




Friday, May 6, 2011

Más contenido relacionado

La actualidad más candente

Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile DevelopmentPragnesh Vaghela
 
android architecture
android architectureandroid architecture
android architectureAashita Gupta
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development pptGautam Kumar
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to androidzeelpatel0504
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development pptsaitej15
 
Presentation on Android application
Presentation on Android applicationPresentation on Android application
Presentation on Android applicationAtibur Rahman
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training reportShashendra Singh
 
Design Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVMDesign Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVMMudasir Qazi
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android applicationJawed akhtar
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android Ranjith Kumar
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introductionRoshan Gautam
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Androidguest213e237
 

La actualidad más candente (20)

Introduction to Mobile Development
Introduction to Mobile DevelopmentIntroduction to Mobile Development
Introduction to Mobile Development
 
android architecture
android architectureandroid architecture
android architecture
 
Android application development ppt
Android application development pptAndroid application development ppt
Android application development ppt
 
Android Basic Components
Android Basic ComponentsAndroid Basic Components
Android Basic Components
 
Introduction to android
Introduction to androidIntroduction to android
Introduction to android
 
Android app development ppt
Android app development pptAndroid app development ppt
Android app development ppt
 
Presentation on Android application
Presentation on Android applicationPresentation on Android application
Presentation on Android application
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Android summer training report
Android summer training reportAndroid summer training report
Android summer training report
 
Design Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVMDesign Pattern - MVC, MVP and MVVM
Design Pattern - MVC, MVP and MVVM
 
Appium ppt
Appium pptAppium ppt
Appium ppt
 
Synopsis on android application
Synopsis on android applicationSynopsis on android application
Synopsis on android application
 
Android ppt
Android ppt Android ppt
Android ppt
 
Android MVVM
Android MVVMAndroid MVVM
Android MVVM
 
Android seminar ppt
Android seminar pptAndroid seminar ppt
Android seminar ppt
 
React native
React nativeReact native
React native
 
Introduction to Android
Introduction to Android Introduction to Android
Introduction to Android
 
Android - A brief introduction
Android - A brief introductionAndroid - A brief introduction
Android - A brief introduction
 
Android Services
Android ServicesAndroid Services
Android Services
 
Mobile Application Development With Android
Mobile Application Development With AndroidMobile Application Development With Android
Mobile Application Development With Android
 

Destacado

Comparative study of different mobile operating system- Modern Operation Syst...
Comparative study of different mobile operating system- Modern Operation Syst...Comparative study of different mobile operating system- Modern Operation Syst...
Comparative study of different mobile operating system- Modern Operation Syst...Neha Jella
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Developmentdonnfelker
 
Android Development - NOTE TAKING APP FROM SCRATCH
Android Development - NOTE TAKING APP FROM SCRATCHAndroid Development - NOTE TAKING APP FROM SCRATCH
Android Development - NOTE TAKING APP FROM SCRATCHKeith Levi Lumanog
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignJeremy Johnson
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating systemSalma Begum
 

Destacado (7)

Android slides
Android slidesAndroid slides
Android slides
 
Comparative study of different mobile operating system- Modern Operation Syst...
Comparative study of different mobile operating system- Modern Operation Syst...Comparative study of different mobile operating system- Modern Operation Syst...
Comparative study of different mobile operating system- Modern Operation Syst...
 
Introduction to Android Development
Introduction to Android DevelopmentIntroduction to Android Development
Introduction to Android Development
 
Android Development - NOTE TAKING APP FROM SCRATCH
Android Development - NOTE TAKING APP FROM SCRATCHAndroid Development - NOTE TAKING APP FROM SCRATCH
Android Development - NOTE TAKING APP FROM SCRATCH
 
Android studio
Android studioAndroid studio
Android studio
 
Android vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and DesignAndroid vs iPhone - Differences in UI Patterns and Design
Android vs iPhone - Differences in UI Patterns and Design
 
Presentation on Android operating system
Presentation on Android operating systemPresentation on Android operating system
Presentation on Android operating system
 

Similar a Android Development Slides

Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android DevelopmentJosé Ferreiro
 
Pycon2011 android programming-using_python
Pycon2011 android programming-using_pythonPycon2011 android programming-using_python
Pycon2011 android programming-using_pythonGeorge Goh
 
Using design pattern for mobile
Using design pattern for mobileUsing design pattern for mobile
Using design pattern for mobileluca mezzalira
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigationoppokui
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for MobilityScotty Logan
 
iOS7-User-Experience-Shootout
iOS7-User-Experience-ShootoutiOS7-User-Experience-Shootout
iOS7-User-Experience-ShootoutGeoffrey Dorne
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overviewDima Maleev
 
Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7Wes Yanaga
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapNur Hidayat
 
Windows phone 7 application development
Windows phone 7 application developmentWindows phone 7 application development
Windows phone 7 application developmentMannu Malhotra
 
Final ppt (mobile os)
Final ppt (mobile os)Final ppt (mobile os)
Final ppt (mobile os)Manoj Kavedia
 
Research on Comparative Study of Different Mobile Operating System_Part-1
Research on Comparative Study of Different Mobile Operating System_Part-1Research on Comparative Study of Different Mobile Operating System_Part-1
Research on Comparative Study of Different Mobile Operating System_Part-1Zulkar Naim
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011Stefane Fermigier
 
iOS 7 UI Transition Guide
iOS 7 UI Transition GuideiOS 7 UI Transition Guide
iOS 7 UI Transition GuideEvgeny Belyaev
 
Technical seminar report on
Technical seminar report onTechnical seminar report on
Technical seminar report onBalveer Rathore
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System RequirementsLaura Arrigo
 

Similar a Android Development Slides (20)

Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android Development
 
Pycon2011 android programming-using_python
Pycon2011 android programming-using_pythonPycon2011 android programming-using_python
Pycon2011 android programming-using_python
 
Using design pattern for mobile
Using design pattern for mobileUsing design pattern for mobile
Using design pattern for mobile
 
Html5 investigation
Html5 investigationHtml5 investigation
Html5 investigation
 
ITP / SED Day 2
ITP / SED Day 2ITP / SED Day 2
ITP / SED Day 2
 
Developing for Mobility
Developing for MobilityDeveloping for Mobility
Developing for Mobility
 
Computer project work
Computer project workComputer project work
Computer project work
 
iOS7-User-Experience-Shootout
iOS7-User-Experience-ShootoutiOS7-User-Experience-Shootout
iOS7-User-Experience-Shootout
 
Mobility
MobilityMobility
Mobility
 
Modern mobile development overview
Modern mobile development overviewModern mobile development overview
Modern mobile development overview
 
Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7Porting iPhone Apps to Windows Phone 7
Porting iPhone Apps to Windows Phone 7
 
Seminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGapSeminar Android - Pengenalan PhoneGap
Seminar Android - Pengenalan PhoneGap
 
Windows phone 7 application development
Windows phone 7 application developmentWindows phone 7 application development
Windows phone 7 application development
 
Final ppt (mobile os)
Final ppt (mobile os)Final ppt (mobile os)
Final ppt (mobile os)
 
Research on Comparative Study of Different Mobile Operating System_Part-1
Research on Comparative Study of Different Mobile Operating System_Part-1Research on Comparative Study of Different Mobile Operating System_Part-1
Research on Comparative Study of Different Mobile Operating System_Part-1
 
GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011GT Logiciel Libre - Convention Systematic 2011
GT Logiciel Libre - Convention Systematic 2011
 
iOS 7 UI Transition Guide
iOS 7 UI Transition GuideiOS 7 UI Transition Guide
iOS 7 UI Transition Guide
 
Abstract
AbstractAbstract
Abstract
 
Technical seminar report on
Technical seminar report onTechnical seminar report on
Technical seminar report on
 
Functional Requirements Of System Requirements
Functional Requirements Of System RequirementsFunctional Requirements Of System Requirements
Functional Requirements Of System Requirements
 

Más de Victor Miclovich

Más de Victor Miclovich (7)

Django Girls Mbale [victor's sessions]
Django Girls Mbale [victor's sessions]Django Girls Mbale [victor's sessions]
Django Girls Mbale [victor's sessions]
 
Google devfest makerere university
Google devfest makerere universityGoogle devfest makerere university
Google devfest makerere university
 
Okfest
OkfestOkfest
Okfest
 
Story spaces pitch
Story spaces pitchStory spaces pitch
Story spaces pitch
 
Mobile communities and innovation
Mobile communities and innovationMobile communities and innovation
Mobile communities and innovation
 
Crowdmapping
CrowdmappingCrowdmapping
Crowdmapping
 
Build Apps
Build AppsBuild Apps
Build Apps
 

Último

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 

Último (20)

FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 

Android Development Slides

  • 1. Welcome... to Google IO 11; ooops... sorry, GTUG welcomes you to the Android launch Friday, May 6, 2011
  • 2. Location: San Francisco, California Friday, May 6, 2011
  • 4. Google Uganda - Android Developer Launch Kampala, Uganda May, 2011 Friday, May 6, 2011
  • 5. Android Awesomeness Victor Miclovich, Android developer + enthusiast twitter:@vicmiclovich http://cwezi.com http://mspoti.com http://storyspaces.org http://thekuyuproject.org Friday, May 6, 2011
  • 6. Introducing Android Devices Fun and Easy to use communication on the go Online You won’t get lost You can get rid of keys Friday, May 6, 2011
  • 7. Fun and Easy to use Cool graphics lots of power under the hood for gaming Friday, May 6, 2011
  • 8. Key-lessness lose the key pad... new devices designed to be touch- screen compatible; Android takes it a notch higher: multitouch Friday, May 6, 2011
  • 9. Communication Gmail And obviously: Web browser, Basic BT, etc. Friday, May 6, 2011
  • 10. Online connectivity... Android OS is designed to enable device connectivity to the networked world Friday, May 6, 2011
  • 11. A-O-B very true... Android OS lays out hardware requirements and conditions that phone manufacturers should follow in order to have well optimized operations Lots of power under the hood >>> in comes “App development” Friday, May 6, 2011
  • 12. Application Development $> Assumptions $> Framework $> Piecing the UI together $> Basic networking $> Services (RESTful web service intro) Friday, May 6, 2011
  • 13. Assumptions You’ve read the handout or have it close by to guide you... Friday, May 6, 2011
  • 15. What is a mobile app? a set of user interfaces arranged to form a pattern these patterns tend to accomplish tasks!!! Friday, May 6, 2011
  • 16. How to design an app? Start with an idea Research the idea (ask around: UCD) Concept it (use storyboards, write! write!) Prototype it Start coding Iterate (repeat step 1 or 2) Friday, May 6, 2011
  • 18. How? ? ? ? ? ? how? Friday, May 6, 2011
  • 19. Android UIs 2 ways of working magic with apps-->> Friday, May 6, 2011
  • 20. One way is... through a declarative approach... Friday, May 6, 2011
  • 21. Declarative user interface <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/ res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/splash" /> </LinearLayout> Friday, May 6, 2011
  • 22. another way is to... examples: *swing use a programmatic approach... *gwt Google advises programmers to choose option 1) why? ->It is cleaner + keeps your code easy to maintain ->In case you make app changes, it is easy to do Friday, May 6, 2011
  • 23. what to do? You’ll use both approaches Declarative approach to describe how something looks or appears such what a button should look like Programmatic approach to give life to the UI component such as a button Friday, May 6, 2011
  • 25. Android UID Views Layouts Friday, May 6, 2011
  • 26. Views Everything you see through your screen is a view Friday, May 6, 2011
  • 27. Examples of Views ImageView (image) TextView (text) MapView (to view ButtonView (buttons) maps) ListView (lists) WebView (embedded web + webkit EditView (text boxes) rendering) Friday, May 6, 2011
  • 28. Layouts Organize views group view components together Friday, May 6, 2011
  • 29. Examples Layouts LinearLayouts TableLayouts FrameLayout RelativeLayout AbsoluteLayout (using (x,y) coord. system) Friday, May 6, 2011
  • 30. Notes Layouts are resizable (expand with content) expand with the different device sizes (better graphics rendering that supports) Layouts are customizable Friday, May 6, 2011
  • 31. What else in Android? Services that will run in the background Intents and broadcasting (that support in-app notification and instructions) lots of crazy cool stuff... just need to dig deeper than 45 minutes! lol! Friday, May 6, 2011
  • 32. Prerequisites Java programming Read the handout watch out for things like the application life cycle, etc. Ask questions at the end Friday, May 6, 2011
  • 34. Layout parameters Specify the way layouts appear Basically in your xml files: android:layout_height = “ <some height>” android:layout_width = “ <some width>” Friday, May 6, 2011
  • 35. ¿Tip! When looking thru’ documentation, start with the specific less abstract view/class or layout then look at what it inherits from parent class Friday, May 6, 2011
  • 36. App components (java classes) analogous to a screen Activities respond to broadcast intents/ BroadcastReceivers msgs Services ContentProviders tasks that run in the background apps can share data Friday, May 6, 2011
  • 38. an activity (-ies) a UI screen or what appears before the user as whole An Activity is also a java class Activities can also be faceless in a floating window just return a value (boolean or other) Friday, May 6, 2011
  • 40. Intents Intents help describe what you want done (verb words + objects) Pick photo from album Delete music Make a call Android matches Intent with Activity (object) that can best provide a service Friday, May 6, 2011
  • 41. Note Activities and BroadcastReceivers describe what intents they can service in their IntentFilters through the AndroidManifest.xml file Friday, May 6, 2011
  • 43. BroadcastReceivers components designed to respond to Broadcast Intents also, apps can create and broadcast their own Intents as well. Friday, May 6, 2011
  • 45. Services These are components that run in the background... A music player keeps running even when you choose to start looking through your gallery You can type a message while listening to music Download a pdf while browsing Youtube etc. Friday, May 6, 2011
  • 47. ContentProviders A ContentProvider enables sharing of data across different apps some apps can poll the address book an app could use your gallery photos, etc. Provides a single unified API for CRUD operations Content is represented by a URI and MIME type Friday, May 6, 2011
  • 48. Other issues of great importance... Friday, May 6, 2011
  • 49. Persisting data Some apps need to cache or store data inside of the phone (email, messages, attachments via bluetooth, etc.) Android provides a couple of ways to store your data as a flat file in a database (SQLite) Friday, May 6, 2011
  • 50. Note There are lots of useful APIs to interact with the database, file system, etc. Android is powerful and quite large Look around to see what you can do with it... Friday, May 6, 2011
  • 52. Packaging Android apps are packaged in .apk files Everything needed to run your app is found in the apk It also includes your application manifest file (where permissions for activities and other predefined settings are saved up) {look at handout for more info in app} Friday, May 6, 2011
  • 53. Resources Android defines resources an app uses in the res/ folder res/layout (contains layout rules) res/drawable (for drawing) res/anim (for animations your app might need) res/values (externalized values for strings, colors, styles and lots more) res/xml (general xml files that are needed at run time such as a settings.xml file, etc.) res/raw (binary files like sound are defined in there) Friday, May 6, 2011
  • 55. Assets A lot similar to resources (from slides before) Any kind of file can be stored (make sure it doesn’t complete the SD card memory or other) Differences are: assets are read only InputStream class (methods) access assets Friday, May 6, 2011
  • 57. so much to say... Trending way of development use an API to expose a service your mobile app can use Your app can persist data in a database if network is unavailable Apps are so much fun when connected to the Internet Friday, May 6, 2011
  • 58. The End... More might come in the future, http://cwezi.com/trainings (coming soon) vicmiclovich{at}gmail.com Friday, May 6, 2011