NdefRecord 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表不變的 NDEF 紀錄。
[Android.Runtime.Register("android/nfc/NdefRecord", DoNotGenerateAcw=true)]
public sealed class NdefRecord : Java.Lang.Object, Android.OS.IParcelable, IDisposable
[<Android.Runtime.Register("android/nfc/NdefRecord", DoNotGenerateAcw=true)>]
type NdefRecord = class
inherit Object
interface IParcelable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 繼承
- 屬性
- 實作
備註
代表不變的 NDEF 紀錄。
NDEF(NFC Data Exchange Format)是一種輕量級二進位格式,用於封裝已打字的資料。 它由 NFC 論壇指定,用於 NFC 傳輸與儲存,但與傳輸無關。
NDEF 定義訊息與紀錄。 NDEF 記錄包含有型別的資料,例如 MIME 類型媒體、URI 或自訂應用程式有效載荷。 NDEF 訊息是存放一個或多個 NDEF 紀錄的容器。
此類別代表邏輯(完整)的 NDEF 記錄,無法用來表示分塊(部分)的 NDEF 記錄。 然而 NdefMessage#NdefMessage(byte[]) ,可以用來解析包含分塊記錄的訊息,並回傳包含未分塊(完整)記錄的訊息。
邏輯 NDEF 記錄總是包含一個 3 位元的 TNF(類型名稱欄位),為記錄其餘部分提供高階型別。 其餘欄位長度可變且不一定存在:<ul><li><em>類型</em>:payload<的詳細類型/li><li><em ID></em>:識別碼元資料,不常用</li><li><em payload></em>:實際有效載荷</li></ul>
包含如 、 NdefRecord#createUri 和 NdefRecord#createMime 等輔助NdefRecord#createExternal工具,以建立格式良好的 NDEF 記錄,並正確設定 tnf、type、id 及 payload 欄位,請盡可能使用這些輔助工具。
如果你知道自己在做什麼,也知道要怎麼一組一組設定欄位,就用建構器 #NdefRecord(short, byte[], byte[], byte[]) 。 此建構器僅進行基本驗證,因此可建立不符合嚴格 NFC Forum 規範的紀錄。
NDEF 記錄的二進位表示包含額外旗標,用以指示 NDEF 訊息的位置、支援 NDEF 記錄分區,以及封存可選欄位。 這門課不會揭露那些細節。 要將 NDEF 記錄寫成二進位,必須先將其放入 NdefMessage,然後呼叫 NdefMessage#toByteArray()。
NdefMessage
NdefRecord而且這些實作總是可以找到,即使是在沒有 NFC 硬體的 Android 裝置上。
NdefRecords 設計為不變(且執行緒安全),但它們可能包含可變欄位。 因此,除非明確標記為安全,否則請謹慎修改傳入建構子的可變欄位,或由 getter 方法取得的可變欄位。
Java 文件 android.nfc.NdefRecord。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。
建構函式
| 名稱 | Description |
|---|---|
| NdefRecord(Byte[]) |
已淘汰.
從原始位元組構建 NDEF 記錄。 |
| NdefRecord(Int16, Byte[], Byte[], Byte[]) |
從其組成欄位構建 NDEF 記錄。 |
欄位
| 名稱 | Description |
|---|---|
| TnfAbsoluteUri |
表示型別欄位包含由 RFC 3986 定義的絕對 URI BNF 結構。 |
| TnfEmpty |
表示該紀錄為空。 |
| TnfExternalType |
表示型別欄位包含外部型別名稱。 |
| TnfMimeMedia |
表示型別欄位包含由 RFC 2046 定義的媒體型 BNF 結構。 |
| TnfUnchanged |
表示有效載荷是分塊 NDEF 記錄的中間或最終區塊。 |
| TnfUnknown |
表示有效載荷類型未知。 |
| TnfWellKnown |
表示該類型欄位包含一個知名的 RTD 類型名稱。 |
屬性
| 名稱 | Description |
|---|---|
| Class |
回傳此 |
| Creator | |
| Handle |
底層 Android 實例的帳號。 (繼承來源 Object) |
| JniIdentityHashCode |
取得由互通執行時指派給此 Java 對等端的身份雜湊碼。 (繼承來源 Object) |
| JniManagedPeerState |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| JniPeerMembers |
代表不變的 NDEF 紀錄。 |
| PeerReference |
取得這個 Java 節點的 JNI 物件參考。 (繼承來源 Object) |
| RtdAlternativeCarrier |
RTD 替代承運人類型。 |
| RtdHandoverCarrier |
RTD Handover 載體類型。 |
| RtdHandoverRequest |
RTD 交接請求類型。 |
| RtdHandoverSelect |
RTD 切換選擇型。 |
| RtdSmartPoster |
RTD 智慧海報類型。 |
| RtdText |
RTD 文字類型。 |
| RtdUri |
RTD URI 類型。 |
| ThresholdClass |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| ThresholdType |
此 API 支援 Mono for Android 基礎架構,並非直接從你的程式碼中使用。 (繼承來源 Object) |
| Tnf |
回傳 3 位元 TNF。 |
方法
| 名稱 | Description |
|---|---|
| Clone() |
建立並回傳此物件的副本。 (繼承來源 Object) |
| Construct(JniObjectReference, JniObjectReferenceOptions) |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| CreateApplicationRecord(String) |
建立新的 Android 應用程式記錄(AAR)。 |
| CreateExternal(String, String, Byte[]) |
建立一個包含外部(應用程式特定)資料的新 NDEF 記錄。 |
| CreateMime(String, Byte[]) |
建立一個包含 MIME 資料的新 NDEF 記錄。 |
| CreateTextRecord(String, String) |
建立一個包含 UTF-8 文字資料的新 NDEF 記錄。 |
| CreateUri(String) |
建立一個包含 URI 的新 NDEF 紀錄。 |
| CreateUri(Uri) |
建立一個包含 URI 的新 NDEF 紀錄。 |
| DescribeContents() |
描述此 Parcelable 的組建表示中包含的特殊物件種類。 |
| Dispose() |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| Dispose(Boolean) |
釋放該 Java 節點所持有的資源。 (繼承來源 Object) |
| DisposeUnlessReferenced() |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| Equals(Object) |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| Equals(Object) |
表示是否有其他物體「等同」於此物。 (繼承來源 Object) |
| GetHashCode() |
回傳物件的雜湊碼值。 (繼承來源 Object) |
| GetId() |
回傳可變長度的 ID。 |
| GetPayload() |
回傳可變長度的有效載荷。 |
| GetTypeInfo() |
回傳可變長度類型欄位。 |
| JavaFinalize() |
已淘汰.
當垃圾回收判定該物件不再有相關參考時,由垃圾回收器呼叫。 (繼承來源 Object) |
| Notify() |
喚醒一個正在該物件監視器上等待的執行緒。 (繼承來源 Object) |
| NotifyAll() |
喚醒所有等待該物件監視器的執行緒。 (繼承來源 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
設定 Handle 屬性。 (繼承來源 Object) |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| ToArray<T>() |
從這個 Java 陣列包裝器建立一個受管理陣列。 (繼承來源 Object) |
| ToByteArray() |
已淘汰.
將此 NDEF 記錄以位元組陣列形式回傳。 |
| ToMimeType() |
將此紀錄映射為 MIME 類型,若無法映射則回傳 null。 |
| ToString() |
回傳物件的字串表示。 (繼承來源 Object) |
| ToUri() |
將此紀錄映射到 URI,若無法映射則回傳 null。 |
| UnregisterFromRuntime() |
將此 Java 節點從互通執行時中取消註冊。 (繼承來源 Object) |
| Wait() |
導致目前執行緒等待被喚醒,通常是透過 <em>通知</><em 或 em>中斷</em> 來喚醒。 (繼承來源 Object) |
| Wait(Int64, Int32) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| Wait(Int64) |
會讓目前執行緒等待喚醒,通常是透過 <em>通知</><em 或 em>中斷</em>,或是經過一定的真實時間。 (繼承來源 Object) |
| WriteToParcel(Parcel, ParcelableWriteFlags) |
把這個物體壓扁成一個包裹。 |
明確介面實作
| 名稱 | Description |
|---|---|
| IJavaPeerable.Disposed() |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| IJavaPeerable.Finalized() |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| IJavaPeerable.JniObjectReferenceControlBlock |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
代表不變的 NDEF 紀錄。 (繼承來源 JavaObject) |
| IJavaPeerable.UnregisterFromRuntime() |
代表不變的 NDEF 紀錄。 |
擴充方法
| 名稱 | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
取得實例 |
| JavaAs<TResult>(IJavaPeerable) |
試著強制 |
| JavaCast<TResult>(IJavaObject) |
執行 Android 執行時檢查型別轉換。 |
| JavaCast<TResult>(IJavaObject) |
代表不變的 NDEF 紀錄。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
試著強制 |