<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
if(ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED){requestPermissionLauncher.launch(Manifest.permission.READ_EXTERNAL_STORAGE)}
fun query(
uri: Uri, //어떤 데이터 가져오는지 Uri 형태로
projection: Array<String!>?, // 어떤 항목의 데이터 가져올것인지 String 배열로 (데이터의 구조를 잘 모르면 null지정 = 모든 항목 거쳐옴)
selection: String?, //데이터를 가져올 조건 지정(null = 전체 데이터)
selectionArgs: Array<String!>?, // 조건 지정 (null = 사용하지 않음)
sortOrder: String? // 정렬 방법
): Cursor?
콘텐츠 프로바이저로 얻은 cursor 객체는 사용을 마치면 반드시 close()
❗닫지 않으면 memory leak 발생 !!
Closeable 객체라면 use() 확장함수 써주는 것도 방법임.