# 原理

cursor初始位置-1
moveToFirst的位置为0

cursor初始位置是在-1,而数据是从0开始的,所以cursor.moveToNext刚好是从-1变成0

# 所以我们可写成

while(cursor.moveToNext()){                    
    String address=cursor.getString(cursor
    .getColumnIndex(ContactsContract.CommonDataKinds.Email.ADDRESS));       
Log.d(TAG, address);               
    }

不需要moveToFirst而是直接循环moveToNext就可以完成遍历。