This Weeks Links
Fragmented Podcast Episode 045: Bluetooth (LE) with Dave (devunwired) Smith
We’ve always been curious about technology and the software surrounding embedded devices and the like. One such technology that’s ubiquitous these days is Bluetooth (LE). In this show we talk with embedded technology expert and all round super smart AndroidDev Dave Smith a.k.a the wonderful devunwired.
We try to get a high level understanding of how Bluetooth works. From a developer’s perspective, how does this tech work? Why should we as AndroidDevs be interested in this technology. What boundaries can we push? How can we effectively use this technology? In this episode we pick Dave’s brain and try to answer some of these questions.
Android N APIs are now final, get your apps ready for Android N!
That’s right folks, Android N’s final SDK is now available for download through the SDK Manager in Android Studio. This post will look at what new features to expect, how to get started, how to get Developer Preview 4.
SQLite and Android N
According to Eric Sink, If your app is using the system SQLite library without using the Java wrapper, it will not be compatible with Android N. This post details the effects which include an increased risk of data corruption and a multiple SQLite problem.
ConstraintLayout – Part 2
In this series of articles you will take a look at the new Android layout named ConstraintLayout and you will be provided with some insights into how best to use it. Part 2 looks at why ConstraintLayout is necessary and it’s advantages.
A smaller, sleeker app using the APK Analyzer
Lisa Wray, an Android engineer at Genius writes about their experience of using APK Analyzer to reduce the size of their Genius app APK, after encountering the dex method limit.The post looks at why their APK became oversized and the steps taken to reduce their native code.
Inject everything — ViewHolder and Dagger 2 (Multibinding and AutoFactory example)
This post is a part of series of posts showing Dependency Injection with Dagger 2 framework in Android and takes a look at Multibinding, Autofactory and implementation of the ViewHolder pattern with Dagger 2.
Why we should stop putting logic in activities
Activities weren’t designed for App Logic. Putting non-trivial logic in our Activity makes functional and unit testing difficult. This article will explain why Functional Testing (with Espresso) is hard and shows why putting logic in our Activity makes things difficult.
How to safely move Logic out of Activities
Following on from the previous link, this post suggests a method of safely removing app logic from Activities and Fragments. The central idea is drawn from Michael Feathers’ Working Effectively with Legacy Code: characterization tests.
Keddit — Part 9: Unit Test with Kotlin (Mockito, RxJava & Spek)
This great series of Stories will help you to learn Kotlin, while developing an Android App. Part 9 looks at Unit Tests in the Keddit App and testing Observables with TestSubscribe.
Multicasting in RxJava
Multicasting is a key method for reducing duplicated work in RxJava. In this post, Dan Lew, explains what two types of Multicasting exist, how they work and provides an example with tips.
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 |
App Diets are not a fad
Smaller APK’s are more user friendly. However, they can also provide improved improved resource lookup and reflection speeds. Additionally, reducing image size with image optimization can result in fewer dropped frames. This summary from Wojtek Walicinski’s Google’s I/O talk looks at why app size matters, different types of size to consider and shrinking your code.
One Year of Android Security Rewards
In 2015 the Google Vulnerability Rewards Program introduced Android Security Rewards which offered up to $38,000 per report that was used. Here is an overview of some of the implementations from the 250 qualifying vulnerability reports and a summary of the first year.
Introducing Google Sheets API v4: Transferring data from a SQL database
The updated Google Sheets API includes many new features including access to functionality found in the Sheets desktop and mobile user interfaces. This post and video will show you how to get data into and out of a Google Sheet programmatically, walking through a simple script that reads rows out of a relational database and transferring the data to a brand new Google Sheet.
Developers can now post apps for Android N (API 24) to the Play Store
API level 24 for the next version of Android is officially final and developers can begin posting apps built for it to the Play Store. Take a look at this post for more information and the behavioral changes in Android N!
Flat Design vs. Material Design: How different they are
This article provides an interesting history of and look into Flat Design and Material design, how they differ and came to be.You will then move on to look at the details of the advantages and disadvantages of each design before a summary is provided.
How to develop a Phone Cleaner: Smart answers to tricky questions
Phone cleaners automate the job of cleaning up unnecessary data and processes using valuable system resources. This article looks at some of key considerations when looking to develop a phone cleaner, from the competition through to monetizing the app.
Android Developer Story: Sendy uses Google Play features to build for the next billion users
Sendy is a on-demand couriering platform which connects customers and logistics providers, providing two unique apps, one for the driver and one for the customer. This post contains a great video in which CEO & Co-founder, Meshack Alloys, and Android Developer, Jason Rogena, share the highlights of how they have provided this service app in Nairobi, Kenya.
The Busy Coder’s Guide to Android Development
This is a preview of this book which includes material on setting up your development tools, constructing a user interface, loading data from a local database or the Internet, handling the differences between phones and tablets, and much more.
The powerful Android Studio
The intention of this article is to serve as media support for a Exfest’16 talk. Saúl Molinero looks at the important role of IntelliJ IDEA in relation to Android Studio. Sault also provides a few tips that he feels will be useful every day along the way.
Videos
Caster.IO Episode 79: Realm – Many-to-Many Relationships
In this lesson you will learn about many-to-many relationships in Realm.
In this episode you will learn:
- What a RealmList is.
- How to create a Many-to-many relationship in Realm
- How to add items to a relationship
Caster.IO Episode 80 – Retrofit 2: Enabling Offline Cache
In this lesson you will learn how to enable offline cache in Retrofit (via OkHttp) so that your application can work in a disconnected environment.
In this episode you will learn:
- How to use the OkHttp cache when you are offline
- How to add a Application Interceptor to OkHttp
- How to view/debug your OkHttp cache files
Open Source
AndroidNetworking
Android Networking is a powerful library for doing any type of networking in Android applications which is made on top of OkHttp Networking Layer.
ReadMoreTextView
A Custom TextView with trim text
FocusResize
A custom animation with scroll listener to recycler views
DBFlow
A blazing fast, powerful, and very simple ORM android database library that writes database code for you.