This Weeks Links
Fragmented Podcast Episode 041: YAGNI
In this mini Fragment, Donn talks about one of his favorite topics, YAGNI. YAGNI is an acronym that stands for “You Aren’t Gonna Need It”. Donn explains what it is, why its useful and shares a personal story of how he was introduced to the YAGNI concept back in 2008.
Android working with Card View and Recycler View
Using CardView, an element introduced in Material Design, you can represent information in a card manner with a drop shadow and corner radii which looks consistent across the platform. This article takes a look at how to integrate CardView with RecyclerView by creating a beautiful music app that displays music albums with a cover image and title.
Understanding the RenderThread
With scarce documentation available on RenderThread, a new component introduced in Android Lollipop, this post sets out to understand what RenderThread really does and provides a sample for a complete implementation.
Network traffic monitoring for your mobile apps
This post gives an overview of possible ways to use default logging tools and external proxies to analyse the network traffic generated by your app and connected libraries
Eight ways your Android App can leak memory
Android apps are susceptible to wasting unnecessary memory and crashing as a result of out-of-memory (OOM) errors, despite developers not needing to explicitly manage allocated memory with Java. This article looks at ways your App’s could potentially leak memory and provides tips to avoid this occurring.
Android dev tip: Custom fonts for TextView
Android doesn’t ship with hot new typefaces, like Uptown Sans, so you have to figure out how to convince TextView to render with it, this tip provides a creative solution to solve this problem.
FlexboxLayout – Part2
This series is taking a look at FlexboxLayout, an Android layout manager, to try and gain some insights into how it works. Part 2 of this article looks at layout attributes: layout_order, layout_flexGrow, layout_flexShrink, layout_alignSelf and layout_flexBasisPercent. These can be applied to child Views to control how they are positioned within the parent FlexboxLayout.
Google I/O 2016: Joining and Evolving
Paul Turner summarizes Google I/O 2016, which he says appeared to have a focus of joining and evolving existing technologies into new products and features. The post looks at how Artificial Intelligence breakthroughs are driving this technology to becoming more integrated into everyday life and the way in which Android has evolved.
JobsLooking to hire an Android Dev? Look no further, post your job in the Android Dev Digest for one to four weeks. Reach over 15,000 Android professionals. Learn More |
ConstraintLayout 101 & the new Layout Builder in Android Studio
Android Studio 2.2 Preview includes a new layout editor that’s specially-built for a new layout called ConstraintLayout, This new layout aims to reduce layout hierarchies, whilst improving the performance of layouts and reducting the complexity of trying to work with RelativeLayouts. This article will show you how the new layout builder works and get you started with ConstraintLayout.
A study on scale: WhatsApp & Google Drive… the story of our integration
A look at some of the challenges of scaling faced by the devs integrating Google Drive in to WhatsApp – where over a billion users send and receive over 42 billion messages, photos, and videos every day.
Appboy Study Finds Android Apps Have Higher Retention Rates than iOS Apps
Appboy has released its latest data report, Spring 2016 Mobile Customer Retention which shows Android apps have higher retention rates than their iOS equivalent across many app verticals, the exceptions are social and messaging media / entertainment apps. Take a look at the details!
Introducing Square’s Register API for Android
Developers can now build custom Android point-of-sale applications that take swipe, dip, or tap payments through Square hardware. To start taking payments, it’s as simple as three lines of code, take a look.
Android Development for the Rural World: A how to guide
Only one third of people in this world have access to the Internet. This post looks at how to build an Android data collection application that works on low cost, low specification devices in some of the most remote parts of the world.
Massive update of Google’s Firebase: What’s new for App Developers
After 18 month since Firebase joined Google, its developer community has experienced a fourfold growth worldwide. This article looks at the new Firebase development tools with an introduction to Firebase Analytics, Quality Assurance Features and Monetization Solutions.
How to develop a Diet and Nutrition App
Diet and nutrition apps help you out greatly in taking care of your body and moving toward your goals. Of course, their stuffing can differ. This app takes a look at the features and considerations needed when building a diet and nutrition app.
And the winners of the Google Play Awards are…
With Google Play now reaching over 1 billion users every month, developers like you continue to push the boundaries of what apps can do through great innovation, creativity and passion. Here are the winners of the 2016 Google Play awards for each category!
Videos
Caster.IO Episode 69: Introduction to Realm (Updated)
In this lesson you will learn:
- How to install Realm with the new Realm Gradle Plugin
- How to create a RealmObject
- How to configure a realm instance with the RealmConfiguration
- A brief mention of the @RealmClass annotation (covered in a future lesson)
- How to create an object with Realm.createObject()
- How to add Primary Keys in Realm
- How to query the Realm to find all objects of a particular type – using findAll()
- How to perform a ‘contains’ query
Caster.IO Episode 70: Clean Realm Models with the @RealmClass Annotation
In this lesson you will learn:
- How to use the new @RealmClass annotation with the RealmModel interface
- What the RealmModel marker interface is
- How to migrate from instance methods to RealmObject helper methods.
- How to implement additional interfaces on Realm models.
- How you can intermingle @RealmClass models and RealmObject models without issue
Caster.IO Episode 71 – Retrofit 2: Issuing PUT Requests to Update Entities
In this episode you will learn:
- What is a PUT request
- When you should use a PUT request
- How to provide an @Path variable with a PUT request
- How to send a PUT request with @Body parameter
- How to view the response of the PUT request in Logcat
Caster.IO Episode 72: Realm Object Relationship: Many-To-One & One-to-One and a simple Link Query
In this lesson you will learn:
- How to create an object relationship in Realm
- What a Many-to-One Object Relationship is and how to implement it in Realm
- How to model a One-to-One Object Relationship in Realm (hint: its a Many-to-one)
- How to save an object with a relationship
- How to directly query that object
- How to query that object using a Realm link query
- How to query using the ‘beginsWith’ clause and the ‘equalsTo’ clause
Open Source
Renderthread
This library wraps the native RenderThread, providing a type-safe way to run custom animations off the UI thread.
Cappuccino
A sweeter Espresso. Never write your own IdlingResource again. Never manually turn off system animations again.
RxFirebase
RxJava wrapper on Google’s Firebase for Android library