ContentResolver取得的数据是ContentProvider提供的数据,操作方式与操作SQLite数据库类似,有查询query,插入insert,删除delete,更新update等方法。通讯录里的联系人系统提供了这种读取的方法。SharedPrefernces主要是用来存储配置参数的,系统会生成一个xml文件用来存储参数名和值

解决方案 »

  1.   

    Shared Preferences是以xml文件的方式存储,具体位置在DDMS-File Explorer--data/data/<package name>/shared_prefs,可以看到*.xml
      

  2.   

    这种取数的方法,是针对哪种存数方式的啊?针对 SQLite.楼主可以看下源码:<OpenSourceProject>\packages\providers\ContactsProvider\src操作的数据库文件路径为:
    /data/data/com.android.providers.contacts/databases/contacts2.db楼主可以这样认为:
    涉及到ContentProvider的操作对象都是SQLite。Shared Preferences的一个读写例子如下:public class Calc extends Activity {
        public static final String PREFS_NAME = "MyPrefsFile";    @Override
        protected void onCreate(Bundle state){         
           super.onCreate(state);
           . . .       // Restore preferences
           SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
           boolean silent = settings.getBoolean("silentMode", false);
           setSilent(silent);
        }    @Override
        protected void onStop(){
           super.onStop();      // We need an Editor object to make preference changes.
          // All objects are from android.context.Context
          SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
          SharedPreferences.Editor editor = settings.edit();
          editor.putBoolean("silentMode", mSilentMode);      // Commit the edits!
          editor.commit();
        }
    }
      

  3.   

    android.provider.ContactsContract.PhoneLookup与读写无关,只是提供了两个查询的关键字DISPLAY_NAM和NUMBER