[ 개발공부/일지 ][Android] 개발공부 71번째 TIL - Manifest , AppBundle vs APK2024-03-21 12:08:19일자 : 2024.03.21 📝TIL 정리 📌매니페스트(manifest)는 무엇일까? 안드로이드 매니페스트는 안드로이드 앱의 구성 요소, 권한, API 레벨 등을 정의하는 XML 형식의 파일이다. 앱 설치 시 안드로이드 시스템은 매니페스트 파일을 읽어 앱에 대한 정보를 얻고 실행 방식을 결정한다. 매니페스트 파일의 주요 역할: 앱 구성 요소 정의: 액티비티, 서비스, 브로드캐스트 리시버, 콘텐츠 프로바이더 등 앱을 구성하는 요소들을 선언한다. 권한 설정: 앱이 사용하는 권한들을 선언하여 사용자에게 알리고 허가를 받는다. API 레벨 설정: 앱이 실행하는데 필요한 최소 API 레벨을 선언하여 호환 가능한 기기를 정의한다. 앱 정보 제공: 앱 이름, 버전, 개발자 정보 등을 제공한다. 매니페스트 파일의 주요..
[ 개발공부/일지 ][Android]개발공부 70번째 TIL - dependencies(자주 사용한 의존성추가 모음)2024-03-18 17:39:53일자 : 2024.03.18 📝TIL 정리 💬dependencies(자주 사용한 의존성추가 모음) dependencies { // glide implementation ("com.github.bumptech.glide:glide:4.16.0") annotationProcessor ("com.github.bumptech.glide:compiler:4.16.0") // glide blur transformation implementation ("jp.wasabeef:glide-transformations:4.3.0") implementation ("jp.co.cyberagent.android:gpuimage:2.1.0") // navigation implementation("androidx.navigatio..
[ 개발공부/일지 ][Android] 개발공부 69번째 TIL - 단말의 네트워크 상태 확인(ConnetivityManager)2024-03-14 12:59:28일자 : 2024.03.14 📝TIL 정리 💡네트워크 상태 확인(NetWork) 메인액티비티에서 사용자 폰의 네트워크 연결상태가 미연결이라면 API 통신중의 스켈레톤 화면만 계속 보이게 되었다 그래서 막연하게 그런 화면을 보여주기보다 현재 미연결 상태를 창으로 안내해주고 확인 버튼을 클릭했을 때 와이파이 창으로 이동하게 하면 조금 더 편의성을 제공해주지 않을까 해서 관려 내용을 찾아보고 적용했다. 네트워크 상태 읽기 | Connectivity | Android Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 네트워크 상태 읽기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android에서는 앱이 연결의 동적 변 develop..
[ 개발공부/일지 ][Android] 개발공부 68번째 TIL - Naver Map 범위제한(카메라 줌), 마커 원위치2024-03-14 09:33:51일자 : 2024.03.14 📝TIL 정리 💡네이버 맵 줌 제한 네이버 맵 API 활용하여 공연장 시설 위도 경도를 받아서 맵을 보여주도록 했다. 카메라 이동 및 줌 관련해서 테스트 하다 줌 아웃을 계속하게되면 전세계 지도까지 보이게 되는데, 굳이 그렇게 할 필요가 있을까해서 찾아보니 제한을 둘 수 있었다. 범위 제한은 대한민국을 기준으로 했다. 제한 코드는 minZoom만 적혀있지만 maxZoom으로도 줌인의 제한을 둘수있다. override fun onMapReady(naverMap: NaverMap) { viewModel.locationList.observe(viewLifecycleOwner) { locations -> locations?.forEach { location -> val latitud..
[ 개발공부/일지 ][Android] 개발공부 67번째 TIL - Naver Map 뷰페이저 중첩 에러2024-03-12 21:33:23일자 : 2024.03.12 📝TIL 정리 ⛔Naver Map 과 viewPager의 가로 스크롤 중첩 문제 발생 [Android] 개발공부 66번째 TIL - Naver Map 사용하기 일자 : 2024.03.12 📝TIL 정리 💡네이버 콘솔 개발자 등록 네이버 개발자 계정을 가입 가입 후 콘솔 대시보드에서 좌측 하단 'Application'클릭 창에서 상단 +Application 등록 클릭 후 사용하고자하는 서 long-study.tistory.com 앞선 글에서 네이버 맵을 적용했고, 잘되었다. 하지만, 뷰페이저의 가로스크롤에 터치 이벤트가 전달되어서 네이버 맵 가로스크롤이 동작하지 않게 되었고, 그 해결과정을 작성해본다. 문제 발생 뷰페이저2 에 속하는 프래그먼트의 네이버 맵 가로 스크롤 중첩 문..
[ 개발공부/일지 ][Android] 개발공부 66번째 TIL - Naver Map 사용하기2024-03-12 15:34:25일자 : 2024.03.12 📝TIL 정리 💡네이버 콘솔 개발자 등록 네이버 개발자 계정을 가입 가입 후 콘솔 대시보드에서 좌측 하단 'Application'클릭 창에서 상단 +Application 등록 클릭 후 사용하고자하는 서비스 선택하고 안드로이드 인 경우 패키지 명을 제대로 기입 하면 된다. 💡안드로이드 스튜디오에서 Naver Map 사용 의존성 추가 build.gradle (module) // Naver Map implementation("com.naver.maps:map-sdk:3.17.0") setting.gradle dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repo..
[ 개발공부/일지 ][Android] 개발공부 65번째 TIL - 스켈레톤 구현 (skeleton, loading)2024-03-06 21:05:45일자 : 2024.03.06 📝TIL 정리 💡Skeleton(스켈레톤) API를 활용하여 서버로부터 데이터를 수신하는데 시간이 걸릴때가 많다. 무작정 올때까지 아무런 화면을 보여주지 않는다면 사용자 입장에서는 의아해할 수 있기 때문에 현재 로딩중이라는 사실을 시각적으로 보여줘야한다.(시선강탈, 시간벌기) 원래는 일반 로딩progressbar를 활용하여 만들었지만, 같이 공부하는 팀원이 사용한 스켈레톤으로 통일하자고 하여서 이번에 간단하게 사용해봤다. Gradle 의존성에 라이브러리를 하나 추가한다 // shimmer implementation("com.facebook.shimmer:shimmer:0.5.0") 그리고, 일반 프로그레스바 처럼 XML 레이아웃을 만드는데 대신 로딩하려는 화면 크기와 동일하게..
[ 개발공부/일지 ][Android] 개발공부 64번째 TIL - progressbar2024-02-28 18:01:50일자 : 2024.02.28 📝TIL 정리 💡progressBar 사용해보기 먼저 프로그레스 바를 사용할 곳의 xml에서 만든다 본인 같은 경우 fragment에서 서버로부터 공연 정보를 받아올때 통신 시간이 있어서 그부분에서 로딩을 보여주기 위해서 만들었다. 프로그레스바 색상 디자인 Drawable 폴더에 만든다. 그리고 로딩중인지 아닌지는 뷰모델에서 Boolean 타입의 변수를 만들고 그것을 구독하도록한다. class SearchViewModel : ViewModel() { ... private val _isLoading = MutableLiveData() val isLoading: LiveData get() = _isLoading ... fun fetchSearchResult(search: Stri..
[ 개발공부/일지 ][Android] 개발공부 63일차 TIL2024-02-19 16:54:36일자 : 2024.02.19 📝TIL 정리 📖금일 회고 상태:😫 회고: 최종 프로젝트를 위해서 팀원들과 기획안을 짜는데 정말 아이디어를 내기 쉽지 않았다 기존의 어플들을 찾아보고 각 어떤 기능을 제공해주고, 정보를 제공해주는지.. 비슷한 앱이 있다면 어떠한 차별점을 우리가 줄 수 있는지 여러가지 고민해보고 확인해보고 기획해야지 기본적으로 방향을 정하고 나아갈 수 있다는생각이 들었다. 하루만에 완벽한 기획을 짤 수 없으니 좀 더 찾아보고 좋은 방향으로 갈 수 있도록 힘내야겠다
[ 개발공부/일지 ][Android] 개발공부 62일차 TIL - API 통신 에러 (DTO 문제)2024-02-16 11:54:39일자 : 2024.02.16 📝TIL 정리 ⛔API 호출시 DTO를 잘 만들자 서버 통신 SocketTimeoutException 에러, java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING 에러 전날 공공데이터에서 찾은 OPEN API를 통해 직접 서버로부터 전기차 충전소에 대한 정보들을 받기 위해 기본적인 Retrofit 사용법을 그대로 적용하여 데이터를 받도록 하였다. API HomeFragment class HomeFragment : Fragment() { private var _binding : FragmentHomeBinding? = null private val binding get() = _binding!! privat..
[ 개발공부/일지 ][Android] 개발공부 61일차 TIL - 서버 통신 시 SocketTimeoutException 에러, java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING 에러2024-02-15 16:35:21일자 : 2024.02.15 📝TIL 정리 ⛔서버 통신 시 SocketTimeoutException 에러 api를 통해서 서버에서 데이터를 받아오는데 위와 같이 에러가 났을 경우 통신 제한시간이 짧기 때문이기에 3줄정도의 코드를 추가하고 제한 시간을 넉넉히 주면 된다. object ChargerApiInstance { val gson : Gson = GsonBuilder().setLenient().create() // Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $ private val okHttpClient : OkHttpClient by lazy { OkHttpClient.Builder() .conne..
[ 개발공부/일지 ][Android] 개발공부 60일차 TIL2024-02-14 20:16:36일자 : 2024.02.14 📝TIL 정리 📖금일 회고 상태:😫 회고: 오후부터 서서히 몸이 약해지더니 지금 계속 식은땀이 난다.. 몸상태가 갑자기 안좋아져서 오늘은 좀 공부와 과제 마지막에 집중을 하지 못했다. 과제같은 경우, 마지막으로 유튜브 api에서 받아온 데이터를 띄우고 클릭했을 때 상세화면으로 전환된 상태에서 좋아요 누르면 마이 비디오 목록에 띄워준다. 그 상태에서 shared로 저장하여 앱을 재실행 했을 때 불러와서 이전에 마이비디오 담긴 목록이 보이도록 하는것인데 livedata를 직접 수정하는 함수에서 저장하고 불러오는 코드를 작성해야지 문제없이 구현되는것을 알게되었다. 피곤하다.. 오늘은 중간중간 계속 졸아서 뭐랄까 하루를 버리게 된거 같다