ndef
Eine Dart-Bibliothek zum Decodieren und Codieren von NDEF-Datensätzen mit Unterstützung mehrerer Typen.
Eine Dart-Bibliothek zum Decodieren und Codieren von NDEF-Datensätzen mit Unterstützung mehrerer Typen.
Englischer Projektschnappschuss. Aktuelle Inhalte auf GitHub.
ndef is a Dart library to decode & encode NDEF records, supporting multiple types including (grouped by Type Name Format):
urn:nfc:wkt:), with:
T)U)Sig)Sp), including sub-record:
act)s)t)Hr/Hs/Hm/Hi/Hc/ac/cr)application/vnd.bluetooth.ep.oob)application/vnd.bluetooth.le.oob)urn:nfc:ext:), with:
android.com:pkg)This library is still under active development and subject to breaking API changes and malfunction. Pull requests and issues are most welcomed, especially on:
import 'package:ndef/ndef.dart' as ndef;
// encoding
var uriRecord = new ndef.UriRecord.fromString("https://github.com/nfcim/ndef");
var textRecord = new ndef.TextRecord(text: "Hello");
var encodedUriRecord = uriRecord.encode().toHexString(); /// encode a single record, and use our extension method on [Uint8List]
var encodedAllRecords = ndef.encodeNdefMessage([uriRecord, textRecord]).toHexString(); // encode several records as a message
// decoding
var encodedTextRecord = "d1010f5402656e48656c6c6f20576f726c6421";
var decodedRecords = ndef.decodeRawNdefMessage(encodedTextRecord.toBytes());
assert(decodedRecords.length == 1);
if (decodedRecords[0] is ndef.TextRecord) {
assert(decodeRecords[0].text == "Hello");
} else {
// we will not reach here
}
// data-binding (by implementing payload as dynamic getter / setter)
var origPayload = uriRecord.payload!;
print(origPayload.toHexString());
uriRecord.content = "github.com/nfcim/flutter_nfc_kit";
print(uriRecord.payload!.toHexString()); // changed
uriRecord.payload = origPayload;
print(uriRecord.content); // changed back
// decoding by providing parts of a record
var partiallyDecodedUrlRecord = ndef.decodePartialNdefMessage(ndef.TypeNameFormat.nfcWellKnown, utf8.encode("U"), origPayload, id: Uint8List.fromList([0x1, 0x2]));
See example code for a more complete example.
Refer to the documentation for detailed usage.
Nach Anwendungsfall filtern, Aktivität vergleichen und vor der Nutzung das Originalprojekt prüfen.
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