Вот пример, который сохраняет логические значения в качестве моего пользовательского типа 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 Пентиум, но я не мог, при которых контексте должен instatiate этого saveformality(). Пожалуйста, присылайте мне полный код, чтобы я мог четко понимать. У меня много сомнений. Mt id [email protected] – silverstone
Thanx pentium, но я не мог, в каком контексте необходимо установить эту saveformality(). Пожалуйста, присылайте мне полный код, чтобы я мог четко понимать. Есть много сомнений, которые у меня были. Пожалуйста, я прошу вас отправить любой полностью закодированный пример любого примера. My id [email protected] – silverstone
Не ожидайте получения каких-либо сообщений по электронной почте, как вы этого не сделаете. Это пример кода, как использовать пользовательский тип mimetype для контактов. Это пример кода, пожалуйста, найдите время и попытайтесь понять. Для меня это в clsContacts. – Pentium10