v0.4.0
ndef
एक डार्ट पुस्तकालय जो NDEF रिकॉर्ड के डीकोड और एन्कोड करता है, जिसमें कई प्रकार समर्थित हैं।
17लाइक 1.1 लाख30-दिन डाउनलोड160Pub अंक
AndroidiOSWebmacOSWindowsLinux
एक डार्ट पुस्तकालय जो NDEF रिकॉर्ड के डीकोड और एन्कोड करता है, जिसमें कई प्रकार समर्थित हैं।
यह अंग्रेज़ी मूल स्नैपशॉट है। नवीनतम सामग्री 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.