カレンダーのイベントを操作する際に使用した各用語について、誰でも説明できますか?
Uri event_uri = Uri.parse("content://com.Android.calendar/" + "events");
int値を0に初期化できるため、ここでuriとは何ですか、実際はコンテンツとは何ですか?それは...ですか
デフォルト値でuriを初期化できますか?
Uri reminder_uri = Uri.parse("content://com.Android.calendar/" + "reminders");
これらのuriの意味は何ですか? _event_uri
_と_reminder_uri
_の違いは何ですか?
_ContentValues values = new ContentValues();
_
values.put("calendar_id", 1);
values.put("title", str);
values.put("description", m_strDescription);
最初のものは何をしますか? values.put("calendar_id", 1);
ContentResolver cr = getContentResolver();
コンテンツリゾルバーの用途は何ですか?時々私たちは書きます:
Uri u = cr.insert(event_uri, values)
このURIは何ですか?最初の2つのURI、たとえば_event_uri
_と_reminder_uri
_との違いは何ですか
再びvalues.put("event_id", Long.parseLong(event.getLastPathSegment())); cr.insert(remindar_uri, values);
それは何をするためのものか?
質問1と2に関して、A Uri
は重要なものを指すアドレスです。 ContentProvider
sの場合、Uri
は通常、使用するテーブルを決定するために使用されます。したがって、_event_uri
_はイベントテーブルを指し、_reminder_uri
_はリマインダーテーブルを指します。 urisには「デフォルト値」はありません。
質問3に関して、ContentValues
は基本的にキーと値のペアのセットであり、キーはテーブルの列を表し、値はその列に挿入される値です。したがって、values.put("calendar_id", 1);
の場合、列は「calendar_id」であり、その列に挿入される値は1です。
質問4に関して、ContentResolver
は、AndroidがUri
sをContentProvider
sに解決するために使用するものです。誰でもContentProvider
を作成できますおよびAndroidには、カレンダー、連絡先などのContentProvider
sがあります。ContentResolver
のinsert()
メソッドは、Uri
挿入された行:したがって、質問1と2では、Uri
sはテーブルを指していましたが、Uri
sは階層的であるため、特定の行に解決できます。
_content://com.Android.calendar/events
_はイベントテーブルを指しますが、
_content://com.Android.calendar/events/1
_は、ID 1のイベントテーブルの行を指します。
これは通常の動作ですが、ContentProvider
を提供することでURIをカスタマイズして異なる方法で解決できることに注意してください。
ContentProvider docs 、特に Content URI のセクションを読むことを強くお勧めします。
以前に推奨されたドキュメントから:
前のコード行では、「words」テーブルの完全なURIは次のとおりです。
_
content://user_dictionary/words
_ここで、_
user_dictionary
_文字列はプロバイダーの権限であり、words
文字列はテーブルのパスです。文字列_content://
_(scheme)は常に存在し、これをコンテンツURIとして識別します。
ContentValues:
public final class
ContentValues
extends Object
implements Parcelable have public methods
like: String getAsString(String KEY) , void put(Sring KEY, String value)
e.g.
public void createEntry(String name, String number){
ContentValues cval = new ContentValues();
cval.put(KEY_NAME, name); // KEY_NAME is key just like parameter in put(String key)
....
....
....
}