Application development using a virtual device is very popular in Android. Using virtual devices lets you use adapters that you may not have in your real device and test your application in several Android versions. The NFC adapter is no exception; so, even if your smartphone isn't an NFC-enabled device, there is no excuse not to use this awesome technology.
Android SDK tools provide us with Android Virtual Devices (AVD), which are device emulator configurations that allow us to configure hardware and software options. Open NFC Android Edition allows us to create an NFC-enabled AVD since there is no native support for that. We can then simulate a tag tap or a P2P tap, and the correct intent is launched like it would be in a real device.
The following are the settings required for this recipe:
Make sure you have a working Android development environment. If you don't, ADT Bundle is a good start. You can download it from http://developer.android.com/sdk/index.html.
It is assumed that Eclipse is the development IDE for Android.
We are going to download, extract, and verify the Open NFC files that are needed to get our virtual test environment up and running, as shown in the following steps:
Open a new browser window and navigate to http://open-nfc.org.
On the left navigation menu, click on Downloads.
On the download list, select the 4.4.1 Open NFC for Android release. The download link's name should be Android Edition (SDK).
At the time of writing this book, the current Open NFC release is 4.5.2 for Android 4.2.1, Jelly Bean; however, since this version has been reported to be faulty several times, we will use an older but stable version.
There should be a folder named
android_sdkand at least one folder named
OpenNFC_AddOnin it, where we will find an Android image on which we will create our AVD.