Near Field Communication with Android Cookbook
By Vitor Subtil
()
About this ebook
Related to Near Field Communication with Android Cookbook
Related ebooks
Kinect in Motion – Audio and Visual Tracking by Example Rating: 0 out of 5 stars0 ratingsAugmented Reality with Kinect Rating: 0 out of 5 stars0 ratingsLearning IoT with Particle Photon and Electron Rating: 0 out of 5 stars0 ratingsData Storage Technology A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsCode reuse Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsIoT Security Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsMulti-agent system Second Edition Rating: 0 out of 5 stars0 ratingsBare-Metal Embedded C Programming: Develop high-performance embedded systems with C for Arm microcontrollers Rating: 0 out of 5 stars0 ratingsIntroduction to Sensors in IoT and Cloud Computing Applications Rating: 0 out of 5 stars0 ratingsOpenCV Android Programming By Example Rating: 0 out of 5 stars0 ratingsDomain Driven Design A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsMachine Learning for Beginners - 2nd Edition: Build and deploy Machine Learning systems using Python (English Edition) Rating: 0 out of 5 stars0 ratingsLearning AWS Lumberyard Game Development Rating: 0 out of 5 stars0 ratingsClean Code: An Agile Guide to Software Craft Rating: 0 out of 5 stars0 ratingsUltra-Wideband Wireless Communications and Networks Rating: 0 out of 5 stars0 ratingsIoT Development A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsNetwork Designs A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsMahout in Action Rating: 0 out of 5 stars0 ratingsLPWAN A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsProgramming the BeagleBone Rating: 0 out of 5 stars0 ratingsSystem Engineering A Complete Guide - 2021 Edition Rating: 0 out of 5 stars0 ratingsIR and Raman Spectroscopy: Fundamental Processing Rating: 0 out of 5 stars0 ratingsHands-on TinyML: Harness the power of Machine Learning on the edge devices (English Edition) Rating: 5 out of 5 stars5/5Python Multimedia Beginner's Guide Rating: 0 out of 5 stars0 ratingsPytorch Rating: 0 out of 5 stars0 ratingsEnterprise Bug Busting: From Testing through CI/CD to Deliver Business Results Rating: 0 out of 5 stars0 ratingsJump Start Web Performance Rating: 0 out of 5 stars0 ratings
Applications & Software For You
Adobe Photoshop: A Complete Course and Compendium of Features Rating: 5 out of 5 stars5/5YouTube Channels For Dummies Rating: 3 out of 5 stars3/5Learn to Code. Get a Job. The Ultimate Guide to Learning and Getting Hired as a Developer. Rating: 5 out of 5 stars5/5Excel : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Excel Programming: 1 Rating: 5 out of 5 stars5/5The Basics of User Experience Design by Interaction Design Foundation Rating: 4 out of 5 stars4/52022 Adobe® Premiere Pro Guide For Filmmakers and YouTubers Rating: 5 out of 5 stars5/5Blender 3D By Example Rating: 4 out of 5 stars4/5The Designer’s Guide to Figma: Master Prototyping, Collaboration, Handoff, and Workflow Rating: 0 out of 5 stars0 ratingsSound Design for Filmmakers: Film School Sound Rating: 5 out of 5 stars5/5Animation for Beginners: Getting Started with Animation Filmmaking Rating: 3 out of 5 stars3/5Hands-On Motion Graphics with Adobe After Effects CC: Develop your skills as a visual effects and motion graphics artist Rating: 0 out of 5 stars0 ratingsTrend Following: Learn to Make a Fortune in Both Bull and Bear Markets Rating: 5 out of 5 stars5/5Adobe Photoshop Lightroom Classic For Dummies Rating: 0 out of 5 stars0 ratings80 Ways to Use ChatGPT in the Classroom Rating: 5 out of 5 stars5/5Logic Pro X For Dummies Rating: 0 out of 5 stars0 ratingsBlender 3D for Jobseekers: Learn professional 3D creation skills using Blender 3D (English Edition) Rating: 0 out of 5 stars0 ratingsAdobe Illustrator: A Complete Course and Compendium of Features Rating: 0 out of 5 stars0 ratingsDigital Painting with KRITA 2.9: Learn All of the Tools to Create Your Next Masterpiece Rating: 0 out of 5 stars0 ratingsAdobe Illustrator CC For Dummies Rating: 5 out of 5 stars5/5Blender 3D Basics Beginner's Guide Second Edition Rating: 5 out of 5 stars5/5Experts' Guide to Obsidian Rating: 3 out of 5 stars3/5Tableau Your Data!: Fast and Easy Visual Analysis with Tableau Software Rating: 4 out of 5 stars4/5How Do I Do That In InDesign? Rating: 5 out of 5 stars5/5Experts' Guide to Anki Flashcards Rating: 5 out of 5 stars5/5Blender All-in-One For Dummies Rating: 0 out of 5 stars0 ratingsCanva Tips and Tricks Beyond The Limits Rating: 3 out of 5 stars3/5Logseq for Students: Super Powered Outliner Notebook for Learning with Confidence Rating: 5 out of 5 stars5/53D Tutorials Collection Rating: 0 out of 5 stars0 ratings
Reviews for Near Field Communication with Android Cookbook
0 ratings0 reviews
Book preview
Near Field Communication with Android Cookbook - Vitor Subtil
Table of Contents
Near Field Communication with Android Cookbook
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with NFC
Introduction
Requesting NFC permissions
Getting ready
How to do it…
How it works…
Indicating that your app uses NFC
How to do it…
How it works…
Defining minimal requirements
How to do it…
How it works…
Verifying whether the device has an NFC adapter
How to do it…
How it works…
There's more…
Downloading Open NFC Android Edition
Getting ready
How to do it…
Downloading Open NFC SDK Edition
How to do it…
Configuring the Open NFC Android add-on into your Android SDK
Getting ready
How to do it…
How it works…
Configuring an NFC-enabled testing AVD
Getting ready
How to do it…
How it works…
There's more…
Configuring the Connection Center tool
Getting ready
How to do it…
How it works…
Testing your app all together
Getting ready
How to do it…
How it works…
2. Detecting a Tag
Introduction
Understanding the foreground dispatch system
How to do it...
How it works...
Understanding the tag dispatch system
How to do it...
How it works...
Verifying if your app started because of an NFC intent
How to do it...
How it works...
Filtering tags by their content type
How to do it...
How it works...
Filtering tags by their content type programmatically
How to do it...
How it works...
Filtering tags by their technology
How to do it...
How it works...
Filtering tags by their technology using programs
How to do it...
How it works...
Filtering URI tags
How to do it...
How it works...
3. Writing Tag Content
Introduction
Working with the NDEF record
Getting ready
How to do it...
How it works...
Writing a URI-formatted record
How to do it...
How it works...
Writing a text-formatted record
How to do it...
How it works...
Using Android Application Record
How to do it...
How it works...
Working with external types
How to do it...
How it works...
Working with custom mimes
How to do it...
How it works...
4. Writing Tag Content – Real-life Examples
Introduction
Making a phone call with one tap – Part 1
Getting ready
How to do it…
How it works…
Sending a predefined SMS – Part 1
How to do it…
How it works…
Visiting our website
How to do it…
How it works…
Leaving a (small) note – Part 1
How to do it…
How it works…
5. Reading Tag Content
Introduction
Obtaining NDEF Message from Intent
Getting ready
How to do it…
How it works…
Getting the data out of the message
How to do it…
How it works…
Reading a text-formatted record
Getting ready
How to do it…
How it works…
Reading a URI-formatted record
How to do it…
How it works…
Reading external types
How to do it…
How it works…
Reading custom mimes
How to do it…
How it works…
6. Reading Tag Content – Real-life Examples
Introduction
Making a phone call with one tap – Part 2
Getting ready
How to do it...
How it works...
Sending a predefined SMS – Part 2
Getting ready
How to do it...
How it works...
Leaving a (small) note – Part 2
Getting ready
How to do it...
How it works...
Getting the tag information
How to do it...
How it works...
7. Sharing Content across Devices
Introduction
Creating a basic peer-to-peer Hello World application
Getting ready
How to do it…
How it works…
Sending texts to other devices
How to do it…
How it works…
Sending a friend invite on Facebook
Getting ready
How to do it…
How it works…
Inviting a friend to play a game – Part 1
How to do it…
How it works…
8. Error Handling and Content Validation
Introduction
Handling tag-writing errors
Getting ready
How to do it...
How it works...
Handling tag-reading errors
Getting ready
How to do it...
How it works...
Testing the tag data for integrity
Getting ready
How to do it...
How it works...
9. Extending NFC
Introduction
Turning other adapters on/off
Getting ready
How to do it...
How it works...
Configuring a Wi-Fi network
How to do it...
How it works...
Starting a Wi-Fi hotspot
How to do it...
How it works...
Inviting a friend to play a game – Part 2
How to do it...
How it works...
Controlling hotel room access with Arduino and NFC – Part 1
How to do it...
How it works...
Controlling hotel room access with Arduino and NFC – Part 2
Getting ready
How to do it...
How it works...
10. Real-life Examples – NFC Utilities
Introduction
Creating multi-action tags
Getting ready
How to do it…
How it works…
Choosing the best format for our data
How to do it…
How it works…
Locking tags
How to do it…
How it works…
Joking with a friend
Getting ready
How to do it…
How it works…
Index
Near Field Communication with Android Cookbook
Near Field Communication with Android Cookbook
Copyright © 2014 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: June 2014
Production Reference: 1060614
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-965-3
www.packtpub.com
Cover Image by Ravaji Babu (<[email protected]>)
Credits
Author
Vitor Subtil
Reviewers
Dion Loughry
Michael Roland
Commissioning Editor
Kunal Parikh
Acquisition Editor
Rebecca Youé
Content Development Editors
Athira Laji
Rikshith Shetty
Technical Editors
Shubhangi Dhamgaye
Novina Kewalramani
Pratik More
Pratish Soman
Copy Editors
Alisha Aranha
Mradula Hegde
Adithi Shetty
Project Coordinator
Wendell Palmer
Proofreaders
Simran Bhogal
Maria Gould
Ameesha Green
Paul Hindle
Indexer
Mariammal Chettiyar
Production Coordinator
Adonia Jones
Cover Work
Adonia Jones
About the Author
Vitor Subtil has been a web developer since 2009 and has been working with ASP.NET, C#, Oracle, and FluentNhibernate in the development of Enterprise Management applications. He started using MVC and SOA quite recently.
He is currently pursuing his final year graduate studies in Computer Engineering, where he got introduced to the NFC technology and became a fan thereafter.
He is enthusiastic about new technologies such as HTML5, CSS3, and Android. He loves using the JQuery framework for JavaScript programming and uses new features of HTML5 such as OfflineStorage, the History API, and Canvas. His current focus is on developing Android applications.
I would like to thank my girlfriend, Sandra, for all the time she spent helping me and all that she did for me in some difficult situations that occurred while writing this book. This book would have not been possible without her.
About the Reviewers
Dion Loughry has been professionally involved in the IT field for nearly 20 years now. While he has been managing the support for end users for the most of his career, he has always stayed on top of cutting-edge technology and innovation. He has incorporated this habit as much as possible into his personal life and business as well. A great example of this was when he first saw a PC in 1980. He managed to save and borrow enough money to purchase one at that time. In addition, he quickly learned how to program in the BASIC language. His passion lies in using new technology at the workplace to improve efficiency as well as simplify life in general. NFC technology is the next great leap that provides a simplified way of sharing and obtaining information. He has been involved with the NFC technology for a number of years. He has always been a fan of Palm Technology and has worked with a few members of the original Palm development team. He is currently working on many applications for Android and Windows devices. This is a great step into the world of unplugged computing technology and information sharing, which has great potential, yet is widely untapped.
Michael Roland is a researcher at the NFC Research Lab, Hagenberg (University of Applied Sciences, Upper Austria). His main research interests are NFC, security, and Android. He is the creator of NFC TagInfo, one of the most successful NFC developer tools for Android devices, and the co-author of the book Anwendungen und Technik von Near Field Communication (NFC), Springer Publishing. He holds a BSc. and an MSc. degree in Embedded Systems Design (University of Applied Sciences, Upper Austria, 2007 and 2009, respectively) and a PhD. (Dr. Techn.) degree in Computer Science (Johannes Kepler University Linz, 2013).
www.PacktPub.com
Support files, eBooks, discount offers, and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Preface
Mobile technologies are constantly changing, providing users with faster and better ways to interact with the world. Devices and applications have become increasingly powerful and new technologies are continually emerging—near field communication (NFC) is one of them. Its low battery consumption and simplicity are the key factors determining its future success. From facilitating daily tasks, such as opening a website, gaining access control, and making instant payments, NFC is now being used everywhere. Features such as peer-to-peer communication, cross-device data exchange, social network content sharing, and improved gaming experiences can be achieved using NFC.
The book begins by introducing the virtual development environment that allows you to develop NFC-enabled applications without the need of a smartphone or tags. Next, this book presents simple and functional examples that explain the basic concepts of detecting, writing, and reading data from a tag. All of the presented features and techniques are then used in a more complex application to give you a better idea of how you can use NFC in a real application.
In this book, you will learn how to use different components and features, such as working with the Foreground Dispatch System, using the NFC data exchange format and the Android application record, reading and writing a URI, creating text and customizing mime NDEF messages, and so on. This book provides readers with both theoretical and practical knowledge as we progress through the recipes and explain the relevant concepts.
Toward the end of this book, the recipes will show you various ways to use NFC so that you will be pumped to start developing amazing NFC applications.
What this book covers
Chapter 1, Getting Started with NFC, covers the basic steps to create an NFC-enabled application by defining the minimum requirements and the first lines of code needed to use NFC. This chapter also covers how to set up a virtual test environment using Open NFC for an Android add-on.
Chapter 2, Detecting a Tag, introduces readers to the detection, interception, and filtering of NFC intents, using the Foreground Dispatch System and intent filters. A technical overview of the different types of tags and a series of practical examples explains how you could go about doing this.
Chapter 3, Writing Tag Content, covers the introduction to the NDEF records by explaining how this format is useful and the different possible usages. This chapter provides practical working examples that demonstrate the correct NDEF usage.
Chapter 4, Writing Tag Content – Real-life Examples, provides more detailed examples on writing different content to NFC tags by providing working application prototypes.
Chapter 5, Reading Tag Content, introduces the reading of an NFC tag content and how to handle different types of content.
Chapter 6, Reading Tag Content – Real-life Examples, covers more detailed examples on reading tag content. At the end of every recipe, a working application is created to provide insight into the NFC capabilities.
Chapter 7, Sharing Content across Devices, covers a more advanced NFC feature, peer-to-peer communication. This chapter provides working application prototypes that demonstrate how the NFC peer-to-peer feature can be used in gaming and social networking applications.
Chapter 8, Error Handling and Content Validation, covers the basics on how to prevent the NFC application from crashing by correctly handling and preventing exceptions.
Chapter 9, Extending NFC, covers how NFC can be used to complement other Android features by providing practical working examples of applications that facilitate a user's interaction with the world.
Chapter 10, Real-life Examples – NFC Utilities, covers some tips on how to make the best use of an NFC tag. This chapter also provides a working application prototype to allow for a full-learning experience.
What you need for this book
Readers must have basic knowledge of Java and Android application development.
An NFC-enabled device and physical tags are recommended but not required. This is because readers can use the virtual environment to administer development tests.
The software used during the writing of this book was Eclipse, so we recommend a working installation that is configured with Android SDK.
Who this book is for
Near Field Communication with Android Cookbook focuses on employing NFC features in useful, real-life applications. It is ideal for developers who want to learn how to create NFC-enabled Android applications. Basic Android development knowledge is preferred, but the main objective is to get readers excited about this technology! We do this by providing you with a solid grounding in the use of NFC with Android as well as some advanced examples.
Conventions
In this book, you will find a number of styles of text that distinguish between different kinds of information. Here