Android 動画検索 SDK Kotlin:URI取り込みとCompose表示

Android 動画検索 SDK Kotlin版は、独自の画面を持つアプリから検索済みメディアを扱うためのクライアントです。ここではv2.0.3を基準に、Gradle、コルーチン、content URIのアップロード、画像表示までの境界を整理します。

更新日:

Android 動画検索 SDK Kotlin版のGradle設定

対象リリースのビルドはcom.vmodal:vmodal-sdk-androidとバージョン2.0.3を宣言し、JDK 17を使用します。以下の依存宣言を既存アプリのGradleへ追加し、プロジェクト側のリポジトリ設定も確認します。既存アプリ全体のKotlinやAndroid Gradle Pluginを変える前に、固定版の設定を読んでください。

ここで掲載するコードは確認済みの依存宣言だけです。完全なKotlin呼び出しは、実際のAndroid設定とJDKでコンパイルしてから共有します。次の手順にはタグ付きスターターと検索サンプルを使い、他言語の例から呼び出し形を推測しないでください。

implementation("com.vmodal:vmodal-sdk-android:2.0.3")

参照: v2.0.3 build.gradle.kts:公開座標とバージョン

検索コルーチンをライフサイクルに結びつける

SDKはUIを持たないため、Compose、Views、状態管理はアプリが選びます。キャンセルと完了の扱いを判断できる所有者から要求を開始し、その要求に対象コレクションを保持します。切り替え前の応答を新しいコレクションの結果として表示しないようにします。

最初は一覧取得と既知の録画で確認します。固定版READMEは画像意味検索を説明しているため、他プラットフォームにある任意の検索ソース選択を同じように提供できるとは考えません。読み込み中と結果なしを区別し、候補に元映像と時刻を残します。

content URIをストリームでアップロードする

Androidのメディア選択は、通常のファイルパスではなくcontent:// URIを返すことがあります。このリリースはURIストリーム、cold Flowの進捗、互換用UploadHandleを説明しています。URIを推測のパスへ変換したり、動画全体をメモリへ読み込んだりせず、対象版の入力方法を使います。

アプリは転送中に素材を読める状態を保つ必要があります。画面が閉じた際の所有権を決め、長く続く処理にはCoroutineWorkerの例を確認します。アップロード完了とインデックス準備は別です。後続処理の失敗だけで再送しないよう、素材識別子を保持してください。

フレームURLをまとめて取得する

検索結果と画面に描く画像は別の段階です。サンプルの一括画像取得フローを参照し、コレクションとストリームを保って画像の場所を解決します。その後、アプリの画像読み込み層へ渡してください。Composeの再描画ごとに同じ通信を開始しない設計にします。

画像の失敗で検索結果の時刻や素材情報まで捨てる必要はありません。期限切れなら画像APIへ問い合わせ直します。候補を選んだ際に元映像の該当箇所と前後を確認できるようにし、フレームが返ったことと質問に合っていることを区別します。

Composeの状態と要求の識別を保つ

読み込み中、結果なし、成功、エラーに加え、その状態が属する検索範囲も保持します。一時的な描画コードの外側でセッションを管理すると、質問変更後の古い応答を捨て、画面離脱時に画像取得を中止しやすくなります。SDKはナビゲーションやログイン画面を指定しません。

進捗を適切なライフサイクルで収集し、キャンセルを実処理へ伝えます。ワーカーへ所有権を移した場合も、画面がその状態を説明できるようにします。転送中の回転やバックグラウンド移行を試し、戻った際に同じ処理を表示し、二重に開始しないことを確認します。

統合を段階ごとに検証する

設定、認証、コレクション、転送、インデックス、検索、画像表示をスターターで切り分けます。ヘルスチェック成功は対象コレクションへのアクセス成功とは異なり、アップロードの受理だけでは検索準備完了を意味しません。失敗段階と範囲を記録してください。

既知のシーン、無関係な質問、中止、検索中のコレクション変更を受け入れ試験に入れます。再生位置と古い画像の混入を確認し、報告にはv2.0.3を明記します。再利用する実装例は実際のアプリ構成でJDK 17によるコンパイルを通してから扱います。

関連ガイド

出典

ベータアクセスを申し込む