본문 바로가기
반응형

안드로이드10

[Android Kotlin] 안드로이드 네이버 지도SDK 사용자 경험 개선 하기 (카메라 이동, 마커찍기) 네이버 지도에 마커들을 찍는 과정에 대해서 사용자 경험을 개선하기 위해  계속 발전시킨 과정에 대하여 정리하였습니다.  마커들을 찍는 과정의 발전 순서의 가장 큰 핵심은 zoom Level고정 값 → LatLng Bounds → zoom Level 유동적인 사용순서로 생각을 해보면서 진행하였으며 사용자 경험을 고려하여 발전 시켰습니다.사용자 경험을 위한 진행 과정zoom Level 고정적 사용마커간의 평균을 계산하여 중간점으로 이동 진행현재 카메라의 위치를 기준으로 가장 가까운 곳으로 이동LatLng Bounds 사용LatLng Bounds를 측정하여 zoom 대신 camera Bounds 사용zoom Level 고정적 사용X현재 카메라를 위치를 고려하여 밀집도와 거리를 계산하여 이동최종 본1-1. 마커.. 2024. 1. 3.
[Android Kotlin] 의존성 주입 Hilt, koin 의존성 주입이란?안드로이드에서 의존성 주입은 객체 지향 프로그래밍에서 사용되는 소프트웨어 디자인 패턴 중 하나 입니다.의존성 주입은 객체가 다른 필요로 하는 객체에 대하여 직접 생성하는 것이 아닌 외부에서 주입을 받게 되는 패턴 입니다.의존성 주입은 주로 세 가지 방식으로 이루어집니다.생성자 주입: 의존성을 객체의 생성자를 통해 주입하는 방식입니다.메서드 주입의존성을 메서드의 매개변수를 통해 주입하는 방식입니다.속성 주입: 의존성을 객체의 프로퍼티나 세터 메서드를 통해 주입하는 방식입니다.의존성 주입을 통해 객체는 직접적으로 자신이 필요로 하는 의존성을 생성하지 않고 외부에서 주입받아 사용합니다.이를 통해 결합도를 낮추고, 유연하고 테스트 가능한 코드를 작성할 수 있습니다.Hilt란 무엇인가?Hilt는 .. 2024. 1. 3.
[Android kotlin] 안드로이드 Flow vs LiveData ViewModel 관리 : Flow vs LiveData LiveDataLifeCycle 인식을 통한 Observer 패턴LiveData는 안드로이드의 라이프사이클을 인식하므로 관련된 구성요소가 활성 상태일때만 데이터가 업데이트 되므로 메모리 누수나 비정상적인 UI 갱신을 방지하는데 도움이 된다데이터가 변경될 때마다 등록된 Observer에게 알림을 보내 UI갱신을 하는 패턴 사용.1. UI와 데이터 상태의 일치 보장2. 메모리 누수 없음3. 중지된 활동으로 인한 비정상 종료 없음4. 수명 주기를 더 이상 수동으로 처리하지 않음5. 최신 데이터 유지6. 적절한 구성 변경 : 기기 회전 혹은 다시 액티비티나 프래그먼트가 생성되면 최신 데이터를 받아옴 7. 리소스 공유Flow코루틴에서 Flow는 단일값을 반.. 2024. 1. 2.
[Android kotlin] 네트워크 메니저로 사용자 경험 개선하기 (Connectivity Manager) 네트워크 설정 공식 레퍼런스https://developer.android.com/training/basics/network-ops/reading-network-state?hl=ko 네트워크 상태 읽기  |  Connectivity  |  Android Developers네트워크 상태 읽기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android에서는 앱이 연결의 동적 변경사항을 학습할 수 있습니다. 다음 클래스를 사용하여developer.android.com 우리는 앱을 사용하다 보면 네트워크의 연결에 대한 알림을 주는 것을 많이 볼 수 있다. 네트워크 연결 상태를 관리하고 모니터링하여보다 사용자에게 편리함을 제공해주고자 이 부분에 대해서 공략을 해보고자 하였습니다. .. 2024. 1. 2.
네이버 부스트캠프 안드로이드 지원 합격 후기 안녕하세요 말린밴댕이 입니다. 이번에 소프트웨어 교육 프로그램(캠프)인 네이버 부스트캠프에 합격하게 되어 지원절차, 그리고 어떻게 합격하였는지에 대해서 간략하게 소개해 드리려 합니다. 아직 생각해봐도 운이 좋아서 합격을 했다고는 생각합니다만 그래도 붙었으니 신기할 따름이네요.. 이제 학교도 이번학기에 졸업을 하고 취준과 스펙준비에 가름길에 서있었을때 때마침 눈에 들어온 네이버부스트캠프가 눈에 띄어 합격하면 스펙준비를 하고 떨어지면 취준을 하자는 마인드로 임했습니다. 그럼 서론은 그만하고 네이버부스트캠프 소개, 서류접수, 코딩테스트, 지원절차에 대해 소개해보도록 하겠습니다. 네이버 부스트캠프란?네이버 부스트캠프는 소프트웨어 개발 역량을 키우고자 하는 청년들을 대상으로 교육 프로그램을 제공하는 기관입니다. .. 2023. 7. 4.
[코틀린] 안드로이드 리사이클러뷰 특정뷰(아이템) 클릭 뷰홀더에서 클릭시 로그를 찍어봤을때 adapterposition이 나오게 되는것을 확인할 수 있다. 그렇다는것은 이미지도 여기서 설정을 해줄 수 있지 않을까 생각한다. 그리고 다음에 혹시 뭐 즐겨찾기 추가를 했을때 그에 대해서 서버에 통신을 보내주면서 추가를 해주는것도 앞으로 가능하다고 생각한다. class RestaurantAdapter(var restaurantList: List) : RecyclerView.Adapter(){ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RestaurantViewHolder { val binding = RestaurantListBinding.inflate(LayoutInflater.from(p.. 2022. 12. 29.
[코틀린] 안드로이드 sharedpreferences 개념 및 활용 예제 SharedPreferences란? DB에 저장해야할 정도의 데이터의 양이 많으것이 아닌 간단한 설정값이나 문자열과 같은것을 저장하기 위해 DB의 사용이 부담될때 SharedPreferences를 사용하는것이 적합함 SharedPreferences의 특징 초기 설정값이나 자동 로그인 여부 등 간단한 값을 DB에 넣지 않고 저장하기 위해 사용 key-value방식을 사용 저장 경로: data/data/패키지명/shared_prefs/SharedPreference명.xml 에 저장. MainActivity.kt class MainActivity : AppCompatActivity() { val binding by lazy {ActivityMainBinding.inflate(layoutInflater)} ov.. 2022. 12. 3.
Android Palette Component 정리 4. Helpers, Google, Legacy Helpers - Group 참조된 위젯 세트의 가시성을 제어합니다. 위젯세트를 쉽게 숨기거나 표시할 수 있는 편리한 방법 , 여러 그룹이 동일한 위젯을 참조할수 있으므로 이 경우에는 XML 선언의 순서가 최정 가시성 상태를 정의 - Barrier (Horizontal) , Barrier (Vertical) 여러 위젯을 입력으로 참조하여 지정된 측면에서 가장 극단적인 위젯을 기반으로 가상 가이드 라인을 생성합니다. 양쪽의 참조된 모든 뷰의 정렬이 됩니다. Barrier (Horizontal) -> end일때 -> start 일때 똑같은 원리로 vertical도 작동 - Flow 기존에 Chain과 유사하게 수평 또는 수직으로 배치를 할 수 있게 해줍니다. - Guideline (Horizontal) ,G.. 2022. 11. 22.
Android Palette Component 정리 3. Layouts 1. ConstraintLayout 여러 제약 조건을 통해 레이아웃을 배치하는 방식. ViewGroup 유연한 방식으로 위젯을 배치하고 크기를 조정이 가능하다. 화면의 크기가 각기 다른 요즘 시대에 가장 많이 사용하고 있는 레이아웃 중 하나. 기능 - 상대적 포지셔닝 ex) button 의 layout_constraintLeft_toRightOF=”@+id/buttonA” - 상대적 포지셔닝 제약 ex) layout_constraint방향(Left,Right, Top Bottom…)_to방향Of - 상대 위치 지정 여백(margin) ex)android:layout_margin방향 → 여백은 양수이거나 0일수만 있음 - 센터링 포지셔닝 app:layout_constraintLeft_toLeftOf="pa.. 2022. 11. 22.
Android Palette Component 정리 2. Widgets 안드로이드 팔레트 위젯 정리 1. View 다른 위젯들의 기본적인 클래스이고 이를 이용하여 자유롭게 커스텀하여 사용할 수 있음 2. ImageView View의 속성을 상속받아 이미지를 화면에 표시하고 일반적으로 이미지에 색조를 적용하고 이미지 크기 조정을 처리하는데 사용한다. 3. WebView View의 속성을 상속받아 웹 URL이 연결된 화면을 표시함 4.VideoView View의 속성을 상속받아 비디오 파일을 표시함 5.CalenderView View의 속성을 상속받아 달력을 표시함 6. ProgressBar , ProgressBar(Horizontal) ProgressBar → 어떠한 동작에 대해서 얼마나 걸릴지 모를때 사용을 함, 얼마나 걸리는지에 대한 구체적인 값을 표시하지 않아 버퍼링과 .. 2022. 11. 21.
반응형