Kotlin/TIL 67

Visibility 코드 단순화

팀 프로젝트 중 수정버튼을 누르면 같은 View에서 정보를 수정할 수 있게 만들어 주는 부분을 진행 중이다.더 좋은 방법이 있는지는 모르겠지만 단순히 textView로 보여지고 있는 부분의 visibility값을 gone으로 가리고 editText로 바꿔주는 걸로 진행하고 있었다. private fun editMode() { isEditMode = !isEditMode if (isEditMode) { //편집모드 binding.ivEditProfile.visibility = View.GONE binding.tvAddTagTypeOfDevelopment.visibility = View.VISIBLE binding.et..

Kotlin/TIL 2024.06.02

Youtube API에서 받은 영상 재생

GitHub - PierfrancescoSoffritti/android-youtube-player: YouTube Player library for Android and Chromecast, stable and customizabYouTube Player library for Android and Chromecast, stable and customizable. - PierfrancescoSoffritti/android-youtube-playergithub.com위에 있는 youtubePlayer를 사용했다.위에 라이브러리를 확인해보면 해당 글이 있다. 아예 Android를 지원하지 않는 것은 아니다.처음에는 ExoPlayer를 사용해서 youtube API에서 받아온 값으로 영상을 재생하려 했었다.하지..

Kotlin/TIL 2024.05.22

Android - Github API 검색 (TIL 05.08)

Postman 사용하기 (TIL 05.02)목적api가 잘 나오는지 postman으로 확인해보고 싶다!postman을 설치한 후 진행사용 방법 Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친rlawog.tistory.com Github API 사용하기 | Notion깃헙 토큰 받기ubiquitous-triangle-3a5.notion.site postman으로 api test는 이전에 진행해서 패스위에 노션으로 정리 해 두었다. 바로 코드 작성RetrofitClient.ktobject RetrofitClient { [1] private const val BASE_URL = "https://api.github.com/" [2..

Kotlin/TIL 2024.05.08

TIL (05.07)

트러블 슈팅 문제배경검색한 데이터 결과에서 선택한 데이터를 Room을 이용해 저장해서 보관함Fragment에서 띄운다.보관함Fragment에서 데이터를 클릭하면 선택한 데이터는 삭제한다.문제 발생해당 데이터의 뒤에 데이터들의 position값들이 변경되지 않는다. 원인listAdapter를 사용해서 기존 데이터와 다른 데이터만 수정을 진행했다.이럴 경우 선택한 데이터만 삭제되어 업데이트 된다.  해결나머지 뒤에 있는 데이터도 변경해줘야 한다.val updatedItems = items.mapIndexed { index, item -> if (index > position) { item.copy(id = item.id - 1) } else { item }}  깃 트러블 슈팅! [remote reject..

Kotlin/TIL 2024.05.07

Postman 사용하기 (TIL 05.02)

목적api가 잘 나오는지 postman으로 확인해보고 싶다!postman을 설치한 후 진행사용 방법 Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com 1. 우선 인증키를 발급 받아야한다.로그인 → 앱등록 ⇒ 키 발급앱 등록을 완료하면API를 사용할 수 있는 key가 주어진다.   2. 사용할 API의 URL이미지 검색을 사용할 것이여서 URL을 복사해서 Postman으로 가져온다.GET 부분에 해당 URL을 넣고 이제 인증 키를 입력해야한다. 카카오 open API 문서를 확인해서 인증키를 넣는 방법을 확인한 뒤 다시 Postman에서 인증키 형식대로..

Kotlin/TIL 2024.05.02

Android -GoogleMap 사용 (TIL 05.01)

아주 이전에 naverMap을 사용해서 정리한 적이 있다.  이번 강의에서 googleMap을 사용해서 구글 지도에 현재 위치와 특정위치에 마커를 띄우는 학습을 진행했다. 사용 방법1. gradledependencies { ... implementation ("com.google.android.gms:play-services-maps:18.1.0") implementation ("com.google.android.gms:play-services-location:21.0.1")} 2. manifests//permissions  3. 사용 코드더보기class MainActivity : AppCompatActivity(), OnMapReadyCallback { [1] private lat..

Kotlin/TIL 2024.05.01

SharedPreference (TIL 04.30)

SharedPreference한줄 설명 : 간단한 데이터를 저장할 때 사용하고 데이터는 파일 형태로 저장되고 key-value형식으로 저장된다. 설명은 다 잘 나와있어서 바로 공식문서의 사용법을 보면getSharedPreferences()파일이 여러 개일 경우 사용하고 앱의 모든 Context에서 이 메서드를 호출할 수 있다. 파일 형태와, 모드를 지정한다.    getPreferences()파일을 하나만 사용할 경우 Activity에서 이 메서드를 사용한다. 기본 공유 환경설정 파일을 검색하기 때문에 파일 이름을 제공할 필요가 없다.   사용하기WriteSharedPreferences에서 edit()을 호출하여서 SharedPreferences.Editor를 만든다.putInt() 및 putString..

Kotlin/TIL 2024.04.30

TIL (04.29) - LiveData 실습

Observer PatternLiveData를 공부하기 전에 옵져버 패턴에 대한 이해가 선행되어야 한다.LiveData공식문서를 보면, "LiveData는 관찰자 패턴을 따릅니다. LiveData는 기본 데이터가 변경될 때 Observer 객체에 알립니다."라고 되어있기 때문이다.옵져버 패턴은 디자인 패턴 중 하나로, 감시자들이 한곳을 계속 바라보고 있는 패턴이다. 어떤 이벤트가 일어나면 이벤트를 관찰하던 관찰자들이 바로 반응하는 패턴이다.이런 옵져버 패턴을 가지지 않는다면 이벤트를 체크해야하는 오브젝트들은 이런 이벤트가 발생했는지 계에속 이벤트를 발생 여부를 확인해야 한다.→ 필요없는 리소스 낭비가 발생하고 이벤트 발생 감지를 놓치는 경우 발생→ 하지만 옵져버가 반응하니 바로 이벤트를 감지할 수 있다...

Kotlin/TIL 2024.04.29

TIL (04.23)

RecyclerView item 데이터 수정 dataSource에 데이터 변경 메서드 생성 //dataSource.kt fun updateItem(position: Int,newData:Data){ if(position in 0 until dataList.size){ dataList[position] = newData } } Main에서 Detail로 값 넘기는 부분 //MainFragment.kt //Detail에 선택한 item 데이터 전달 adapter.itemClick = object : DataAdapter.ItemClick { override fun onClick(view: View, position: Int) { val selectedData = dataSource.getDataList()[..

Kotlin/TIL 2024.04.23

TIL (04.22)

Android 주소록 프로젝트 공통 manifests 만약 Permission exists without corresponding hardware tag 이런 오류가 발생한다면 밑에 코드를 추가해줘야한다. 발생 원인 ? 전화 권한을 허용하고 있지만 해당 기능에 대한 하드웨어가 기기에 없기 때문에 발생한다. 앱이 전화 기능을 지원하지 않는 기기에서도 작동할 수 있도록 필요한 경우에따라 위에 코드를 추가한다. 전화걸기 private fun setUpCall() { binding.ivCall.setOnClickListener { binding.tvNumber.text = "01012345678" //

Kotlin/TIL 2024.04.22