Qt NFC の変更点
Qt 6 は、フレームワークをより効率的で使いやすくするための意識的な努力の結果です。
私たちは各リリースにおいて、すべてのパブリックAPIのバイナリとソースの互換性を維持しようと努めています。しかし、Qt をより良いフレームワークにするために避けられない変更もあります。
このトピックでは、Qt NFC におけるそれらの変更点を要約し、それらを扱うためのガイダンスを提供します。
新しい機能とメソッド
追加された機能QNdefRecord::clear()
NDEF レコードをクリアするには、このメソッドを使用します。
追加QNdefFilter::match()
このメソッドを使用して、QNdefMessage が指定されたフィルタに一致するかどうかをチェックします。このメソッドは、マッチに成功した場合はtrue
を返し、そうでない場合はfalse
を返します。
拡張QNearFieldTarget::Type
列挙型が2つ拡張されました:
機能とメソッドの変更点
QNearFieldManager::isAvailable() の名前が変更されました。
QNearFieldManager::isAvailable()
がQNearFieldManager::isEnabled() に改名された。
にアクセスメソッド引数を追加。QNearFieldManager::isSupported
accessMethod
引数により、特定の機能がサポートされているかどうかをチェックできます。これは、プラットフォームやオペレーティングシステムのバージョンによってサポートするオプションが異なる可能性があるためです。
にアクセス・メソッド引数を追加。QNearFieldManager::startTargetDetection
accessMethod
引数により、指定されたアクセス・メソッドでNFCタグをスキャンできます。
QNdefNfcSmartPosterRecord::typeInfo をQByteArray からQString
NDEFスマートポスター仕様によると、タイプはUTF-8フォーマットの文字列です。これはQNdefNfcSmartPosterRecord::typeInfo() およびQNdefNfcSmartPosterRecord::setTypeInfo() メソッドに影響します。
の返り値の型を更新しました。QNdefFilter::appendRecord
QNdefFilter::appendRecord の戻り値の型が更新され、入力パラメータの基本的な検証を実行し、レコードがフィルタに追加されるかどうかを示すブール値を返すようになりました。
削除された機能とメソッド
QNearFieldTarget::url が削除されました。
このメソッドは、QNearFieldTarget の既存のサブクラスには実装されていませんでした。
QNearFieldTarget::sendCommands が削除されました。
Qt 5 では、このメソッドは中間コマンドの結果を追跡する方法を提供していなかったため、あまり役に立ちませんでした。通常、追加コマンドは、前のコマンドが正常に実行された場合にのみ送信する必要があります。
正しい方法は、コマンドのキューを手動で作成し、QNearFieldTarget::sendCommand を使用してコマンドを送信し、QNearFieldTarget::requestCompleted またはQNearFieldTarget::error を使用して各コマンドの結果を個別に処理することです。
QNearFieldTarget::keepConnection を削除しました。
メソッドQNearFieldTarget::keepConnection()
とQNearFieldTarget::setKeepConnection()
が削除されました。今のところ、接続を維持することがデフォルトの動作です。
QNearFieldTarget::isProcessingCommand が削除されました。
このメソッドは実装されておらず、常にfalse
を返していました。
QNearFieldTarget::setResponseForRequest をプライベート API に変更しました。
このメソッドはパブリック API として公開すべきではありません。NFC タグからデータを読み取るには、QNearFieldTarget::ndefMessageRead またはQNearFieldTarget::requestResponse を使用してください。
QNearFieldTarget::handleResponse を削除しました。
このメソッドは、呼び出しをQNearFieldManager::setResponseForRequest
に転送するだけで、プライベート API になるため、削除されました。
QNearFieldTarget::reportError をプライベート API に変更しました。
QNearFieldTarget::error シグナルを代わりに使用できます。
QNearFieldTarget::ndefMessagesWritten シグナルを削除しました。
QNearFieldTarget::requestCompleted シグナルは NDEF メッセージとカスタムコマンドの両方に使用されます。id
パラメータを使用すると、どの要求が実際に完了したかを確認できます。
QNearFieldManager::(un)registerNdefMessageHandler が削除されました。
メソッドQNearFieldTarget::registerNdefMessageHandler
とQNearFieldTarget::unregisterNdefMessageHandler
が削除されました。
QNearFieldTarget::ndefMessageRead() とQNdefFilter::match() を使用して NDEF メッセージを検出し、必要なものをフィルタリングします。
注: NDEF タグがタッチされると、アプリケーションはまだ自動的に開始できる。注釈付き URL の例では、Android での実現方法を示しています。
QNearFieldManager::TargetAccessModes が削除されました。
TargetAccessModes
列挙型は、ゲッターおよびセッターメソッド(QNearFieldManager::setTargetAccessModes()
およびQNearFieldManager::targetAccessModes()
)とともに削除されました。
この機能は Android および iOS プラットフォームではサポートされていません。
QNearFieldShareManager および QNearFieldShareTarget が削除されました。
NFC を介したファイル共有は、Android では API 29 で非推奨となりました。代わりに他のテクノロジーを使用する必要があります。
QML API の廃止
QML API のサポートは終了しました。
©2024 The Qt Company Ltd. ここに含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。