권한 부여
권한 부여

솔직히 영상 나온대로 다시 해보라 하면 절대 혼자선 못하겠고, 그냥 Data Class, viewModel구조를 이제야 좀 알 것 같음
data class는 말그대로 그냥 데이터들을 망라하기 위한 클래스인거고
viewModel은 이 data들을 화면에서 관리해주는 다른 클래스인거다
그래서 viewModel안에서 캡슐화되고 MutableStateof와 같은 메소드로 트래킹하는거고 해당 데이터를 수정하는 함수도 이 viewModel 클래스에서 전담해서 해주는것이다
이걸로 메인Activity에서는 해당 viewModel과만 소통하면서 data를 수정하게끔하는 구조가 되는 것이다.
LocationData 클래스

LocationDataViewModel 클래스

위와 같은 방법으로 캡슐화하여 정보를 안전하게 관리한다는거 기억해두자

그리고 권한 관련해서 많은 걸 했는데 이걸 적는다고 똑같이 할수 있는게 아니라서 위치 정보나 기타 다른 권한 설정을 할때 AndroidManifest 파일을 건드려야 하고, 검색을 좀 많이 해봐야 할듯하다
그리고 권한이 있어야만 작성 가능한 코드들이 있는데
그러한 코드는
@SuppressLint("권한") → 이런 방식으로 권한을 무시하게끔 코드를 작성할 수 있다
권한 관련해서 궁금하면 Udemy 영상을 다시 한번 보자
API KEY 추가하는 방법

구글 클라우드에 프로젝트를 만들고, 용도 설정을 한 후 해당 프로젝트에 API를 추가시킬 수있다
그러면 API 키를 발급 받을 수 있고, 해당 API의 유출로 인한 사고를 막기 위해 어떤 패키지에서만 API 키가 유효하게 할지 정해줄수 있고, 해당 API KEY를 SHA 코드로 바꾸어서 저장할수도 있다

그리고 Manfest부분에 meta-data 란에 API 키를 해당 작업에 맞게 적어 주면 된다
