2. » Android is a mobile phone operating system
maintained by google.
» Open Source Software Stack that hardware
manufacturers can use free of cosr on their
devices.
» Allows software developers a unified framework in
developing and distributing mobile applications
3. » Android is simply a linux kernel modified and
developed for maintaining mobile devices.
» Linux Kernel:
˃ provides abstraction between the hardware and the rest of the stack,
˃ responsible for device drivers (Camera , Wi Fi, etc…),
˃ resources management , power management, security and net working
» C/C++ Libraries:
˃ such as SQL lite, Graphics libraries OpenGL ES, media framework and
webkit layout engine.
4. » The Core libraries provide most of java libraries +
additional Android libraries.
» The Dalvik VM provides (Just In Time) JIT
compilation.
» Each Java application accessing the core libraries
has its own VM.
˃ This VM is based on the Java bytecoding engine.
5. » The Android Application Framework:
˃ Provides classes required to develop an Android application
˃ abstraction between hardware access
˃ the Android Java API’s main library include telephony, content providers
(data), resources, locations and UI.
» Application Layer: all Android applications(native
or third party) are built on the application layer
using the same API
» The core subsystem does not distinguish between
native (already on the phone) and 3rd party (what
could be installed by user)
6. » Each Android version has a name of a dessert.
» Android 1.x (Cup Cake).
» Android 1.x (Donut).
» Android 2.x (Eclair).
» Android 2.x (Froyo).
» Android 2.x (Gingerbread).
» Android 3.x (Honeycomb)
» Android 4.x (Ice Cream Sandwich)
» Android 5.x (JellyBean)
7. » Any hardware developer can use android on a device,
provided he can get the linux drivers for android
working on his hardware.
» Google phones always use the latest android update.
Everybody else waits and develops .
» Most 3rd party OEMs use older versions of android.
» Android can be used as a platform for any handheld
mobile hardware device usable by anybody in the
market for free.
8. » Android application follow complete java
development standards.
» All applications run inside a Java virtual machine.
» First thing to do is to get an updated version of
java onto your system
» Make sure you have the latest jdk installed on
your system. (7u5 as of now..)
9. » Android has a software development kit manager.
» Different versions of Android support different
platforms.
» You need to compile your android application
against the SDK version you want to support on
the device.
» We have an SDK manager that would help us do
the needful.
10. » http://developer.android.com/sdk/index.html
» Once you’ve installed it, an SDK manager should appear in
the windows menu. Open it.
» Check the following entries
˃ Tools/Android SDK tools
˃ Tools/Android SDK platform-tools
˃ Android 3.2 (API13)/SDK platform
˃ Android 3.2 (API13)/Samples for SDK
˃ Android 3.2 (API13)/Google APIs
» And click install. Select Agree in the window and install.
» Default installation location : …appdatalocalandroid
11.
12. » Eclipse is the tool of choice as purported by
google.
» IntelliJ IDEA IDE also has good android
development support and is as good to use.
» Either of the IDE’s is acceptable.
13. » Start Eclipse, then select Help > Software Updates > Find and Install….
» In the dialog that appears, select Search for new features to
install and press Next.
» Press New Remote Site.
» In the resulting dialog box, enter a name for the remote site (e.g.
Android Plugin) and enter this as its URL:
˃ https://dl-ssl.google.com/android/eclipse/.
» Press OK.
» Wait for completion.
» Select Window > Preferences… to open the Preferences panel. (Mac
OS X: Eclipse >Preferences)
Select Android from the left panel.
For the SDK Location in the main panel, press Browse... and find the
SDK root directory.
» Press Apply, then OK
14. » If you do not have an Android Hardware Device,
you can use the AVM to emulate an android
device and test applications on your computer.
» You will learn patience by using the AVM.
» AVM Manager can be launched from
˃ Tools > Manage AVDs from the SDK manager application
˃ Eclipse menu (ex : find it yourself)
15.
16. » Give a nice name to your AVD
» Target will be available depending on what all
SDK have been downloaded onto your
system.
» ENABLE SNAPSHOT (for faster loading)
ENABLE THIS!!
» In hardware,
˃ Increase device RAM to suitable level
˃ Leave hardware settings to default
» Add avd and click start in the manager it!
» ..patience..
» You can keep the emulator running
throughout your development period or as
long as it keeps functioning.
19. » Install VirtualBox
» Install Android Inside Virtual Box
» Connect eclipse to the android instance inside Vbox
» http://www.bobbychanblog.com/2011/07/faster-
android-emulator-alternative-using-virtualbox/
» http://www.andreybutov.com/2011/10/14/how-to-
set-up-a-faster-android-emulator/
» For more details..
20. » Android devices come in all different sizes.
» Stretch and compress your layouts to
accommodate various heights and widths.
» Be flexible and creative.
» Should look GOOD!
21. » ICS is first OS that unified both tablet and phone
experience.
» ICS however uses these features prominently with
some minor changes.
22. Persistent Action bar on top
Tablets have a different potrait
– landscape view so apps must
be designed accordingly.
Honeycomb,ICS hardware requirements ask for NO buttons except for power
and volume.
Hence, the menu – time – back and recent buttons are combined in the bottom
black bar.
23. » In ICS, notifications can be made the center of the
user’s experience, with real time updates and
specificatons.
» A new builder class will allow you to create
notifications with
• large and small icons,
• a title,
• a priority flag,
» These notifications build upon the expanded set of UI
Widgets that will now be available as remote Views.
24. » This new feature is a platform that includes flexible
animation framework that makes it easy for you to
animate the properties of UI elements like
»
• Views,
• Widgets,
• Fragments,
• Drawables,
• or any arbitrary object.
» These animations can fade between states, add
movement, loop an animated image or an already
moving animation, change item colors, and more.
25. » This framework lends both the API for building 3D
scenes and a platform-independent shader language
for max performance.
» With Renderscript you’ll be able to accelerate both
data processing and graphics operations,
˃ With multiprocessor
˃ And GPU support
» Supported Applications:
• Canvas,
• Paint,
• Xfermode,
• ColorFilter,
• Shader,
26. » Tablets offer more space in which your application
can present multiple sets of information at once,
» handset device usually requires that you split
those sets apart and display them separately.
» http://developer.android.com/guide/practices/scr
eens_support.html
» Creativity. Design -> Development
27.
28.
29. » Social API
˃ A shared social provider and API provide a new unified store for contacts,
profile data, stream items, and photos
» Calendar API
˃ A shared calendar content provider and framework API make it easier for
developers to add calendar services to their apps.
» Android Beam
˃ Android Beam is an NFC-based feature that lets users instantly share
information about the apps they are using, just by touching two NFC-
enabled phones together.
30. » Low-level streaming multimedia
˃ Android 4.0 provides a direct, efficient path for low-level streaming
multimedia. The new path is ideal for applications that need to maintain
complete control over media data before passing it to the platform for
presentation
» New camera capabilities
˃ Developers can take advantage of a variety of new camera features in Android
4.0. ZSL exposure, continuous focus, and image zoom let apps capture better
still and video images, including during video capture
» Wi-Fi Direct
˃ Developers can use a framework API to discover and connect directly to
nearby devices over a high-performance, secure Wi-Fi Direct connection. No
internet connection or hotspot is needed.
31. » KEEP READING THE INTERNET!!
» Go to various android news sites, keep in touch with latest
android news and announcements over there.
» Learn things outside this course. Lots of tutorials available
online
» Try things in the emulator patiently..
˃ Try Try Try and then Try again once more…
˃ And then once again..
˃ And again..
˃ Till you accomplish what you need.
» Ask people online for advice
˃ (only after your research is over!!)