NfcForAndroid / NfA

Android Library for simplifing nfc developpment
Other
14 stars 1 forks source link

Nfa : Nfc For Android

Overview

NfA is a group of nfc helper for android platform.

The main purpose is to facilitate the creation / communication with nfc devices in the android platform.

Main features

The main features are :

Description of modules

The librairie is devided into maven modules in order to only offer to developper the code he needs.

With this library, you can easly do :

nfa-all :

This module reference all the others module, it is use for generating a single jar

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-api</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-api :

In this module is defined all the interface and the apis that are exposed with NfA

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-api</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-records !

In this module, you will find the records implementations of NFC-Forum standards. For the moment the manage records are :

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-records</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-writers

In this module, you will find the classes that will helps you to write thoses records. For the moment, here is the list of manage writers :

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-writers</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-parsers

In this module, you will find the classes that will helps you to reads the records. For the moment, here is the list of manage parsers :

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-parsers</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-filters

In this module, you will find the classes that will helps you to define intent filters for your application. Here is the list of manage filters :

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-filters</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-core

This module contains an implementation of the api module in order to minimize the code needed to. The module contains a NFA_MANAGER that is an equivalent of the NfcAdapter but which provides you other method for working with tags.

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-core</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-apklib

This module offers you some constants that you could use in the manifest or in your android code. In the future version, somes Abstract activities will be present.

Maven dependency

    <dependency>
        <groupId>com.github.nfcforandroid</groupId>
        <artifactId>nfa-apklib</artifactId>
        <version>0.7.0-SNAPSHOT</version>
    </dependency>

nfa-samples

This module is a demo application that present you some of the possibilities of the librairies and helps you to understand how to implement it.

How to use it ?

See the wiki pages for the developpers installation

In the road map

Here is the list the next plained features :

Source of inspiration

Hudge Thank you to thoses projects who helps me to start NfA :

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.