Android(11)
-
시뮬레이터! 에뮬레이터?
에뮬레이터 시뮬레이터 차이는!?에뮬레이터(Emulator)와 시뮬레이터(Simulator)는 둘 다 소프트웨어 개발과 테스트에서 사용되는 도구이지만, 작동 방식과 목적에 차이가 있습니다.에뮬레이터 (Emulator):정의: 실제 하드웨어를 소프트웨어적으로 구현하여, 실제 장치와 동일한 방식으로 동작하는 환경을 제공하는 도구입니다.사용 사례: 주로 Android 개발에서 사용됩니다. Android 에뮬레이터는 실제 Android 기기의 CPU, 메모리, 네트워크 등 모든 하드웨어 요소를 소프트웨어적으로 구현하여 테스트할 수 있게 해줍니다.특징: 에뮬레이터는 실제 하드웨어 환경을 소프트웨어적으로 흉내 내기 때문에, 실제 장치와 거의 동일하게 동작하며 더 깊이 있는 테스트가 가능합니다. 하지만 이로 인해 성능..
2024.10.23 -
iOS - AppStorage & SceneStorage (SharedPreferences in Android)
앱을 다시 시작해도 유지되어야 하는 소량의 데이터가 있다. 이것은 앱이 저장을 하고 있어야 가능하다. SwiftUI는 소량의 데이터를 지속적으로 저장을 하기 위한 두 개의 프로퍼티 래퍼가 있다. @SceneStorage 와 @AppStorage 가 있다. @SceneStorage 즉, 화면 저장소는 앱 내의 각 화면마다 데이터의 복사본을 갖는다. 앱 내의 다른 화면에서도 그 데이터에는 접근이 불가능하다. 반면 @AppStorage, 앱 저장소는 앱 전체에서 접근이 가능한 데이터를 저장한다. UserDefaults를 기반으로 구축되었다. UserDefaults는 소량의 데이터를 키-값 쌍(key-values)으로 저장하는 데 사용한다. @SceneStorage 와 @AppStorage 둘 다 Bool, I..
2023.10.31 -
멘토 활동일지 2023.09.19 ~
배화여자대학교 3학년 졸업작품 멘토링! 2023.09.19 20:20 ~ 22:45 (145분) 1. 디스코드 화면 공유를 하면서 프로젝트 기초 세팅 및 깃 설치, 깃허브 연동을 알려줌. - 멘티 pc에 git이 설치되어 있지 않았던 환경이어서 git 설치부터 안드로이드 스튜디오에 깃허브 로그인하여 연동하는 법을 알려주었다. - 스튜디오에서 깃허브 연동을 먼저 시도했었는데 계속 실패여서.. 생각해보니 git이 있는지도 확인을 안했었다..! 2. 안드로이드 스튜디오 버전 업데이트 안내 - 최신버전이 Giraffe 버전인 상태지만 Dolphin 버전을 사용중이어서 스튜디오 업데이트 및 SDK 버전 업데이트를 안내하였다. 3. git 브랜치 생성 및 commit & push 에 대한 간단한 개념설명과 방법을 ..
2023.09.19 -
안드로이드 - ViewPager2
상세페이지로 이동하였을때 Viewpager2로 ImageView를 스와이프하여 보여주도록 하려고 했다. 근데 첫 화면이 계속 비어있는 상태가 되는 문제가 지속되었다. 다음화면으로 넘어갔다와야 로드가 되는 현상이 발생했다. 이 부분을 Chat-GPT에 물어봤다. 똑똑하다! 난 kotlin으로 개발중이기 때문에 아래와 같이 적용하였다. binding.viewpager.offscreenPageLimit = 1 성공!!
2023.04.13 -
안드로이드 - 탭버튼 id 오류
그냥 평범한 탭버튼인데 TabItem에 id를 줬었단 이유로 java.lang.NullPointerException: Missing required view with ID 이런 오류가 발생했었다. TabItem ID 빠이! transaction을 멤버로 선언했을 때는 transaction이 이미 commit되었다는 오류가 발생한다! 이상 오류 기록 완료
2023.04.06 -
안드로이드 - RecyclerView
평범한 그냥 ViewHolder 클래스. 리사이클러뷰는 뷰를 재사용하기 때문에 좋아요 표시를 했던 뷰가, 밑에 재사용되는 뷰에도 좋아요 표시가 눌려있는 오류를 경험했다. 이후에 코드를 고쳐서 문제 해결! @Override public void onBindViewHolder(@NonNull VH holder, int position) { ToiletItem toiletItem = items.get(position); Glide.with(context).load(toiletItem.photo).into(holder.ivImg); holder.tvName.setText(toiletItem.toiletNm); holder.tvAddr.setText(toiletItem.rnAdres); // 다시 뷰가 올라올때 ..
2023.03.07