app 단위의 build.gradle.kts에서 plugins
안에 id("kotlin-parcelize")
추가
app 단위의 build.gradle.kts에서 dependencies
안에 `implementation("com.google.code.gson:gson:2.8.9")` 추가
File > New > Folder > Assets Folder
프로젝트 root 단위에 assets 디렉토리 생성
@Parcelize
어노테이션을 붙여주고 Parcelable
인터페이스를 상속받도록 한다@SerializedName("key")
를 붙여준다// MainActivity.kt
val jsonReader = assets.open("menus.json").reader()
val jsonString = jsonReader.readText()
...
jsonReader.close() // 호출자가 reader를 직접 닫아줘야 함
ContextThemeWrapper
내부 메서드인 getAssets
를 사용해서 assets 디렉토리의 파일에 접근open()
메서드를 통해 InputStream 반환reader()
: UTF-8 인코딩을 사용하는 InputStreamReader 생성readText()
: reader를 읽고 String을 반환val menu = Gson().fromJson(jsonString, MenuResponse::class.java)
큰 도움이 되었습니다, 감사합니다.