This Weeks Links
Fragmented Podcast 078: Ten Testing Strategies with Michael Bailey
In this episode, Donn sits down with fellow Android GDE, Michael Bailey to cover 10 testing strategies to help you get your application under test and to make sure your testing environment is top notch. They start off with the basics and then progress further down the testing rabbit hole eventually covering topics like cloud-based testing labs, hermetic testing and much much more. This episode will help provide you with a blueprint of how to get your Android app under test and get you to a level where you can develop your app with confidence.
Android Studio + JIRA (and other bug tracking tools)
JIRA Software is the project management tool which provides the ability to bug track, issue track, and project manage functions for agile teams. In this post, Josias Sena shares a feature available in Android Studio that will allow you to connect your Android Studio to JIRA, without an additional plugin being required.
How to handle background services in Android O?
Keval Patel takes a look at background execution limitation in Google’s latest version of Android, Android O. The article explores a few fundamentals of background services before exploring the changes introduced in Android O and how they will affect apps.
PeerConnection — Getting Started with WebRTC — Part 2
WebRTC is a p2p connection framework for audio, video and data transfer between peers. In this article, Vivek Chanddru will show you the ins and outs of PeerConnection how to implement it in Android using WebRTC.
Testing Views in Isolation with Espresso
Custom views can be tested using Espresso, which will run a battery of tests on entire screens or flows at the same time, simulating user interactions, In this post, Ataul Munim discusses how and why you should use Espresso to test custom Views.
Easy Job Scheduling with Android-Job
Rajesh Pattanaik takes look at running background tasks outside the scope of an application’s life-cycle using JobScheduler, GCM Network Manager and AlarmManager before introducing Android-Job. The article discusses the advantage of using Android-Job, then steps you through the implementation.
Introducing JRebel for Android Enterprise and a few more things…
ZeroTurnaround announces JRebel for Android Enterprise and the new features available including: more annotation processors for the Incremental Java compiler, incremental Android resource processing and a companion application.
JUnit 5: Dynamic Tests
The JUnit platform enables different testing frameworks to be launched on the JVM. Previously Mark Allison looked at how to get the best out of Junit 5. In the fourth post of this series, you will take a look at how to create dynamic tests, an experimental feature of JUnit 5, to help reduce some of your boilerplate code.
JUnit 5: Lambdas
The JUnit platform enables different testing frameworks to be launched on the JVM. Previously Mark Allison looked at how to get the best out of Junit 5. In this third post of the series, you will explore some strategies for using lambda expressions in JUnit 5.
Reverse Engineering Is not just for hackers
You build apps all the time, but when was the last time you pulled one apart? In this video and notes of a talk from Jon Reeve, Jon discusses why reverse engineering is not just something for those with malicious intent and the benefits it can provide to all devs.
We’re Oction.co (http://oction.co/) Hong Kong’s leading penny auctioneers. We’re set to launch in May 2017 and require a talented, Senior Android Developer to further our mobile efforts. [Apply Today]
onXmaps is looking for a talented Java engineer to join our mobile team. If you’re passionate about taking our mobile GPS experience to the next level, we want you. [Apply Today]
ENI is an HR software company changing the way employees access their benefits. We’re looking for an iOS/Android developer to join our product design team. You’ll work with a small, dynamic team, on products that make a difference. [Apply Today]
Capital One is a pioneer in financial services, a high-tech company and an innovation laboratory. We’re in the market for solid Android Developers with Management and/or Leadership experience. Feel free to email me for more information. [Apply Today]
Displaying Sync State
Join Dan Lew as he shares Trello’s experience and challenges encountered when adding a Sync State feature, to let a user know when data is yet to sync to the server.
Using field masks with Google APIs for partial response
Field masks allow you to target the specific field data that an API should return in your calls.
In this post you will be shown how you can use field masks to retrieve partial response payloads with Google API’s, so your apps use less network and system resources, increasing their performance.
API Design — Temporal Coupling
Requiring certain methods of a class to be invoked in a specific order is known as temporal coupling and it can have a negative effect on your code. In this short post, Zak Taccardi provides examples of Temporal Coupling and how to avoid it.
Learn to create a Rotary Dialer application for Android
In this tutorial, S.Saurel will show you how you can create a retro dialer app, which will mimic the old rotary style of telephones.
How to Implement Google Cast v3 in Your Android App – Helpful Library
Bruno Wieczorek introduces an Android library that will simplify the integration of the google casting into your app, while reducing the amount of boilerplate code required.
Make a moving Gradient Background in Android
In this short tutorial, you will be shown how you can use AnimationList to implement a moving gradient background for your User Interface on Android.
Kotlin 1.1 is also for Android Developers
Type aliases, changes to data classes and destructuring inside lambdas are just a few of the new features available in Kotlin 1.1. Join Antonio Leiva as he looks at the details of what you can expect to find.
How to build a ‘who’s typing’ feature in Android
Pusher is a messaging service for the web, which helps developers offload some of the burden of delivering real-time updates to large volumes of users. In this tutorial, you will learn how to build a “who’s typing’ feature for your Android chat application using Pusher.
An investigation of Chrysaor Malware on Android
In this blog post, you will take a look at the details of the newly discovered Chrysaor malware, which targets specific Android devices leveraging microphone, camera, data collection, and logging and tracking application activities. The post also details some pretty impressive measures Google has taken to protect from this and similar threats.
Proper Parcelable testing
In this short post, Dan Lew shares his past experience and best practices with regard to testing Parcelables in your code.
How much does it cost to create an app?
While not necessarily dev orientated, this article provides some interesting statistics of cost comparisons of developing an app in different countries around the world. The article looks at what affects mobile app development cost, trends and average hourly rates by country.
Caster.IO Lesson 188: Create a New Project (Navigation Drawer Activity) – Bootstrap an App with Android Studio Code Templates
This lesson will demonstrate how to quickly create an Android App using the new project template built into Android Studio. I will create an App with a Navigation Drawer Activity. This will demonstrate the benefits of creating a project using the Android Studio toolset.
The created project is great because:
- Has proper Gradle configuration
- including AppCompat dependencies
- Uses standard code format and style
- Organized into discrete functional units
- Contains generated, boiler-plate code that is error free
This lesson will also show:
- How to include additional hardware profiles (Auto, Wear, or TV) into your project
- Understanding which API level to select to support the most devices
Caster.IO Lesson 189: Adding a new Activity with Tabs (Tabbed View) – Bootstrap an App with Android Studio Code Templates
This video will demonstrate how to add new Activity to an existing project using the code templates built-into Android Studio.
I will show how to add a new Activity, that contains a ViewPager, that itself contains 3 Fragments. This is a complicated UI, but is very easy to add.
- How to add the new Activity using the existing templates
- What code is added, and where it is placed
- Demonstrate the benefits of generating code
Caster.IO Lesson 190: Adding a Fragment with a RecyclerView – Bootstrap an App with Android Studio Code Templates
Learn how to add a new Fragment to an existing project using the code templates built-in to Android Studio.
You will also add a RecyclerView to the project. It will be added as a fragment inside a ViewPager.
This lesson will show:
- How to generate boilerplate code for a List – RecyclerView
- including adapter, multiple layouts, and even a stubbed out data provider
- Show the various components automatically generated
- How to add the RecyclerView to an existing project
Caster.IO Lesson 191: Add a new Maps Activity with Google Services – Bootstrap an App with Android Studio Code Templates
This video will show how to add a new Map Activity to your existing project using the built-in code templates. This video will show how to add Location to your applications, and also how to access additional features provided by Google Services.
This video will show how to:
- Add a new Google Map to your application
- Including Java, Layouts and configuration
- Location Permission automatically added to Manifest
- How to add an API authorization key
- How to obtain a new Google Maps API key if you don’t have one
Caster.IO Lesson 192: Adding a new IntentService – Bootstrap an App with Android Studio Code Templates
This lesson will show how to add a new IntentService to an existing project using the existing code templates built into Android Studio.
An IntentService is used to handle requests in the background. Clients send asynchronous requests a Service, which are handled, on a single worker thread in the background. This can take as long as needed (and will not block the main UI). Only one request will be processed at a time.
This lesson will show:
- How to create boilerplate code for an IntentService
- Which code was added automatically
- Show where to add custom background functionality
- How to call the Intent service
Services can continue to run, even when the Activity or Application has stopped running – make sure to review the documentation when using them.
Firebase Cloud Messaging toolbox
Custom Android Switch widget
DrawerLayout-like ViewGroup, where a “drawer” is hidden under the content view, which can be shifted to make the drawer visible.
An expressive DSL built on top of JavaPoet to make writing code almost as easy as writing the code yourself.