Android development


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Android development

  1. 1. Android Development EXPERTS TRAINING & SOLUTIONS
  2. 2. About Me!  Abdullah Rizwan  BS(CS)  Computer programming since 1998 (15 Years of experience)  Worked in Ericsson (Sweden), BHP Billiton (Australia), NADRA, EXPERTS  Many Local & International Projects  Visits many countries  A lovely wife and three cute kids  Email:  Cell: +92(321)6694784  Facebook: arizwanEXP
  3. 3. EXPERTS Training & Solutions  Founded in 2001 (A pioneer IT institute) by Irfan Zafar  Private Limited in 2008  Two campus in Faisalabad {Satiana Road & Raja Road, Gulistan Colony}  One Office in Lahore Johar Town  Foreign Offices, Global Presence.  Microsoft IT Academy  Cisco Network Academy  Certiport Testing Center  Prometric Testing Center
  4. 4. Why Mobile App Development?  The fact that we can!  Mobile platform is the platform of the future  Double-digit growth in world-wide smartphone ownership  Job market is hot  Market for mobile software surges from $4.1 billion in 2009 to $17.5 billion by 2012  2010 survey: 72% of recruiters looking for iPhone app developers, 60% for Android  mobile app developers made $85,000 in 2010 and salaries expected to rise  Students (and faculty!) are naturally interested!
  5. 5. Mobile Applications  What are they?  Any application that runs on a mobile device  Types  Web apps: run in a web browser  HTML, JavaScript, Flash, server-side components, etc.  Native: compiled binaries for the device  Often make use of web services
  6. 6. Mobile Devices: Advantages  Always with the user  Typically have Internet access  Typically GPS enabled  Typically have accelerometer & compass  Most have cameras & microphones  Many apps are free or low-cost  Interesting Advantages
  7. 7. Mobile Devices: Disadvantages  Limited screen size  Limited battery life  Limited processor speed  Limited and sometimes slow network access  Limited or awkward input: soft keyboard, phone keypad, touch screen, or stylus  Limited web browser functionality  Range of platforms & configurations across devices
  8. 8. What is Android?  Android is a Linux-based operating system  Designed for touchscreen mobile devices i.e. smartphones and tablet computers.  Initially developed by Android, Inc.  Android is open source and Google releases the code under the Apache License.  Apps written primarily in a customized version of the Java programming language  It has seen additional applications on laptops, netbooks, smartbooks, smart TVs (Google TV), cameras, smart glasses (Google Glass), wristwatches, headphones, car CD/DVD players, mirrors, portable media players, landlines, Voice over IP phones, Videogames console, Android@Home, microwave ovens and other electronics.
  9. 9. What is Android?  A software stack for mobile devices that includes  An operating system  Middleware  Key Applications  Uses Linux to provide core system services  Security  Memory management  Process management  Power management  Hardware drivers 
  10. 10. Market Share  Second quarter 2009: 2.8%  Forth quarter 2010: 33%  Third quarter 2011: 52.5%  Third quarter of 2012: 75%  Activation 750 million devices  1.5 million activations per day.  October 2012:  Total Apps in Google Play ~700,000  Downloads from Google Play ~25 billion.  May 2013  Activation 900 million devices  Downloads from Google Play ~48 billion.
  11. 11. Apple vs. Google  Open Handset Alliance  80+ technology companies  Commitment to openness, shared vision, and concrete plans  Compare with Mac/PC battles  Similar (many PC manufacturers, one Apple)  Different (Microsoft sells Windows, Google gives away Android)
  12. 12. History  Android, Inc. was founded in Palo Alto, California in October 2003 by Andy Rubin, Rich Miner, Nick Sears and Chris White  "smarter mobile devices that are more aware of its owner's location and preferences"  Bought by Google in 2005  In September 2007 Google had filed several patent applications in the area of mobile telephony  November 5, 2007: Open Handset Alliance: a consortium of hardware, software, and telecommunication companies devoted to advancing open standards for mobile devices. 84 Members starting from 34 members and Android was unveiled.  The first commercially available phone to run Android was the HTC Dream, released on October 22, 2008
  13. 13. Versioning  Each major release is named in alphabetical order after a dessert or sugary treat; for example, version 1.5 Cupcake was followed by 1.6 Donut. The latest release is 4.2 Jelly Bean.  Google provides major updates, incremental in nature, to Android every six to nine months.  The lack of after-sale support from manufacturers and carriers has been widely criticized  CyanogenMod is the most widely used community firmware  versions-comparison
  14. 14. Version Distribution
  15. 15. Interface  Android's user interface is based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching and reverse pinching  Internal hardware such as accelerometers, gyroscopes and proximity sensors, can be used  Android homescreens are typically made up of app icons and widgets  The top of the screen is a status bar, showing information about the device and its connectivity, notification area
  16. 16. Applications  Google Play Store  Amazon App Store  .apk files  Many third party App Stores
  17. 17. Linux  Android based on Linux kernel version 2.6 ; Android 4.0 Ice Cream Sandwich on version 3.x  Middleware, libraries and APIs written in C  Application software running on Java-compatible libraries based on Apache Harmony.  Android uses the Dalvik virtual machine with just-in-time compilation to run Dalvik 'dex-code' (Dalvik Executable).  Hardware platform is the ARM architecture. Support for x86 from the Android-x86 project.  Google TV uses a special x86 version of Android.  Intel processors began to appear on more mainstream Android platforms, such as phones.  Android does not have a native X Window System by default nor does it support the full set of standard GNU libraries.  Google contributed back to the Linux kernel, e.g power management feature called "wakelocks"  The flash storage on Android devices is split into several partitions, such as "/system" for the operating system itself and "/data" for user data and app installations.  No root access to the operating system and sensitive partitions such as /system are read-only.  Whether or not Android counts as a Linux distribution
  18. 18. Memory management  When an Android app is no longer in use, the system will automatically suspend it in memory  Suspended apps consume no resources (e.g. battery power or processing power) and sit idly in the background until needed again.  This has the dual benefit of increasing the general responsiveness of Android devices, since apps don't need to be closed and reopened from scratch each time, but also ensuring background apps don't waste power needlessly.  Android manages the apps stored in memory automatically: when memory is low, the system will begin killing apps and processes that have been inactive for a while
  19. 19. Security and Privacy  Android applications run in a sandbox, an isolated area of the system that does not have access to the rest of the system's resources, unless access permissions are explicitly granted by the user when the application is installed.  Google currently uses their Google Bouncer malware scanner to watch over and scan the Google Play store apps  Android version 4.2 Jelly Bean includes a malware scanner built into the system. It can scan apps installed from google play and 3rd party sources as well, and an alert system which notifies the user when an app tries to send a premium-rate text message.  Android smartphones have the ability to report the location of Wi-Fi access points
  20. 20. Intellectual property issues  On August 12, 2010, Oracle sued Google related to the Java. ($6.1 billion)  Android is based on Apache Harmony, an independently developed VM called Dalvik.  In May 2012, Structure of the Java APIs used by Google was not copyrightable.  Both Apple and Microsoft have sued several manufacturers for patent infringement  In October 2011, Microsoft signed patent license agreements with ten Android device manufacturers, whose products account for 55% of the worldwide revenue for Android devices. These include Samsung and HTC.  In 2011–12, Google purchased Motorola Mobility for US$12.5 billion it held more than 17,000 patents.  In December 2011, Google bought over a thousand patents from IBM.
  21. 21. Development  Applications are developed in the Java language using the Android software development kit (SDK). It includes development tools, such as debugger, software libraries, a handset emulator based on QEMU, documentation, sample code, and tutorials.  The officially supported integrated development environment (IDE) is Eclipse using the Android Development Tools (ADT) plugin.  Other development tools are available, including a Native Development Kit for applications or extensions in C or C++  App Inventor The application was made available through request on July 12, 2010, and released publicly on December 15, 2010. Google terminated App Inventor on December 31, 2011. The MIT Center for Mobile Learning is now supporting it under the name "MIT App Inventor".
  22. 22. Development Process
  23. 23. Android Apps  Built using Java and new SDK libraries  No support for some Java libraries like Swing & AWT  Oracle currently suing Google over use  Java code compiled into Dalvik byte code (.dex)  Optimized for mobile devices (better memory management, battery utilization, etc.)  Dalvik VM runs .dex files
  24. 24. Build & Run  ADB is a client server program that connects clients on developer machine to devices/emulators to facilitate development.  An IDE like Eclipse handles this entire process for you.
  25. 25. Applications Are Boxed  By default, each app is run in its own Linux process  Process started when app’s code needs to be executed  Threads can be started to handle time-consuming operations  Each process has its own Dalvik VM  By default, each app is assigned unique Linux ID  Permissions are set so app’s files are only visible to that app  t.permission.html  t.permission_group.html
  26. 26. Publishing and Monetizing  Paid apps in Android Market, various other markets  Free, ad-supported apps in Android Market  Ad networks (Google AdMob, Quattro Wireless)  Sell your own ads  Online Services  Elance, Rent-a-coder etc  Contests (Android Developer Challenge)  Selling products from within your app
  27. 27. Google Play  Has various categories, allows ratings  Have both free/paid apps  Featured apps on web and on phone  The Android Market (and iTunes/App Store) is great for developers  Level playing field, allowing third-party apps  Revenue sharing
  28. 28. Publishing to Play  Requires Google Developer Account  $25 fee  Link to a Merchant Account  Google Checkout  Link to your checking account  Google takes 30% of app purchase price
  29. 29. Android Design Philosophy  Applications should be:  Fast  Resource constraints: <200MB RAM, slow processor  Responsive  Apps must respond to user actions within 5 seconds  Secure  Apps declare permissions in manifest  Seamless  Usability is key, persist data, suspend services  Android kills processes in background as needed
  30. 30. Leveraging the web  To keep your apps fast and responsive, consider how you can leverage the web  What ____________ can be ________ on a server or in the cloud?  Tasks/performed  Data/persisted  Data/retrieved  Beware, data transfer is also expensive and can be slow
  31. 31. What’s Next   EXPERTS Training & Solutions  2 Months  2 Sessions per week  15,000 Fee Package  Highlights  Input Gestures, Sensors, Camera, GPS, Location/Maps, Web Services, SMS, Mic/ Speakers, Phone, Internet etc
  32. 32. Practical  Questions & Answers