www.edureka.co/android-development-certification-course
View Android Development course details at www.edureka.co/android-development-certification-course
Building Application In Android Lollipop
For Queries:
Post on Twitter @edurekaIN: #askEdureka
Post on Facebook /edurekaIN
For more details please contact us:
US : 1800 275 9730 (toll free)
INDIA : +91 88808 62004
Email Us : sales@edureka.co
Slide 2 www.edureka.co/android-development-certification-course
In this webinar, we will discuss:
What's new in Android Lollipop
Material Design And UI Components
RecyclerView & Palette API in Lollipop
Android Runtime (ART)
Compatibility and Support Libraries
Objectives
Slide 3 www.edureka.co/android-development-certification-course
Android History
Slide 4 www.edureka.co/android-development-certification-course
 Preview “L” revealed during I/O 2014
» API Level 20
» Preview images
 November 2014
» Final API Level 21
» Firmware Downloads for Nexus devices Nexus 6/9 “available”
Android 5.0 History
Slide 5 www.edureka.co/android-development-certification-course
Material Design and
Components
Slide 6 www.edureka.co/android-development-certification-course
 There is more http :/ / www.g o o gle .c o m / d e sign/ s p e c / m a te rial-d e s ig n/ introduc tion.ht m l
 Design Guidelines

guid e line s
Material Design Principles
Slide 7 www.edureka.co/android-development-certification-course
 Colors
» Large areas, suggested color palette
 3D
» Mostly 2D & 2.5D to give structure
 Images
» More personal & emotional content
 Light and Shadow
» Cards and Overlays

guid e line s
Material Design Principles 1/2
Slide 8 www.edureka.co/android-development-certification-course
 Flat
» No bevels, gradients, effects
 Typography
» Roboto and font style definitions
 Animations
» Explains interaction
 Layout templates
» Margins, key lines, etc.

guid e line s
Material Design Principles 2/2
Slide 9 www.edureka.co/android-development-certification-course
Set in AndroidManifest.xml
@android:style/Theme.Material
@android:style/Theme.Material.Light
@android:style/ Theme.Material.Light.DarkActionBar

guid e line s
Material Design Theme
Slide 10 www.edureka.co/android-development-certification-course
<style name="AppTheme“ parent="android:Theme.Material">
<item name="android:colorPrimary">#3333cc</item>
<item name="android:colorPrimaryDark">#000099</item>
<item name="android:colorAccent">#999933</item>
</style>
Material Design Theme – Custom Colors
Slide 11 www.edureka.co/android-development-certification-course
 ToolBar is a generalized ActionBar
» More flexible
 setActionBar(toolBar)
» Option menu actions
 Can be placed anywhere in the layout
» For example, in a pop up Fragment
 Toolbar is just another View
guid e line s
Toolbar
Slide 12 www.edureka.co/android-development-certification-course
<!–- For example inside some RelativeLayout -->
<android.widget.Toolbar android:id=”@+id/mytoolbar”
android:layout_height=”wrap_content”
android:layout_width=”match_parent”
android:minHeight=”?attr/actionBarSize”
android:background=”?attr/colorPrimary” />
// Inside Activity, after inflating the layout Toolbar toolbar =
(Toolbar) findViewById(R.id.mytoolbar);
Toolbar Example
Slide 13 www.edureka.co/android-development-certification-course
toolbar.inflateMenu(R.menu.mytoolbar_menu);
toolbar.setOnMenuItemClickListener(
new Toolbar.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// Do something
}
});
Toolbar – Standalone with Option Menu
Slide 14 www.edureka.co/android-development-certification-course
 Say good bye to shadow.png
<View … android:elevation="8dp" />
 Change the color of drawables
drawable.setTint(color);
//XML: android:tint="#ff00ff"
Shadows and Tints – Less Drawables!
Slide 15 www.edureka.co/android-development-certification-course
 Where does its name come from?
Recycled views (aka convert views)
 Powerful adapter-backed view
More flexible than ListView and GridView
 NOT a framework class (!)
Support library on its own
 Gradle dependency
com.android.support:recyclerview-v7:21.0.+
Recycler View
Slide 16 www.edureka.co/android-development-certification-course
 LayoutManager places child views
 Must be set in RecyclerView
» recyclerView.setLayoutManager(lm);
 Default LayoutManagers
» LinearLayoutManager (vertical & horizontal)
» StaggeredGridLayoutManager
» GridLayoutManager
Recycler View – LayoutManager
Slide 17 www.edureka.co/android-development-certification-course
 RecyclerView.ViewHolder contains View
Must be sub-classed, avoids findByView(…)
 Implement abstract RecyclerView.Adapter
// create new view and its holder (no binding) ViewHolder onCreateViewHolder(ViewGroup g, int pos)
// bind data values to View
void onBindViewHolder(ViewHolder h, int pos)
int getItemCount()
RecyclerView.Adapter<ViewHolder>
Slide 18 www.edureka.co/android-development-certification-course
 Problem with notifyDataSetChanged (ListV.)
» Which elements have changed?
» Individual animations are hard to implement
 Fine grained notifications
