728x90
반응형
SMALL
//내부저장소 경로
private val mOutputDir = MyApplication.applicationContext().getExternalFilesDir(null)
companion object{
const val COMPARETYPE_NAME = 0
const val COMPARETYPE_DATE = 1
}
fun getFiles(): ArrayList<String>? {
//.zip 확장자 파일목록 불러오기
var fileArray = mOutputDir?.listFiles { pathname -> pathname.name.endsWith(".zip") }
//최신순으로 정렬
fileArray = fileArray?.let { sortFileList(it,COMPARETYPE_DATE) }
//ArrayList로 저장 후 역순 정렬
val fileArrayList: ArrayList<String> = ArrayList()
if (fileArray != null) {
for (file in fileArray) {
fileArrayList.add(file.name)
}
}
fileArrayList.reverse()
return fileArrayList
}
private fun sortFileList(files: Array<File>, compareType:Int): Array<File>{
Arrays.sort(files) { object1, object2 ->
var s1 = ""
var s2 = ""
if (compareType == COMPARETYPE_NAME) { //이름순 정렬
s1 = object1.name
s2 = object2.name
} else if (compareType == COMPARETYPE_DATE) { //날짜 순 정렬
s1 = object1.lastModified().toString()
s2 = object2.lastModified().toString()
}
s1.compareTo(s2)
}
return files
}
- 참고자료
728x90
반응형
LIST
'Android > Function' 카테고리의 다른 글
[안드로이드] 권한 확인/허가 요청 코드 + 블루투스 확인/요청 (0) | 2020.10.30 |
---|---|
[안드로이드] 외부저장소(SAF) ↔ 내부저장소 파일 옮기기/복사하기 (1) | 2020.09.04 |
[Kotlin] 검색 필터링과 아이템 클릭 가능한 RecyclerView 만들기 (1) | 2020.09.01 |
[안드로이드] 앱 내에서 파일 압축하기, zip 파일 만들기 (0) | 2020.08.31 |