2021. 10. 14. 15:53ㆍAndroid
#Java #Kotlin이 다른 #스타일 무엇일까?
#파일읽기 편
안녕하세요. 오늘 프로젝트를 짜면서 적용하고, 다른 사람도 이렇게 적용하는지 확인하고, 포스팅을 합니다.
제가 했던 것의 핵심만 간단명료하게 작성했습니다.
Java Style
AssetManaager assetManager = getAssetes();
// assets/test.json파일을 읽는 InputStream
try {
InputStream is = assetManager.open("test.json");
InputStreamReader isr = new InputStreamReader(is);
BufferedReader reader = new BufferedReader(isr);
StringBuffer buffer = new StringBuffer();
String line = reader.readLine();
// json 파일을 라인단위로 끝까지 json의 끝까지 들인다.
while( line != null ){
buffer.append(line +"\n");
line=reader.readLine();
}
// 읽어들인 json을 String 형태의 json
String jsonData = bufffer.toString();
Log.d("result",jsonData);
} catach( IOException e ){
e.printStacktrace()
}
Kotlin Style
assets.open("test.json").run{
val buffer = StringBuffer()
val buffReader = this.bufferedReader(Charsets.UTF_8)
buffReader.forEachLine {
Log.d("readJson",it )
buffer.append(it+"\n")
}
jsonData = buffer.toString()
Log.d("jsonData",jsonData)
}
[배경 설명]
위의 기능은 BufferedReader를 이용하여 json파일을 불러옵니다.
불러온 json파일을 출력하는 내용입니다.
아주 간단한 내용이에요.
[본론]
첫번째로 눈에 띄는 차이는
JavaStyle에서는 약 20줄 가량의 코드입니다.
Kotlin은 10줄 정도의 코드로 할 수 있습니다.
Kotlin은 개발자의 가독성을 향상시켜 편리성을 제공하는 언어이니까요. 개발자라면 누구나 아는 for문이 이렇게 단축 될 수 있다는 건 정말 좋은 가독성을 지닌 언어라고 볼 수 있습니다.
실제로 이 코드들은 JVM의 바이트 코드로 변환되는 그런 효율성에 대해서는 논외로 하겠습니다.
두번째로는 bufferReader를 이용할 때 변수 선언하는 숫자가 훨씬 줄어 들었습니다.
JavaStyle은 5개 정도 사용하는데 반면,
Kotlin은 2개정도로 사용합니다.
네이밍 고통에서 해방
[참조 페이지]
Android Studio의 JSON 파일 파싱하는 기능 https://lcw126.tistory.com/101
Kotlin의 ForEachLine 설명 https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/java.io.-file/for-each-line.html
'Android' 카테고리의 다른 글
Android Gradle plugin requires Java 11 to run. you are currently using Java 1.8 (0) | 2021.11.15 |
---|---|
유튜브 API - 시작하기(구글 클라우드 YouTube API v3 설정) (0) | 2021.11.08 |
유튜브 API - 시작하기에 앞서 드릴 말씀 및 목차. (0) | 2021.11.05 |
[MediaRecorder] 녹음 기능 형성을 시도기 (0) | 2021.11.02 |
ConstraintLayout에서 비율 조절(같은 비율로 버튼만드는 예시) (0) | 2021.10.17 |