본문 바로가기

Android

[flow] coroutine flow 문서 읽기 -1 안녕하세요 남갯입니다. 오늘은 Coroutine flow 문서를 읽어볼 예정입니다. https://developer.android.com/kotlin/flow?hl=ko Flow란? flow는 기존 단일값만 반환하는 정지함수와는 달리 여러값을 순차적으로 보낼수 있는 유형입니다. 기존 Rx를 사용해보셨다면 비슷한 개념으로 이해할 수 있을것 같은데요. 코루틴기반으로 빌드되며, 여러값을 제공할 수 있는 데이터스트림의 개념입니다. Flow의 데이터 스트림 Flow의 데이터 스트림에는 3가지의 항목이 존재합니다. 1. 생산자 : 스트림에 추가되는 데이터를 생산합니다. 코루틴 덕분에 흐름을 비동기적으로 데이터가 생산 가능 2. 중개자(선택사항) : 스트림에 내보내는 값을 수정 가능 3. 소비자 : 스트림에서 받아온..
[안드로이드] - Compose 문서 읽어보기 -1 안녕하세요 남갯입니다 오늘은 Compose 문서 읽어보면서 내용을 정리 해보려고 합니다. https://developer.android.com/jetpack/compose/state?hl=ko 명령형 선언형의 차이 선언형 ViewB( color : red, child: viewC() ) 명령형 View = b = new View() b.setColor(Red) b.clearChildren() ViewC c3 = new ViewC() b.add(c3) 명령형에서 findViewById를 통해 트리를 탐색하고 뷰를 가져와서 setText() , addChild등과 같이 메서드를 호출해서 노드를 변경하게 되는데, 뷰를 수동으로 조작하게 되면 오류가 발생할 가능성이 커지고 여러 데이터를 표시하는경우 뷰를 업데이..
[안드로이드] hilt code-lab 안녕하세요 남갯입니다. 오늘은 hilt code lab 에 대해 공부한것을 정리해보도록 하겠습니다. 힐트는 기존 Dagger(단검)가 사용하기 복잡하여 많은 사용자들이 사용을 못하고 있는부분을 Hilt(단검 손잡이) 더 쉽게 사용하도록 만들어주는 라이브러리입니다. 대부분 ServiceLocater 패턴을 통해 런타임에 생성해서 주입하거나 Koin을 이용하거나, 혹은 Dagger를 이용하겠지만 Hilt를 이용하면 Dagger를 더 쉽게 이용 가능합니다. developer.android.com/codelabs/android-hilt?hl=ko#1 Using Hilt in your Android app | Android 개발자 | Android Developers In this codelab, you'll b..
[안드로이드] Clean Architecture 소개 안녕하세요 YTS 입니다. 오늘은 많이 부족하지만 Clean Architecture라는 주제를 가지고 글을 한번 적으려고 합니다. Clean Code! 우선 Clean Code란 무엇일까? 결국 원작자의 의도가 무엇이며 코드를 볼 때 얼마나 가독성이 좋은지에 대한 여부가 가장 중요하다고 생각합니다. 즉 같이 협업하는 팀원들이 이해하기 쉽게 작성하는 코드인 것 이죠. Clean Code에 정리는 아래의 주소로 이동하시면 남갯이 잘 정리해놨습니다. 순서대로 잘 참고하시면 될것같아요! https://namget.tistory.com/entry/%ED%81%B4%EB%A6%B0%EC%BD%94%EB%93%9C-2%EC%9E%A5-%EC%9D%98%EB%AF%B8-%EC%9E%88%EB%8A%94-%EC%9..
[안드로이드] 안드로이드 Release에서 Log 찍는법 안녕하세요 YTS 입니다. 오늘은 Android App에서 Release를 추출하고도 Log가 찍히는법을 알아보겠습니다! 정말정말 간단합니다! app gradle에 buildTypes { release { debuggable true } } 요렇게 buildTypes안에 release안에 dubuggable true 하나 입력하면 끝입니다! 이상입니다 : )
[안드로이드] AlarmManager With Notification Example (알람매니저를 이용하여 푸쉬생성 예제) 안녕하세요 YTS 입니다. 오늘은 알람매니저(AlarmManager)를 이용하여 푸쉬(Notification)를 생성하는 예저를 다루어볼까합니다. 추가적으로 JobScheduler를 이용하여 백그라운드에서도 반응하도록 예제를 제작하였습니다. 우선적으로 사전지식이 필요한 JobScheduler는 안드로이드 API LEVEL 21부터 등장하였고, Android에서는 기존 무분별한 백그라운드 서비스를 제한하기위하여 JobScheduler로 대체를 하고있습니다. 저는 JobScheduler를 보다 쉽게 사용하기위해서 FireBase Jobdispatcher를 이용하였습니다. 보다 자세한 정보는 https://github.com/firebase/firebase-jobdispatcher-android 에서 확인할 ..
[안드로이드]Android Bottom App Bar 사용하기 안녕하세요 남갯입니다 오늘은 안드로이드 Material Components 2.0 중 하나로 소개된 BottomAppBar 에 대해 소개해보려고합니다. -Bottom App Bar 란한손으로 사용이 용이하게끔 네비게이션 메뉴와 다양한 옵션들을 하단으로 내린 스타일을 말합니다. 네비게이션 바와 플로팅 버튼이 밑에 존재합니다. - Bottom App Bar를 구현하기위한 사전조건 Bottom App Bar를 사용하기 위해선 두가지의 조건중에 하나를 만족시켜야합니다 1. Manifest에 Widget.MaterialComponents의 스타일을 만들어 적용 2. Bottom App Bar 내에 아래의 스타일을 적용 style=”@style/Widget.MaterialComponents.BottomAppBar”..
[안드로이드] MPAndroidChart LineChart 속성 정리 (Example) 안녕하세요 YTS 입니다.오늘은 Chart 라이브러리의 끝판왕 MPAndroidChart 속성에 대해 적어보려합니다. 사실은 자꾸 할때마다 속성을 잃어버려서요.... ㅎㅎㅎㅎ 우선 https://github.com/PhilJay/MPAndroidChart 여기서 소스를 받으실수 있습니다. 사용법은 정말 간단하면서도 헷갈리네요! 1. XML2. JAVAprivate void setChart(List records) { LineChart lineChart = binding.lineChart; lineChart.invalidate(); //차트 초기화 작업 lineChart.clear(); ArrayList values = new ArrayList();//차트 데이터 셋에 담겨질 데이터 for (Record ..