UriMatcher クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。
[Android.Runtime.Register("android/content/UriMatcher", DoNotGenerateAcw=true)]
public class UriMatcher : Java.Lang.Object
[<Android.Runtime.Register("android/content/UriMatcher", DoNotGenerateAcw=true)>]
type UriMatcher = class
inherit Object
- 継承
- 属性
注釈
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。
このクラスを使用するには、 UriMatcher オブジェクトのツリーを構築します。 例えば次が挙げられます。
private static final int PEOPLE = 1;
private static final int PEOPLE_ID = 2;
private static final int PEOPLE_PHONES = 3;
private static final int PEOPLE_PHONES_ID = 4;
private static final int PEOPLE_CONTACTMETHODS = 7;
private static final int PEOPLE_CONTACTMETHODS_ID = 8;
private static final int DELETED_PEOPLE = 20;
private static final int PHONES = 9;
private static final int PHONES_ID = 10;
private static final int PHONES_FILTER = 14;
private static final int CONTACTMETHODS = 18;
private static final int CONTACTMETHODS_ID = 19;
private static final int CALLS = 11;
private static final int CALLS_ID = 12;
private static final int CALLS_FILTER = 15;
private static final UriMatcher sURIMatcher = new UriMatcher(UriMatcher.NO_MATCH);
static
{
sURIMatcher.addURI("contacts", "people", PEOPLE);
sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
sURIMatcher.addURI("contacts", "people/#/phones/#", PEOPLE_PHONES_ID);
sURIMatcher.addURI("contacts", "people/#/contact_methods", PEOPLE_CONTACTMETHODS);
sURIMatcher.addURI("contacts", "people/#/contact_methods/#", PEOPLE_CONTACTMETHODS_ID);
sURIMatcher.addURI("contacts", "deleted_people", DELETED_PEOPLE);
sURIMatcher.addURI("contacts", "phones", PHONES);
sURIMatcher.addURI("contacts", "phones/filter/*", PHONES_FILTER);
sURIMatcher.addURI("contacts", "phones/#", PHONES_ID);
sURIMatcher.addURI("contacts", "contact_methods", CONTACTMETHODS);
sURIMatcher.addURI("contacts", "contact_methods/#", CONTACTMETHODS_ID);
sURIMatcher.addURI("call_log", "calls", CALLS);
sURIMatcher.addURI("call_log", "calls/filter/*", CALLS_FILTER);
sURIMatcher.addURI("call_log", "calls/#", CALLS_ID);
}
API レベルの android.os.Build.VERSION_CODES#JELLY_BEAN_MR2から、パスは先頭にスラッシュで始めることができます。 例えば次が挙げられます。
sURIMatcher.addURI("contacts", "/people", PEOPLE);
URI と照合する必要がある場合は、 #matchを呼び出し、指定した URL を指定します。 この結果を使用すると、必要な if-else ロジックをすべて複製することなく、クエリの作成、型の返し、行の挿入または削除、または必要な処理を行うことができます。 例えば次が挙げられます。
public String getType(Uri url)
{
int match = sURIMatcher.match(url);
switch (match)
{
case PEOPLE:
return "vnd.android.cursor.dir/person";
case PEOPLE_ID:
return "vnd.android.cursor.item/person";
... snip ...
return "vnd.android.cursor.dir/snail-mail";
case PEOPLE_ADDRESS_ID:
return "vnd.android.cursor.item/snail-mail";
default:
return null;
}
}
代わりに:
public String getType(Uri url)
{
List<String> pathSegments = url.getPathSegments();
if (pathSegments.size() >= 2) {
if ("people".equals(pathSegments.get(1))) {
if (pathSegments.size() == 2) {
return "vnd.android.cursor.dir/person";
} else if (pathSegments.size() == 3) {
return "vnd.android.cursor.item/person";
... snip ...
return "vnd.android.cursor.dir/snail-mail";
} else if (pathSegments.size() == 3) {
return "vnd.android.cursor.item/snail-mail";
}
}
}
return null;
}
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
| 名前 | 説明 |
|---|---|
| UriMatcher(Int32) |
URI ツリーのルート ノードを作成します。 |
| UriMatcher(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
フィールド
| 名前 | 説明 |
|---|---|
| NoMatch | |
プロパティ
| 名前 | 説明 |
|---|---|
| Class |
この |
| Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
| JniIdentityHashCode |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| JniPeerMembers |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 |
| PeerReference |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| ThresholdClass |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
| ThresholdType |
この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
メソッド
| 名前 | 説明 |
|---|---|
| AddURI(String, String, Int32) |
一致する URI と、この URI が一致したときに返されるコードを追加します。 |
| Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
| Dispose() |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| Dispose(Boolean) |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
| GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
| JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
| Match(Uri) |
URL 内のパスとの照合を試みます。 |
| Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
| NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
| ToArray<T>() |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
| UnregisterFromRuntime() |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| Wait() |
現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。 (継承元 Object) |
| Wait(Int64, Int32) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
| Wait(Int64) |
現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。 (継承元 Object) |
明示的なインターフェイスの実装
| 名前 | 説明 |
|---|---|
| IJavaPeerable.Disposed() |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| IJavaPeerable.DisposeUnlessReferenced() |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| IJavaPeerable.Finalized() |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| IJavaPeerable.JniManagedPeerState |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 (継承元 Object) |
拡張メソッド
| 名前 | 説明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
インスタンス |
| JavaAs<TResult>(IJavaPeerable) |
|
| JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
| JavaCast<TResult>(IJavaObject) |
コンテンツ プロバイダーでの URI の照合に役立つユーティリティ クラス。 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
|