2010-08-07 2 views
1

Im используя Android 2.1 ApiКак связаться с Android на Android?

Мне нужно добавить тип MIME строки в существующие контакты для хранения UserDefined данных помимо номеров телефонов, адрес электронной почты etc.Please помочь мне, как добавить, что настраиваемое поле из моего приложения.

Я прошу пример, потому что я неделю на Android.

ответ

1

Вот пример, который сохраняет логические значения в качестве моего пользовательского типа 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(); 
+0

Thanx Пентиум, но я не мог, при которых контексте должен instatiate этого saveformality(). Пожалуйста, присылайте мне полный код, чтобы я мог четко понимать. У меня много сомнений. Mt id [email protected] – silverstone

+0

Thanx pentium, но я не мог, в каком контексте необходимо установить эту saveformality(). Пожалуйста, присылайте мне полный код, чтобы я мог четко понимать. Есть много сомнений, которые у меня были. Пожалуйста, я прошу вас отправить любой полностью закодированный пример любого примера. My id [email protected] – silverstone

+0

Не ожидайте получения каких-либо сообщений по электронной почте, как вы этого не сделаете. Это пример кода, как использовать пользовательский тип mimetype для контактов. Это пример кода, пожалуйста, найдите время и попытайтесь понять. Для меня это в clsContacts. – Pentium10

Смежные вопросы