2010-08-07 10 views
1

메신저 Android 2.1 ApiAndroid에 앱을 문의하는 방법은 무엇인가요?

전화 번호, 이메일 등을 제외하고 사용자 정의 데이터를 저장하기 위해 기존 연락처에 String MIME 유형을 추가해야합니다. 애플리케이션에서 해당 사용자 정의 필드를 추가하는 방법을 알려주세요.

나는 안드로이드에서 일주일 전부터 예제로 요청합니다.

답변

1

다음은 부울을 내 맞춤 마임 유형으로 연락처에 저장하는 예입니다. 그것은 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

고맙습니다 펜티엄하지만 난 어떤 컨텍스트에서이 saveformality을 인스턴스화 할 필요가 없습니다 최신 SDK를 사용합니다(). 나에게 명확하게 이해할 수있는 완전한 코드 예제를 보내주십시오. 내가 가진 많은 의심들이있다. Mt id [email protected] – silverstone

+0

고맙습니다.하지만이 컨텍스트에서이 saveformality()를 필요로 할 수 없습니다. 나에게 명확하게 이해할 수있는 완전한 코드 예제를 보내주십시오. 내가 가진 많은 의구심이 있습니다. 어떤 사례 든 완전히 코딩 된 신청서를 보내달라고 부탁드립니다. 내 id [email protected] – silverstone

+0

원하지 않는 이메일 수신을 기대하지 마십시오. 다음은 연락처에 맞춤 mimetype을 갖는 방법을 보여주는 코드의 예입니다. 이것은 샘플 코드입니다, 시간을내어 이해하려고 노력하십시오. 내게 그것은 clsContacts에있다. – Pentium10

관련 문제