What a partnership! Picasso and RecyclerView

Android RecyclerView and Picasso tutorial icon

If you display images in lists or grids then you should consider using Picasso and RecyclerView.

Picasso is a powerful image downloading and caching library package which you include in your app build. It simplifies working with images, reducing the code that you need to use to one line of code.

Picasso is fast and easy to use and it’s FREE!

The RecyclerView widget is essentially a container that you can use to display large sets of data. It’s very efficient as it only displays a few items at a time. Views that are no longer needed are recycled and reused.

Not having to keep on inflating views saves CPU resources and valuable memory is saved by not having to keep views alive in the background.

Combine Picasso and RecyclerView and your app will move at the speed of light!

Using the OkHttp library for easy downloading

Android cloud connection OkHttp http icon

Want to simplify communicating with the cloud?

More and more mobile apps are making use of data storage in the cloud. Android provides the tools to communicate with the cloud but it takes quite a bit of coding to make it work.

OkHttp is a popular library that reduces the amount of code, making it very easy for you to make use of cloud storage for your app.

OkHttp is developed by Square and is FREE!

Using custom fonts

Android custom fonts icon

The Android SDK comes with a set of fonts but you can also use your own fonts.

We’ll show you how.

Passing Parcels between activities

Android Parcelable interface tutorial icon

You can pass primitive data, like integers, strings, booleans and array lists between activities.

You can also pass Serialized object between activities. We showed you how in a previous tutorial. In this tutorial, we show you how to use the Parcelable interface to pass objects between activities.

Passing Serialized objects between activities

Android Serializable objects icon

You can pass primitive data, like integers, strings, booleans and array lists between activities.

You can also pass Serialized objects between activities. We’ll show you how.

RecyclerView and CardView widgets for all

RecyclerView and CardView tutorial icon

Android’s latest release, Lollipop (Android 5.0 API Level 21) includes the new RecyclerView and CardView widgets. They’re also made available for use on devices running API Level 7 and above through the Support Libraries.

The RecyclerView provides a more advanced and flexible way of displaying lists than the old ListView.

The CardView widget enables you to display views inside a card. You can design the card so that its look is consistent across your app.

Using Toolbars in your apps

Toolbars

Android toolbar icon

A Toolbar is similar to an ActionBar.

It’s a ViewGroup so you can place it anywhere in your layout. You can even replace the ActionBar with a Toolbar.

Toolbar’s are also more flexible. You can modify its size, colour, position, etc. You can also add logos, labels, navigation icons and other views to it.

With the release of Android 5.0 and material design, Android has updated the AppCompat support libraries so that we can use Toolbars on devices running API Level 7 and up.

Expandable lists

Double up: using expandable lists

Android ExpandableListView expandableList icon

Expandable lists let you create lists within lists.

They’re ideal for list items that have sub-categories. The user selects an item from a scrollable list and another list pops open. They can then make another selection from this list.

Adding menus programmatically

Creating menus in code

Android add menu programmatically icon

It’s best to define your menus in XML in a menu resource file. However, sometimes you may want to create or modify a menu programmatically.

We’ll show you how to create and modify your menus in code.

We’re using the support library so that our code will work on devices running Android 2.1.x (API Level 7) and higher.

Context

Android context icon

The Context class gives you access to the global information about an application’s environment. It lets you:

  • Access the apps resources and classes
  • Communicate with other app components