회원가입에서 이용약관, 개인정보처리방침을 띄워야하는데 value string으로 저장하기에는 내용이 너무 많아서 어려움을 겪고 있었다.
이 내용은 아주 긴 문자열을 저장하고 불러와야할 때 사용하면 유용할 것 같다.
1. Assets 폴더를 만들어준다.
Assets 폴더는 기본으로 만들어주진 않고 사용자가 만들어줘야한다.
app에 우크릭-> New-> Folder -> Assets Folder 선택
2. Assets 폴더에 txt 파일 추가
txt 파일을 만들어서 직접 assets 폴더에 추가해준다.
** 이때 주의해야할 점은 assets에 우클릭 -> file text만들기로 하면 txt 파일이 제대로 안만들어지는 것 같다.
이렇게 되면 뒤에서 내용을 불러올때 오류가 난다.
sample 처럼 생성되면 안되고 위에 agreement1.txt처럼 확장자가 txt로 만들어야 한다.
방법은 메모장에 내용을 작성해 txt로 저장하고 직접 assets 폴더에 넣어주면 된다.
3. 액티비티 코틀린에서 코드 작성
메서드 getAssetsTextString 만들기
//이용약관, 개인정보처리방침 txt 파일 읽어오기
fun getAssetsTextString(mContext: Context, fileName:String):String{
val termsString=StringBuilder()
val reader:BufferedReader
try {
reader= BufferedReader(
InputStreamReader(mContext.resources.assets.open("$fileName.txt"))
)
var str:String?
while(reader.readLine().also { str=it }!=null){
termsString.append(str)
termsString.append('\n')//줄변경
}
reader.close()
return termsString.toString()
}catch (e:IOException){
e.printStackTrace()
}
return "fail"
}
필요한 곳에서 호출
binding.textAgreement1Content.text=getAssetsTextString(this,"agreement1")
"agreement1" 에는 아까 앞에서 저장한 txt 파일 이름을 적어주면 된다.
참고
'개발 > 안드로이드 스튜디오' 카테고리의 다른 글
[안드로이드 코틀린] 스크롤 뷰 안에 텍스트 뷰 스트롤 넣기 (0) | 2023.01.28 |
---|---|
[안드로이드 코틀린] checkbox 버튼 크기 설정 (0) | 2023.01.28 |
[안드로이드 코틀린]스피너 선택값 지정하기 (0) | 2022.12.20 |
retrofit service 생성 오류 "No type arguments expected for class Call" (0) | 2022.08.04 |
깃 브랜치 생성 git branch (0) | 2022.07.25 |
댓글