Smells likeandroid joanacosta_sept2010

2,346 views
2,270 views

Published on

This is a ppt that I did for the girl geek dinner (http://portugalgirlgeekdinners.com) on 25th of September 2010

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,346
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
0
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide
  • SO baseado em linux Utiliza Java como linguagem de programaçao own Java Virtual machine (Dalvik). É um sistema aberto Tem um suporte e documentação mt bom A simple and powerful SDK
  • System C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view SGL - the underlying 2D graphics engine 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer FreeType - bitmap and vector font rendering SQLite - a powerful and lightweight relational database engine available to all applications
  • Application building blocks Key classes Activities Presents a visual UI for a single endeavor Examples: list of photos, buttons to start/stop a song Activities : Building block of the UI. Every screen in your application will be an extension of the Activity class. You can think of an activity as being analogous to a window or dialog in a desktop environment. Activity Present a visual user interface for one focused endeavor the user can undertake Example: a list of menu items users can choose from Services Performs background work (no UI) Examples: play background music, retrieve data over a network Services : Headless (non-UI) application that runs in the background. They are designed to keep running independent of any activity. Services Run in the background for an indefinite period of time Example: calculate and provide the result to activities that need it Broadcast Receivers Receives and reacts to broadcast announcements (no UI) Broadcast examples: battery is low, pic is taken, lang pref changed Intents : A simple message passing framework. Using intents you can broadcast messages system-wide or to a target Activity or Service. Broadcast Receivers : Intent broadcast consumers. By registering a broadcast receiver your application an listen for broadcast Intents that match specific filter criteria. Notifications : User notification framework. Let you signal users without interrupting their current activity. For instance an incoming call can alert you with flashing lights, making sounds, or showing a dialog. Broadcast Receivers Receive and react to broadcast announcements Example: announcements that the time zone has changed 4. Content Providers Provides app data to other applications (no UI) Examples: share contact info from SQLite, provide image from the file system Content Providers : Provide a level of abstraction for any data stored on the device that is accessible by multiple applications. Content Providers Store and retrieve data and make it accessible to all applications Example: Android ships with a number of content providers for common data types (e.g., audio, video, images, personal contact information, etc.)
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • 1. Eclipse Integrated Design Environment (IDE), a program to write code and manage software development      2. Java Development Kit (JDK), the Java compiler and support tools      3. The Android Software Development Kit (SDK), base code and emulators for developing Android apps      4. Android Development Toolkit (ADT), a plug-in for Eclipse that makes Android development seamless      5. Apache Ant, a program that automates software build processes (similar to 'make') Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • Android 2.1 – api level 7 It declares the minimum level of the Android API that the application requires. The manifest presents essential information about the application to the Android system, information the system must have before it can run any of the application's code. Enter a Min SDK Version . This is an integer that indicates the minimum API Level required to properly run your application. The Android system does check any system version compatibility expressed by an application in its manifest, in the minSdkVersion attribute. This allows an application to specify the minimum system API with which is compatible. If your application requires a specific minimum version of the Android platform, or is designed only to support a certain range of Android platform versions, you can specify those version requirements as API Level identifiers in the application's manifest file. Doing so ensures that your application can only be installed on devices that are running a compatible version of the Android system.
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • when handsets come to market running Android 2.3, you can bet the people stuck on 2.2 are going to feel shafted. No one wants to see that their cool new gadget is suddenly unable to do all the things that the new stuff can do.  One of the greatest and worst features of the Android OS is it’s open source nature.  there are apps that won’t run on all the Android devices in the market.
  • Gingerbed, Honeycomb
  • Android 2.2 comes packaged with a little piece of code called the just in time (JIT) compiler . A JIT compiler will increase the speed of Android and its applications by translating their code into a form that’s much faster for your phone to run. With JIT enabled (Just-in-time compilation), applications will run a lot faster — like 3x faster. In addition to speed improvements, it has a positive effect on battery life.
  • Probably one of the most talked about and highly anticipated features, Flash does not come installed with the Froyo update, rather it is supported.  You still must download the Flash 10.1 release for Android which is an easy enough process.  Once that is done feel free to browse any website you like and watch just about any flash video (save for some sites like Hulu).  Adobe even released a mobile site that directs you to many full featured Flash sites to get you going.  ( Download Flash for Android 2.2 here ) ( Download the Flash Showcase here or navigate to http://m.flash.com )
  • What?  Android 2.1 can’t voice dial over bluetooth?  I know right.  It is one of those little things that you would think Android already has the capability to do.  I think it was likely a slight oversight by Android developer but alas, Froyo gives you the voice dialing capability over bluetooth – and it works well.  I find that the voice recognition does its job for the most part except with a handful of tricky names.  Get prepared to get your hands-free dialing on with Froyo.
  • The enhanced camera features are another subtle improvement to the Andorid 2.2 feature set.  Innate digital zoom, 4-way camera rotation, and enhanced on-screen menus make the camera much easier to use under 2.2.  The menus give you a mulititude of new options that allow you to control zoom, flash, white balance, geo-tagging, focus and exposure  I find it much easier to turn functions on and off with the new menus and zooming is easier than ever without the need to install a 3rd party zoom app.  Additionally the flash LED can be enabled under camcorder mode for your low light video needs.
  • Certain devices like the Nexus One can be turned into a portable Wi-Fi hotspot that can be shared with up to 8 devices. You can use your Android-powered phone as a 3G connection for a Windows or Linux laptop by connecting their phone to the computer with a USB cable. The connection is then shared between the two devices. USB tethering --that is, using your phone as a modem to get online--is available on Windows and Linux (not the Mac). Windows XP users have to download a driver ; Windows 7, Vista, and Linux users are good to go by just enabling tethering on the phone and connecting it via the USB cable to your computer.
  • This is largely one of the best and most anticipated features of Froyo.  Apps to SD will allow you to install apps to the SD storage area so long as the app supports the feature.  This invariably will save many users that have limited space on their internal storage (such as Droid users) from having to delete apps in order to install new ones.  For mainstream users the biggest anticipation will be in waiting for app developers to build in support for the Apps to SD feature so we can get on with our space
  • This is largely one of the best and most anticipated features of Froyo.  Apps to SD will allow you to install apps to the SD storage area so long as the app supports the feature.  This invariably will save many users that have limited space on their internal storage (such as Droid users) from having to delete apps in order to install new ones.  For mainstream users the biggest anticipation will be in waiting for app developers to build in support for the Apps to SD feature so we can get on with our space
  • This is largely one of the best and most anticipated features of Froyo.  Apps to SD will allow you to install apps to the SD storage area so long as the app supports the feature.  This invariably will save many users that have limited space on their internal storage (such as Droid users) from having to delete apps in order to install new ones.  For mainstream users the biggest anticipation will be in waiting for app developers to build in support for the Apps to SD feature so we can get on with our space
  • google goggles
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • App’s data is private Data can be shared using content providers Preferences: Lightweight mechanism to store and retrieve key-value pairs of primitive data types Files: Store on mobile device or on a removable storage medium
  • A click performs the action. No confirmation, no "save". You clic on a setting, the setting changes. You select a filter in a drop down list, it filters. That's the user expectation. o Don't overload your menu. The contextual menu is used very often, it has to be used very quickly. If you have a lot of stuff, create one entry for a submenu named "more" like Google does. * It's a little screen, avoid putting to much information on it. Meaning only what the user will mostly use 90 % of the time. The rest of the data or actions must be contextual : long clic, menu, gestures, timers, etc. Yes, your user will not find all the feature immidiatly. He will probably even discover some of them monthes after using your app for the first time. But it worked for Apple :-) * Design for interruption. It's a phone : it gets on and off, calls income, music is played, etc. Your app will be open and shut a 1000 times so cut loading, save the right states and ensure congruency. * Design for big fingers. You don't have a stylus, and people have very different size of fingers. Design for the biggest so they won't get mad, while ordinary people will just feel more comfortable. In general, I don't think Google has a different mindset than Apple when it comes to design so I doubt there will ever be as much official material. No real design guidelines, just clutter about coding, no concrete hints how apps have to look like what you are expecting when you read "UI Design". OK - Android is a very open system for many different hardware types - maybe a little bit hard to give advices that fit for all systems - but not impossible
  • Smells likeandroid joanacosta_sept2010

    1. 1. SMELLS LIKE ANDROID Please meet Mr.Android Joana Costa | 25.09.10 | PGGD#3
    2. 2. Menu <ul><li>Motivation </li></ul><ul><li>Anatomy | Hello World </li></ul><ul><li>Devices | Design guidelines </li></ul><ul><li>Now | near future </li></ul><ul><li>Real example - Upps </li></ul>
    3. 3. SMELLS LIKE ANDROID | About me Joana Costa Computer Engineer [email_address] Engª Informática – Universidade de Coimbra Software Architect @ Alert Life Science Computing +3 years experience in mobile development (J2ME) Interests within the mobile area – and currently involved in the Android platform Should I be doing this? I should because: I’m a girl This is a dinner I’m 1/6 of a geek I have experience in mobile technology and starting in Android platform I shouldn’t because: I wrote just one Android app from start to finish
    4. 4. Motivation
    5. 5. SMELLS LIKE ANDROID | Motivation
    6. 6. Anatomy
    7. 7. SMELLS LIKE ANDROID | Anatomy I “ Android is a software stack for mobile devices that includes an operating system, middleware and key applications” http://developer.android.com
    8. 8. SMELLS LIKE ANDROID | Anatomy II Phone users App developers Programmers Hardware developers
    9. 9. SMELLS LIKE ANDROID | Anatomy II Activity Service UI screen (typically) Services that runs in the background Broadcast Receiver Components for broadcast notifications/alarms Content Provider Sharing of data across applications
    10. 10. <ul><li>Four ways to store data: </li></ul><ul><ul><li>Preferences </li></ul></ul><ul><ul><li>Files </li></ul></ul><ul><ul><li>Databases: SQLite  </li></ul></ul><ul><ul><li>Network: Store/retrieve data stored elsewhere </li></ul></ul>SMELLS LIKE ANDROID | Anatomy II
    11. 11. Hello world 
    12. 12. <ul><li>Before we begin: </li></ul><ul><ul><li>Latest Google Android SDKs installed </li></ul></ul><ul><ul><li>Latest JDK </li></ul></ul><ul><ul><li>Eclipse IDE </li></ul></ul><ul><ul><li>Android Development Tools (ADT) Plugin </li></ul></ul>SMELLS LIKE ANDROID | Hello World (http://developer.android.com)/
    13. 13. SMELLS LIKE ANDROID | Hello World
    14. 14. SMELLS LIKE ANDROID | Hello World Manisfest File
    15. 15. SMELLS LIKE ANDROID | Hello World Layout Resource
    16. 16. SMELLS LIKE ANDROID | Hello World String.xml
    17. 17. SMELLS LIKE ANDROID | Hello World The Java file
    18. 18. SMELLS LIKE ANDROID | Hello World
    19. 19. SMELLS LIKE ANDROID | Publish <ul><li>Upload at anytime, as many times as you want </li></ul><ul><li>3 easy steps: register, upload, and publish. </li></ul><ul><li>Users have access to apps right away </li></ul><ul><li>Free – develop, sign and publish your app for free </li></ul><ul><li>Users can rate your app </li></ul>
    20. 20. Problem: Fragmentation SMELLS LIKE ANDROID | Fragmentation
    21. 21. 6 major releases of the platform in a year and a half. SMELLS LIKE ANDROID | Fragmentation No one wants to see that their cool new gadget is suddenly unable to do all the things that the new stuff can do.  1.5 (Cupcake) February 2009 1.6 (Donut) September 2009 2.0/2.1 (Eclair) October 2009 2.2 (Froyo) May 2010 Gingerbread Q4 2010 Honeycomb 2011
    22. 22. Devices
    23. 23. SMELLS LIKE ANDROID | Devices Tattoo - HTC Hero - HTC Galaxy - Samsung Magic - HTC Android 1.5 Android 1.5 HTC Sense UI HTC Sense UI
    24. 24. SMELLS LIKE ANDROID | Devices Desire - HTC Xperia X10 - Sony Optimus Chic - LG Galaxy S - Samsung More @ http://www.androphones.com/ Android 2.1 Android 2.0 Android 2.2 Android 2.1
    25. 25. SMELLS LIKE ANDROID | Devices
    26. 26. SMELLS LIKE ANDROID | Devices Froyo is Upon Us Here’s What to Expect From Android 2.2
    27. 27. SMELLS LIKE ANDROID | Devices <ul><li>Speed </li></ul>Android 2.2
    28. 28. SMELLS LIKE ANDROID | Devices <ul><li>Speed </li></ul><ul><li> Flash 10.1 Support </li></ul>Android 2.2
    29. 29. SMELLS LIKE ANDROID | Devices <ul><li>Speed </li></ul><ul><li>Flash 10.1 Support </li></ul><ul><li>Bluetooth Voice Dialing </li></ul>Android 2.2
    30. 30. SMELLS LIKE ANDROID | Devices <ul><li>Speed </li></ul><ul><li>Flash 10.1 Support </li></ul><ul><li>Bluetooth Voice Dialing </li></ul><ul><li>Enhanced Camera Features </li></ul>Android 2.2
    31. 31. SMELLS LIKE ANDROID | Devices <ul><li>Speed </li></ul><ul><li>Flash 10.1 Support </li></ul><ul><li>Bluetooth Voice Dialing </li></ul><ul><li>Enhanced Camera Features </li></ul><ul><li>Portable Hotspot and USB Tethering </li></ul>Android 2.2
    32. 32. SMELLS LIKE ANDROID | Devices <ul><li>Speed </li></ul><ul><li>Flash 10.1 Support </li></ul><ul><li>Bluetooth Voice Dialing </li></ul><ul><li>Enhanced Camera Features </li></ul><ul><li>Portable Hotspot and USB Tethering </li></ul><ul><li>Dozens of other Features </li></ul>Android 2.2
    33. 33. SMELLS LIKE ANDROID | Applications
    34. 34. SMELLS LIKE ANDROID | Applications
    35. 35. http://www.youtube.com/watch?v=sKx2UyYlBmk SMELLS LIKE ANDROID | Applications Google goggles
    36. 36. Design guidelines
    37. 37. SMELLS LIKE ANDROID | UI guidelines
    38. 38. SMELLS LIKE ANDROID | UI guidelines
    39. 39. SMELLS LIKE ANDROID | UI guidelines
    40. 40. SMELLS LIKE ANDROID | UI guidelines <ul><li>Design Considerations / Constraints : </li></ul><ul><ul><li>Small screen size, low resolution </li></ul></ul><ul><ul><li>Less is more </li></ul></ul><ul><ul><li>Focus on the user </li></ul></ul><ul><ul><li>First impression counts </li></ul></ul><ul><ul><li>Low processing speed </li></ul></ul>
    41. 41. Statistics
    42. 42. SMELLS LIKE ANDROID | Stats
    43. 43. SMELLS LIKE ANDROID | Stats
    44. 44. SMELLS LIKE ANDROID | Stats
    45. 45. SMELLS LIKE ANDROID | Stats
    46. 46. Near Future
    47. 47. SMELLS LIKE ANDROID | Near Future
    48. 48. SMELLS LIKE ANDROID | Near Future
    49. 49. SMELLS LIKE ANDROID | Near Future
    50. 50. SMELLS LIKE ANDROID | Near Future
    51. 51. SMELLS LIKE ANDROID | Near Future
    52. 52. SMELLS LIKE ANDROID | Near Future
    53. 53. SMELLS LIKE ANDROID | Near Future
    54. 54. SMELLS LIKE ANDROID | Near Future
    55. 55. Future-Future
    56. 56. SMELLS LIKE ANDROID | Future-Future
    57. 57. SMELLS LIKE ANDROID | Future-Future
    58. 58. SMELLS LIKE ANDROID | Future-Future
    59. 59. SMELLS LIKE ANDROID | Future-Future
    60. 60. SMELLS LIKE ANDROID | Future-Future
    61. 61. SMELLS LIKE ANDROID | Future-Future
    62. 62. Real Example - Upps
    63. 63. SMELLS LIKE ANDROID | Upps With Upps you can have several options: <ul><li>( Setttings ) </li></ul><ul><li>Dude, where´s my phone? </li></ul><ul><li> Where´s Bob? </li></ul><ul><li>Are we there yet? </li></ul><ul><li> Bread crumbs </li></ul><ul><li> I´m coming!! </li></ul><ul><li> Here am I! </li></ul><ul><li>Block my phone </li></ul>http://concurso.androidpt.com/

    ×