» notifyItemChanged(int)
» notifyItemInserted(int)
» notifyItemRemoved(int)
» notifyItemRangeChanged(int, int)
» notifyItemRangeInserted(int, int)
» notifyItemRangeRemoved(int, int)
RecyclerView.Adapter – Data Notifications
Slide 19 www.edureka.co/android-development-certification-course
 ViewHolders might use expensive resources like Bitmaps
 Callbacks useful to release resources
» onViewAttachedToWindow(VH holder)
» onViewDetachedFromWindow(VH holder)
» onViewRecycled(VH holder)
RecyclerView.Adapter Callbacks
Slide 20 www.edureka.co/android-development-certification-course
 Item modifications are animated by default
 Customize with RecyclerView.ItemAnimator
// Parameters: ViewHolder + change info animateAdd(…)
animateChange(…)
animateMove(…)
animateRemove(…)
// Plus some house keeping methods
RecyclerView Animations
Slide 21 www.edureka.co/android-development-certification-course
Android Runtime(ART)
Slide 22 www.edureka.co/android-development-certification-course
 No Java VM
 Dalvik VM
 Java source –> class -> DEX
 DEX: Dalvik executable, register-based
 JIT compiler since Android 2.2
 Several optimizations, but Unlike Java, Dalvik never challenged native
Android VM Basics : Dalvik
Slide 23 www.edureka.co/android-development-certification-course
 First appearance in Android 4.4, Dalvik is still default, ART is somewhat hidden
 Replaced Dalvik in Android 5.0
 Ahead of time compilation (AOT)
 Better Garbage Collection (GC)
 64 bit support
 Better Profiling and Debugging
 Under documented
ART – The New Android Runtime
Slide 24 www.edureka.co/android-development-certification-course
 Compilation during installation
» Installation takes longer
» More storage required (DEX + Compiled)
 Better startup time
 No compilation lags during execution
 Compiled ART code is faster than compiled Dalvik code
 Better battery life, less memory consumption
ART – Ahead of Time Compilation
Slide 25 www.edureka.co/android-development-certification-course
 Reference : ~80,000 Events Dalvik 4.4
ART – Android 4.4 vs. 5.0 Performance
Slide 26 www.edureka.co/android-development-certification-course
 Chromium 37
 WebGL
 WebAudio
 Updateable from Google Play (!)
 Target SDK 21 has different defaults
» Blocks mixed content (HTTPS & HTTP)
» Blocks 3rd party cookies
 Permissions for camera, microphone, etc.
WebView
Slide 27 www.edureka.co/android-development-certification-course
 Even more powerful Notifications
» Privacy setting for lock screen
» Heads up notifications (floating)
 Camera2 API, deprecates Camera
» More control, burst mode, etc.
 Job scheduling to save battery
» Enqueue jobs and let the system decide when to run
We could go on and on and on..
Slide 28 www.edureka.co/android-development-certification-course
Compatibility and Support
Libraries
Slide 29 www.edureka.co/android-development-certification-course
 Set target level in Manifest
» android:targetSdkVersion="21“
 Check version in code
» if (Build.VERSION.SDK_INT >= 21) {…}
 Use version qualifiers for resource folders
» values-v21/
Support Android 5.0 Optionally
Slide 30 www.edureka.co/android-development-certification-course
 History: Started with ActionBar, etc.
 ToolBar
 Material Theme with customizable colors
 Tinting for some Views (Toolbar, Checkbox, …)
 Android 5.0 SearchView Widget
App Compact Library V2 1
Slide 31 www.edureka.co/android-development-certification-course
 For Android 2.1+ (API level 7)
 Depends on the v4 Support Library Fragments, etc.
 Gradle dependency
compile "com.android.support:appcompat-v7:21.0.+"
App Compact Library V2 1 - Integration
Slide 32 www.edureka.co/android-development-certification-course
 Palette
» Extract primary colors from Bitmap
» com.android.support:palette-v7:21.0.+
 Card Views
» Uses elevation on Android 5.0
» Shadow fallback for Pre-5.0
» com.android.support:cardview-v7:21.0.+
More Support Libraries related to Lollipop
Slide 33 www.edureka.co/android-development-certification-course
Job Trends
Slide 34Slide 34Slide 34 www.edureka.co/android-development-certification-course
Course Topics
 Module 1
» Introduction to Android Development
 Module 2
» Android Layouts and Widgets
 Module 3
» Activity and Fragments, Notifications and Media
 Module 4
» Customizing Widgets and Implementing Event
Receivers
 Module 5
» Storage and Animations
 Module 6
» Web Services
 Module 7
» Location and Google Maps
 Module 8
» Database Framework & Third Party Libraries
 Module 9
» Sensors and Social Media Integration
 Module 10
» End-to-End App Development & Publishing
Slide 35 www.edureka.co/android-development-certification-course
Questions
For Queries:
Post on Twitter @edurekaIN: #askEdureka
Post on Facebook /edurekaIN
Slide 36 www.edureka.co/android-development-certification-course
LIVE Online Class
Class Recording in LMS
24/7 Post Class Support
Module Wise Quiz
Project Work
Verifiable Certificate
How it Works
Slide 37 www.edureka.co/android-development-certification-course

Android development 1july