美文网首页学习笔记
实习笔记17.07.18

实习笔记17.07.18

作者: 方木Rudy | 来源:发表于2017-08-03 22:06 被阅读0次
    1. MediaStore.Images.Media.BUCKET_DISPLAY_NAME,// 相册名称
      Media内数据库列名整理
    2. 调用相机将照片存储在路劲中时,路径path=“ /sdcard/DCIM/camera/ ” (注意前后的 “/”不能丢,android根目录以 “ / ”开头)
    3. 有时候 file.exit()比查询数据库操作更耗时 【一次性查询多个数据集比多次查询合适数据集耗时更长】--(主要体现在刷新操作,一次刷新,每次都要查询多个数据集)
    4. 如何在Android媒体库中进行分组查询?
      ****在Android中使用ContentResolver查询媒体库时是没有Group by参数的,但是可以追加在where参数中。****
      例如查询按文件夹查询图片,并且查询每个文件夹下面的图片数量
    final String selection = "1=1) group by ([bucket_id]"; 
    final String[] projection = new String[]{ 
        "count([_id])", 
        "bucket_display_name"}; 
    Cursor c = getContentResolver().query( 
        MediaStore.Images.Media.EXTERNAL_CONTENT_URI, 
        projection, 
        selection, null, null); 
    while (c.moveToNext() ) { 
        Log.e("haha", c.getString(2) + ":"+c.getInt(0)); 
    } 
    c.close();
    

    主要是注意系统会为where语句添加一对小括号,即where ( … ) , 跟上面的”)(“拼接成两对小括号 ,最后拼接成的Sql语句为:

    SELECT count([_id]), bucket_id, bucket_display_name FROM images WHERE (1=1) group by ([bucket_id])
    

    实习开发:

    1. 【优化 】修改了获取相册信息的方式--(没有理解leader意思,要二次查询)
      2.【问题】在相册选择开发中,首页显示照片是根据albumName,通过数据库操作显示照片。但在调用相机时,将拍摄照片存储在"/sdcard/DCIM/camera/"下时,虽然已经存储在目录中了,但为什么通过数据库操作不能更新到?
      ---要通知数据库进行入库操作
    2. 【优化】数据库查询,能直接查询到所得信息就直接查询,尽量减少对信息进行二次加工
      【优化】activity改为fragment
      【优化】delete删除会有返回值,依靠返回值进行判断是否删除成功

    相关文章

      网友评论

        本文标题:实习笔记17.07.18

        本文链接:https://www.haomeiwen.com/subject/gmbckxtx.html