social api

Previous notes on contacts

android social api contacts api

Search for: android social api contacts api

The main changes are documented here for the social api

The profile contract introduced in api 14


contactscontract.profile

Android now includes a personal profile that represents the device owner, as defined by the ContactsContract.Profile table. Social apps that maintain a user identity can contribute to the user's profile data by creating a new ContactsContract.RawContacts entry within the ContactsContract.Profile. That is, raw contacts that represent the device user do not belong in the traditional raw contacts table defined by the ContactsContract.RawContacts Uri; instead, you must add a profile raw contact in the table at CONTENT_RAW_CONTACTS_URI. Raw contacts in this table are then aggregated into the single user-visible profile labeled "Me".

there is a new table on the block: profile

raw contacts can be added to this profile table directly. These raw contacts are DIFFERENT from the entries in the previous "rawcontacts" table entirely. They are treated differently.

raw contacts from the profile table are aggretaged into "ME"

So the contact aggregation and the values in the traditional raw contact table apply only to "OTHER PEOPLE" but not to you.

well don't you want to take a look at the profile table definition??

The table definitions for other contact related tables are here

see this link to see how to explore the contacts db through sqlite tools

Search for: ICS Andorid 4.0 users guide

To see how the new contacts application works take a look at this UI pictures

Use the file explorer in eclipse to see this director structure under


/data/data/com.android.providers.contacts

You can download the sample profile.db here

Please note that this is a database file that you can use with sql tools to explore it to see the table definitions.

Here is a sample contacts.db

And see how contacts are entered into the profile database. I thought this was just a table in the contacts database. But looks like it is a database by itself.

Looks like the profile database parallels the contacts database and may use similar priciples to aggregate information from multiple accounts.

The user's profile entry cannot be created explicitly (attempting to do so will throw an exception). When a raw contact is inserted into the profile, the provider will check for the existence of a profile on the device. If one is found, the raw contact's CONTACT_ID column gets the _ID of the profile Contact. If no match is found, the profile Contact is created and its _ID is put into the CONTACT_ID column of the newly inserted raw contact.

that sits separately from other contacts. But it behaves like other contacts except that it is just one.


Can I read a profile?
Can I add a raw contact to a profile?
Can I add multiple raw contacts per account in a profile?
Can I add more data fields to a profile?
Where is the user guide?

quick contacts
shortcut to phones
texting
..elments inside social networks!!

android people app add connection

Search for: android people app add connection

google nexus s 4.0 ics user guide

Search for: google nexus s 4.0 ics user guide

invite_contact intent

This is the intent that is fired when the user clicks the "invite to the network" button on a contact. Only sent to an activity which is explicitly registered by a contact provider which supports the "invite to the network"


content://com.android.contacts/profile/raw_contacts

contactscontract.profile

Search Google for: contactscontract.profile

Search Android Developers Group for: contactscontract.profile

Search Android Beginers Group for: contactscontract.profile

Search Google Code for: contactscontract.profile

Search Android Issues Database for: contactscontract.profile

profile Data.content_uri

Search for: profile Data.content_uri

android contacts is_user_profile

Search for: android contacts is_user_profile

RAW_CONTACT_IS_USER_PROFILE

Search for: RAW_CONTACT_IS_USER_PROFILE

RawContactsEntity now has a URI for profile data

how can I use the share intent in android

Search for: how can I use the share intent in android

How can I send an email or a text message from an application to one or a group of contacts?


public void printVariousUris()
    {
       show("Data.Content_uri:" + Data.CONTENT_URI);
       
       show("ContactsContract.Profile.CONTENT_RAW_CONTACTS_URI:" 
             + ContactsContract.Profile.CONTENT_RAW_CONTACTS_URI);
       
       show("ContactsContract.Profile.CONTENT_URI:" 
             + ContactsContract.Profile.CONTENT_URI);
       
       show("ContactsContract.RawContacts.CONTENT_URI:" 
             + ContactsContract.RawContacts.CONTENT_URI);
       
       show("ContactsContract.RawContactsEntity.PROFILE_CONTENT_URI:" 
             + ContactsContract.RawContactsEntity.PROFILE_CONTENT_URI);
              
       show("ContactsContract.RawContactsEntity.CONTENT_URI:" 
             + ContactsContract.RawContactsEntity.CONTENT_URI);
    }