電話帳[ContactS] イベント情報表示


ダウンロードはこちら

関連記事はこちら



電話帳詳細画面にイベント情報を表示しました。



技術情報

■基本
final ContentResolver r = context.getContentResolver();
final Cursor c = r.query(
    uri,
    projection,
    selection,
    selectionArgs,
    sortOrder);
■パラメータ

final long contactId = 取得したいContactId;
final Uri uri = ContactsContract.Data.CONTENT_URI;
final String projection = null;
final String selection = ContactsContract.Data.MIMETYPE + "=? and " + ContactsContract.Data.CONTACT_ID + "=?";
final String[] selectionArgs = {
        ContactsContract.CommonDataKinds.Event.CONTENT_ITEM_TYPE,
        String.valueOf(contactId)
    };
mimetype を指定してイベント情報に限定した情報を抽出する。

■カラム

画面上に出したいのはイベント種別と日付です。

●イベント種別

イベント種別カラム名
final String cType = ContactsContract.CommonDataKinds.Event.TYPE;

イベント種別のカラム番号取得
final int iType = c.getColumnIndex(cType);

イベント種別データ取得
final int type = c.getInt(iType);

イベント種別をリソースIDに変換
final int resId =ContactsContract.CommonDataKinds.Event.getTypeResource(type);

リソースIDから文字列を取得
final String typeText = context.getString(resId);



●日付

日付カラム名
final String cStartDate = ContactsContract.CommonDataKinds.Event.START_DATE;

日付カラム番号取得
final int iStartDate = c.getColumnIndex(cStartDate);

日付文字列を取得
final String startDateText = c.getString(iStartDate);

例)取得される文字列
1978-05-18 


アプリのダウンロードはこちら

連絡帳アプリの関連記事はこちら


0 件のコメント:

コメントを投稿