Day11数据库

获取权限

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){
            requestPermissions(new String[]{Manifest.permission.READ_CONTACTS,Manifest.permission.CALL_PHONE},999);
        }
          @Override
    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
        if (requestCode == 999&&grantResults[0]==PackageManager.PERMISSION_GRANTED){

        }else {
            finish();
        }
    }

1.list集合查询数据库联系人

 public void btn(View view) {
        Cursor query = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
        if (query!=null){
            while (query.moveToNext()){
                String sql ="insert into phone values (?,?,?)";
                String name = query.getString(query.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                String number = query.getString(query.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                Person person = new Person(name,number);
                Toast.makeText(this, name+":"+number, Toast.LENGTH_SHORT).show();
                readableDatabase.execSQL(sql,new Object[]{null,name,number});
                list.add(person);
            }
            Toast.makeText(this, "添加成功", Toast.LENGTH_SHORT).show();
            query.close();
            MyListAdapter myListAdapter = new MyListAdapter(this, list);
            listView.setAdapter(myListAdapter);
        }
    }

2.查询联系人


    public void btn1(View view) {
        Cursor query = contentResolver.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null, null);
        if(query!=null){
            while (query.moveToNext()){

                String name = query.getString(query.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));

                String number = query.getString(query.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));

                Toast.makeText(this, "姓名:"+name+"手机号:"+number, Toast.LENGTH_SHORT).show();

            }
            query.close();
        }

    }

3.查询短信

    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    public void btn2(View view) {
        Cursor query = contentResolver.query(Telephony.Sms.CONTENT_URI, null, null, null, null);
        if (query!=null){
            while (query.moveToNext()){
                String user = query.getString(query.getColumnIndex(Telephony.Sms.ADDRESS));
                String content = query.getString(query.getColumnIndex(Telephony.Sms.BODY));

                Toast.makeText(this, "用户:"+user+"内容:"+content, Toast.LENGTH_SHORT).show();
            }
            query.close();
        }
    }

3.查询通话记录

public void btn3(View view) {
        Cursor query = contentResolver.query(CallLog.Calls.CONTENT_URI, null, null, null, null);
        if (query!=null){
            while (query.moveToNext()){
                String num = query.getString(query.getColumnIndex(CallLog.Calls.NUMBER));
                String date = query.getString(query.getColumnIndex(CallLog.Calls.DATE));
                String duration = query.getString(query.getColumnIndex( CallLog.Calls.DURATION));

                Toast.makeText(this, "号码:"+num+"时间:"+date+"拨打时长:"+duration, Toast.LENGTH_SHORT).show();
            }
            query.close();
        }
    }

4.获取手机内的音频

  @RequiresApi(api = Build.VERSION_CODES.O)
    public void btn2(View view) {
        Cursor cursor = contentResolver.query(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
        if (cursor!=null){
            while (cursor.moveToNext()){
                String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE ));
                String data=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
                String artist=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.ARTIST));
                Long duration = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));
                Long size = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media.SIZE));
                Log.i(TAG,"音频: "+title+":"+data+":"+artist+":"+duration+":"+size);
            }
            cursor.close();
        }
    }

5.获取手机内的视频

  @RequiresApi(api = Build.VERSION_CODES.O)
    public void btn3(View view) {
        Cursor cursor = contentResolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, null, null, null, null);
        if (cursor!=null){
            while (cursor.moveToNext()){
                String title = cursor.getString(cursor.getColumnIndex(MediaStore.Audio.Media.TITLE ));
                String data=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
                String artist=cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.ARTIST));
                Long duration = cursor.getLong(cursor.getColumnIndex(MediaStore.Audio.Media.DURATION));
                Long size = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media.SIZE));
                Log.i(TAG,  "视频: "+title+":"+data+":"+artist+":"+duration+":"+size);
            }
            cursor.close();
        }
    }

6.获取手机内的图片

    @RequiresApi(api = Build.VERSION_CODES.O)
    public void btn4(View view) {
        Cursor cursor = contentResolver.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, null, null, null,null);
        if (cursor!=null){
            while (cursor.moveToNext()){
                String title = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.TITLE));
                long size = cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media.SIZE));
                String data = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
                String height = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.HEIGHT));
                String width = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.WIDTH));
                Log.i(TAG, "图片: 图片名称:"+title+"图片大小:"+size+"地址:"+data+"图片高度:"+height+"图片宽度:"+width);
            }
            cursor.close();
        }
    }

7.获取所有断线

    @RequiresApi(api = Build.VERSION_CODES.KITKAT)
    public void btn5(View view) {
        Cursor cursor = contentResolver.query(Telephony.Sms.CONTENT_URI, null, null, null, null);
        if (cursor!=null){
            while (cursor.moveToNext()){
                String address = cursor.getString(cursor.getColumnIndex(Telephony.Sms.ADDRESS));
                String body = cursor.getString(cursor.getColumnIndex(Telephony.Sms.BODY));
                Log.i(TAG, "短信: 地址:"+address+"内容:"+body);
            }
            cursor.close();
        }
    }

8.对联系人的增删改查

 public void insert(View view) {
        ContentValues contentValues = new ContentValues();
        contentValues.put(CallLog.Calls.NUMBER,"110");
        contentValues.put(CallLog.Calls.DATE,"10:29");
        contentValues.put(CallLog.Calls.TYPE,1);
        contentValues.put(CallLog.Calls.DURATION,"1分钟");
        contentResolver.insert(CallLog.Calls.CONTENT_URI,contentValues);
    }

    public void select(View view) {
        Cursor cursor = contentResolver.query(CallLog.Calls.CONTENT_URI, null, null, null, null);
        if (cursor!=null){
            while (cursor.moveToNext()){
                String number = cursor.getString(cursor.getColumnIndex(CallLog.Calls.NUMBER));
                String date = cursor.getString(cursor.getColumnIndex( CallLog.Calls.DATE));
                String type = cursor.getString(cursor.getColumnIndex( CallLog.Calls.TYPE));
                String duration = cursor.getString(cursor.getColumnIndex( CallLog.Calls.DURATION));
                Log.i(TAG, "select: 号码:"+number+"日期"+date+"类型:"+type+"时长:"+duration);
            }
            cursor.close();
        }
    }

    public void delete(View view) {
        int delete = contentResolver.delete(CallLog.Calls.CONTENT_URI, "number = ?", new String[]{"8419156"});
        Toast.makeText(this, "成功删除:"+delete, Toast.LENGTH_SHORT).show();
    }

    public void update(View view) {
        ContentValues contentValues = new ContentValues();
        contentValues.put("number","8419156");
        int update = contentResolver.update(CallLog.Calls.CONTENT_URI, contentValues, "number = ?", new String[]{"110"});
        Toast.makeText(this, "成功修改"+update,Toast.LENGTH_SHORT).show();
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值