NFC Application Development for Android

NFC Application Development for Android NFC Application Development for Android

27.02.2013 Views

INTRODUCTION ii to entice users, since traditional loyalty services are already so common. Social media looks like the next promising area in which to expose new services, considering the huge explosion in social media use in recent years. When users purchase an NFC-enabled mobile phone, they are curious about how to make use of the new annex to the traditional phone, and immediately try to do so. Many try to learn how to use NFC capability by touching their phone to another NFC-enabled phone, or other wireless technology devices. They are not aware that a program enabling a particular service has to be installed on the phone for this purpose. This is one of the shortcomings of NFC technology. When a service is embedded into the mobile phone, such as a movie camera, the user catches up very quickly if he or she is already acquainted with movie recorders. NFC, on the other hand promises new services that the ordinary user is not familiar with. Hence, some form of training will be required. NFC technology is marvelous in the sense that almost everybody can design, at least amateurishly, many new services. Some NFC-enabled mobile phones offer development services to ordinary users, mostly to make money. There is no problem with this, because NFC presents a convenient opportunity for potential entrepreneurs. One very important point here is the need to be aware that many services require collaboration with companies — sometimes large companies — which might not be eager to invest in people who try to muscle in. The payment sector, in particular, requires the cooperation of huge companies such as banks, and hence is not suitable for individual entrepreneurs. This book will give the reader a solid and complete understanding of NFC technology, NFC application development essentials on Android technology, and NFC business ecosystem. We provide information on NFC technology (i.e., NFC operating modes and technical essentials), an introduction to Android programming technology, NFC programming essentials on Android technology, short use cases and case studies, application development phases, and NFC business ecosystem and business model alternatives with some examples over the world. With this book, solid information on NFC technology and application development is provided that meets the needs of people who are interested in NFC technology and its ecosystem, or practitioners interested in developing NFC projects. NFC LAB – İSTANBUL NFC Lab – I˙stanbul (www.NFCLab.com) considers NFC an emerging technology that transforms innovative ideas into reality for the information and communication society of the future. This book is the collective effort of the researchers of NFC – Lab I˙stanbul. We as the researchers of NFC Lab- I˙stanbul are committed to working on NFC technology with a multidisciplinary network of expertise all around the world. NFC Lab – I˙stanbul strives for research excellence in focused research areas relevant to NFC. The lab is aimed to be a catalyst in achieving substantial progress with the involvement of key players including mobile network operators (MNOs), fi nancial institutions, government agencies, other research institutes, trusted third parties, and other service providers. The core team is accountable for creating and maintaining the business and academic partnerships and dynamically generates networks on a project basis.

WHO THIS BOOK IS FOR INTRODUCTION When a practitioner with some expertise in programming in Java decides to access this new area, the most they can do is try to fi nd the required information on Java from different sources and then try to merge it. This will not be simple, because in order to build NFC applications using Java language, the practitioner needs to collect scattered information, and then merge it for a better understanding. Even in this case, the amount of information the user would collect would be very small indeed. Some basic information exists in the public domain, but much more exists only in academic literature, which is either not publicly available or not easy for non-academic people to combine with the public information. Although some basic information exists in the current literature, there is much information that is not yet available at all. For example, we have performed extensive ecosystem analysis in this work and hence recognize the lack of and need for a solid source that contains accurate information and addresses entrepreneurs and programmers. This book is for anyone who is interested in developing projects, ranging from projects that are very simple to those that potentially have worldwide application. The reader may be an entrepreneur who is ambitious to promote their ideas for any reason; or they may be a member of a development team in a company that is eager to fi re up an NFC service. In either case, this book is well designed to satisfy every type of reader who is interested in writing any amount code on NFC. WHAT THIS BOOK COVERS Chapter 1 consists of introductory information on NFC technology. It gives some technical history and background information in NFC technology, and continues with the components of an NFC services setup. The component knowledge covers NFC-enabled mobile phones, NFC reader, NFC tags, and other complementary parts. This chapter will provide readers with enough knowledge on NFC at a macro level. Chapter 2 contains the technical details of NFC technology that an NFC programmer will probably need. Details of NFC devices are initially covered in detail. This chapter consists of the technical details of three NFC operating modes, providing the reader with suffi cient technical background, as well as the standards that must be followed when creating compatible programs within a development team. Details of the record types to be exchanged among NFC devices are included in the chapter for the same reason. Chapter 3 and Chapter 4 consist of details of Android programming, for those who know Java but are not acquainted with Android in enough detail. The coverage of Android programming in this chapter is not extensive, but is enough to enable readers to continue with the later chapters on NFC programming using Android, as well as developing NFC applications further. All the necessary information on the Android development environment is included as well, to provide the necessary preparation for readers without knowledge about Android programming. Those who are already confi dent about Android programming can skip these chapters and proceed to the material that follows. Chapter 5 and Chapter 6 contain instructions on how to program NFC in reader/writer mode, along with some examples. You should follow these instructions in sequence, in order to prevent overlooking important details. iii

