早期的部分代码

public static ArrayList getAllContacts(Context context) {ContentResolver resolver = context.getContentResolver();// 1. 查询raw_contacts表,把联系人的id取出来Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");Uri datauri = Uri.parse("content://com.android.contacts/data");ArrayList infos = new ArrayList();Cursor cursor = resolver.query(uri, new String[] { "contact_id" },null, null, null);while (cursor.moveToNext()) {String id = cursor.getString(0);if (id != null) {System.out.println("联系人id:" + id);PhoneContact info = new PhoneContact();info.setId(id);// 2. 根据联系人的id,查询data表,把这个id的数据取出来// 系统api 查询data表的时候 不是真正的查询data表 而是查询的data表的视图Cursor dataCursor = resolver.query(datauri, new String[] {"data1", "mimetype" }, "raw_contact_id=?",new String[] { id }, null);while (dataCursor.moveToNext()) {String data1 = dataCursor.getString(0);String mimetype = dataCursor.getString(1);if ("vnd.android.cursor.item/name".equals(mimetype)) {System.out.println("姓名=" + data1);info.setName(data1);} else if ("vnd.android.cursor.item/email_v2".equals(mimetype)) {System.out.println("邮箱=" + data1);info.setEmail(data1);} else if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {System.out.println("电话=" + data1);info.setPhone(data1);} else if ("vnd.android.cursor.item/im".equals(mimetype)) {System.out.println("QQ=" + data1);info.setQq(data1);}else if("vnd.android.cursor.item/sip_address".equals(mimetype)){System.out.println("地址=" + data1);info.setAddress(data1);}}//判断name是否为空if(info.getName()==null){}else{infos.add(info);}dataCursor.close();}}cursor.close();return infos;}
public static void initMusic(Context context,Handler handler) {songLists.clear();ContentResolver resolver = context.getContentResolver();Uri uri = MediaStore.Audio.Media.EXTERNAL_CONTENT_URI;String[] projection = { MediaStore.Audio.Media.TITLE, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.DATA,MediaStore.Audio.Media.DURATION, MediaStore.Audio.Media._ID };Cursor c = resolver.query(uri, projection, null, null, null);try {while (c.moveToNext()) {String name = c.getString(c.getColumnIndex(MediaStore.Audio.Media.TITLE));String artist = c.getString(c.getColumnIndex(MediaStore.Audio.Media.ARTIST));String path = c.getString(c.getColumnIndex(MediaStore.Audio.Media.DATA));String duration = c.getString(c.getColumnIndex(MediaStore.Audio.Media.DURATION));String id = c.getString(c.getColumnIndex(MediaStore.Audio.Media._ID));Music music = new Music(name, artist, path, duration, id);songLists.add(music);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if (c != null) {c.close();}}handler.sendEmptyMessage(1);}
public static void initVideo(Context context, Handler handler) {mhandler = handler;VideoLists.clear();mContext=context;ContentResolver resolver = context.getContentResolver();Uri uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;String[] projection = { MediaStore.Video.Media.TITLE,MediaStore.Video.Media.ARTIST, MediaStore.Video.Media.DATA,MediaStore.Video.Media.DURATION, MediaStore.Video.Media._ID };Cursor c = resolver.query(uri, projection, null, null, null);try {while (c.moveToNext()) {String name = c.getString(c.getColumnIndex(MediaStore.Audio.Media.TITLE));String artist = c.getString(c.getColumnIndex(MediaStore.Audio.Media.ARTIST));String path = c.getString(c.getColumnIndex(MediaStore.Audio.Media.DATA));String duration = c.getString(c.getColumnIndex(MediaStore.Audio.Media.DURATION));String id = c.getString(c.getColumnIndex(MediaStore.Audio.Media._ID));Video video = new Video(name, artist, path, duration, id);System.out.println("aaaa--111111--" + video.toString());VideoLists.add(video);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {if (c != null) {c.close();}}

 

 

更多相关文章

  1. 打开android 系统联系人
  2. 画廊视图Gallery
  3. 阅读《Android 从入门到精通》(21)——滚动视图
  4. android 向系统通讯录添加一个联系人信息
  5. Android sqlite约束-视图-检查
  6. 读取联系人信息
  7. ANDROID L——Material Design详解(视图和阴影)
  8. Android23-视图坐标系以及MotionEvent事件
  9. [Android]ButterKnife-无尽之刃-绑定视图控件和事件的快速开发工

随机推荐

  1. Android监听事件的回调机制
  2. 用android做的一个简单的短信发送器(当然
  3. android的Touch事件的消费机制
  4. 如何用手机访问电脑本地 localhost 网页
  5. Android项目管理之数据库升级策略
  6. 关于Android(安卓)Paint.Cap枚举和Paint.
  7. Android游戏编程之音频编程
  8. Android(安卓)编程五要诀:Activity、Servi
  9. Android(安卓)面试那些事之Java基础
  10. 【Android7.1.2源码解析系列】Android编