如何在Android上安装联系人应用程序?

如何在Android上安装联系人应用程序?,android,Android,Im使用Android 2.1 Api 我需要将字符串MIME类型添加到现有联系人中,以存储除电话号码、电子邮件等之外的用户定义数据。请帮助我如何从我的应用程序中添加该自定义字段 我请求提供一个示例,因为我在Android上只有一周大。这里有一个示例,它将布尔值作为我的自定义mime类型保存到联系人中。它使用最新的SDK 2.1 public static final String MIMETYPE_FORMALITY = "vnd.android.cursor.item/useformalit

Im使用Android 2.1 Api

我需要将字符串MIME类型添加到现有联系人中,以存储除电话号码、电子邮件等之外的用户定义数据。请帮助我如何从我的应用程序中添加该自定义字段


我请求提供一个示例,因为我在Android上只有一周大。

这里有一个示例,它将布尔值作为我的自定义mime类型保存到联系人中。它使用最新的SDK 2.1

public static final String MIMETYPE_FORMALITY = "vnd.android.cursor.item/useformality";
public clsMyClass saveFormality() {
        try {
            ContentValues values = new ContentValues();
            values.put(Data.DATA1, this.getFormality() ? "1" : "0");
            int mod = ctx.getContentResolver().update(
                    Data.CONTENT_URI,
                    values,
                    Data.CONTACT_ID + "=" + this.getId() + " AND "
                            + Data.MIMETYPE + "= '"
                            + clsContacts.FORMALITY_MIMETYPE + "'", null);

            if (mod == 0) {
                values.put(Data.CONTACT_ID, this.getId());
                values.put(Data.MIMETYPE, clsContacts.FORMALITY_MIMETYPE);
                ctx.getContentResolver().insert(Data.CONTENT_URI, values);
            }
        } catch (Exception e) {
            Log.v(TAG(), "saveFormality failed");
        }
     return this;
    }

public boolean getFormality() {
     if (data.containsKey(FORMALITY)) {
        return data.getAsBoolean(FORMALITY);
    } else {
        // read formality
        Cursor c = readDataWithMimeType(clsContacts.MIMETYPE_FORMALITY, this.getId());
        if (c != null) {
            try {
                if (c.moveToFirst()) {
                    this.setFormality(c.getInt(0) == 1);
                    return (c.getInt(0) == 1);
                }
            } finally {
                c.close();
            }
        }
        return false;
    }

}
public clsMyClass setFormality(Boolean value) {
    data.remove(FORMALITY);
    data.put(FORMALITY, value);
    return this;
}

/**
 * Utility method to read data with mime type
 *
 * @param mimetype String representation of the mimetype used for this type
 *            of data
 * @param contactid String representation of the contact id
 * @return
 */
private Cursor readDataWithMimeType(String mimetype, String contactid) {
    return ctx.getContentResolver().query(
            Data.CONTENT_URI,
            new String[] {
                Data.DATA1
            },
            Data.RAW_CONTACT_ID + "=" + contactid + " AND " + Data.MIMETYPE + "= '" + mimetype
                    + "'", null, null);
}
用法是

objContact.setFormality(true).saveFormality();

下面是一个将布尔值作为自定义mime类型保存到联系人的示例。它使用最新的SDK 2.1

public static final String MIMETYPE_FORMALITY = "vnd.android.cursor.item/useformality";
public clsMyClass saveFormality() {
        try {
            ContentValues values = new ContentValues();
            values.put(Data.DATA1, this.getFormality() ? "1" : "0");
            int mod = ctx.getContentResolver().update(
                    Data.CONTENT_URI,
                    values,
                    Data.CONTACT_ID + "=" + this.getId() + " AND "
                            + Data.MIMETYPE + "= '"
                            + clsContacts.FORMALITY_MIMETYPE + "'", null);

            if (mod == 0) {
                values.put(Data.CONTACT_ID, this.getId());
                values.put(Data.MIMETYPE, clsContacts.FORMALITY_MIMETYPE);
                ctx.getContentResolver().insert(Data.CONTENT_URI, values);
            }
        } catch (Exception e) {
            Log.v(TAG(), "saveFormality failed");
        }
     return this;
    }

public boolean getFormality() {
     if (data.containsKey(FORMALITY)) {
        return data.getAsBoolean(FORMALITY);
    } else {
        // read formality
        Cursor c = readDataWithMimeType(clsContacts.MIMETYPE_FORMALITY, this.getId());
        if (c != null) {
            try {
                if (c.moveToFirst()) {
                    this.setFormality(c.getInt(0) == 1);
                    return (c.getInt(0) == 1);
                }
            } finally {
                c.close();
            }
        }
        return false;
    }

}
public clsMyClass setFormality(Boolean value) {
    data.remove(FORMALITY);
    data.put(FORMALITY, value);
    return this;
}

/**
 * Utility method to read data with mime type
 *
 * @param mimetype String representation of the mimetype used for this type
 *            of data
 * @param contactid String representation of the contact id
 * @return
 */
private Cursor readDataWithMimeType(String mimetype, String contactid) {
    return ctx.getContentResolver().query(
            Data.CONTENT_URI,
            new String[] {
                Data.DATA1
            },
            Data.RAW_CONTACT_ID + "=" + contactid + " AND " + Data.MIMETYPE + "= '" + mimetype
                    + "'", null, null);
}
用法是

objContact.setFormality(true).saveFormality();

Thanx pentium,但我无法确定在哪个上下文下需要恢复此saveformality()。请给我完整的编码的例子,我可以清楚地理解。我有很多疑问。Mt idaravindhssn88@gmail.comThanxpentium,但我无法确定在哪个上下文下需要恢复此saveformality()。请给我完整的编码的例子,我可以清楚地理解。我有很多疑问。请我请求您发送任何完整编码的应用程序或任何示例。我的身份证aravindhssn88@gmail.comDon我不希望收到任何电子邮件,因为你不会收到。这是一个示例代码,说明如何在联系人上自定义mimetype。这是示例代码,请花时间尝试理解。对我来说,它位于clsContacts.Thanx pentium中,但我无法确定在哪个上下文下需要建立这个saveformality()。请给我完整的编码的例子,我可以清楚地理解。我有很多疑问。Mt idaravindhssn88@gmail.comThanxpentium,但我无法确定在哪个上下文下需要恢复此saveformality()。请给我完整的编码的例子,我可以清楚地理解。我有很多疑问。请我请求您发送任何完整编码的应用程序或任何示例。我的身份证aravindhssn88@gmail.comDon我不希望收到任何电子邮件,因为你不会收到。这是一个示例代码,说明如何在联系人上自定义mimetype。这是示例代码,请花时间尝试理解。对我来说,这是在clsContacts中。