WHO THIS BOOK IS FOR<br />

INTRODUCTION<br />

When a practitioner with some expertise in programming in Java decides to access this new area,<br />

the most they can do is try to fi nd the required in<strong>for</strong>mation on Java from different sources and then<br />

try to merge it. This will not be simple, because in order to build <strong>NFC</strong> applications using Java language,<br />

the practitioner needs to collect scattered in<strong>for</strong>mation, and then merge it <strong>for</strong> a better understanding.<br />

Even in this case, the amount of in<strong>for</strong>mation the user would collect would be very small<br />

indeed. Some basic in<strong>for</strong>mation exists in the public domain, but much more exists only in academic<br />

literature, which is either not publicly available or not easy <strong>for</strong> non-academic people to combine<br />

with the public in<strong>for</strong>mation. Although some basic in<strong>for</strong>mation exists in the current literature, there<br />

is much in<strong>for</strong>mation that is not yet available at all. For example, we have per<strong>for</strong>med extensive ecosystem<br />

analysis in this work and hence recognize the lack of and need <strong>for</strong> a solid source that contains<br />

accurate in<strong>for</strong>mation and addresses entrepreneurs and programmers.<br />

This book is <strong>for</strong> anyone who is interested in developing projects, ranging from projects that are very<br />

simple to those that potentially have worldwide application. The reader may be an entrepreneur who<br />

is ambitious to promote their ideas <strong>for</strong> any reason; or they may be a member of a development team<br />

in a company that is eager to fi re up an <strong>NFC</strong> service. In either case, this book is well designed to satisfy<br />

every type of reader who is interested in writing any amount code on <strong>NFC</strong>.<br />

WHAT THIS BOOK COVERS<br />

Chapter 1 consists of introductory in<strong>for</strong>mation on <strong>NFC</strong> technology. It gives some technical history<br />

and background in<strong>for</strong>mation in <strong>NFC</strong> technology, and continues with the components of an <strong>NFC</strong><br />

services setup. The component knowledge covers <strong>NFC</strong>-enabled mobile phones, <strong>NFC</strong> reader,<br />

<strong>NFC</strong> tags, and other complementary parts. This chapter will provide readers with enough knowledge<br />

on <strong>NFC</strong> at a macro level.<br />

Chapter 2 contains the technical details of <strong>NFC</strong> technology that an <strong>NFC</strong> programmer will probably<br />

need. Details of <strong>NFC</strong> devices are initially covered in detail. This chapter consists of the technical<br />

details of three <strong>NFC</strong> operating modes, providing the reader with suffi cient technical background,<br />

as well as the standards that must be followed when creating compatible programs within a development<br />

team. Details of the record types to be exchanged among <strong>NFC</strong> devices are included in the<br />

chapter <strong>for</strong> the same reason.<br />

Chapter 3 and Chapter 4 consist of details of <strong>Android</strong> programming, <strong>for</strong> those who know Java but<br />

are not acquainted with <strong>Android</strong> in enough detail. The coverage of <strong>Android</strong> programming in this<br />

chapter is not extensive, but is enough to enable readers to continue with the later chapters on <strong>NFC</strong><br />

programming using <strong>Android</strong>, as well as developing <strong>NFC</strong> applications further. All the necessary in<strong>for</strong>mation<br />

on the <strong>Android</strong> development environment is included as well, to provide the necessary preparation<br />

<strong>for</strong> readers without knowledge about <strong>Android</strong> programming. Those who are already confi dent<br />

about <strong>Android</strong> programming can skip these chapters and proceed to the material that follows.<br />

Chapter 5 and Chapter 6 contain instructions on how to program <strong>NFC</strong> in reader/writer mode, along<br />

with some examples. You should follow these instructions in sequence, in order to prevent overlooking<br />

important details.<br />

iii

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!