일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 안드로이드 sunflower
- 막내의 막무가내
- 막내의막무가내 목표 및 회고
- 주택가 잠실새내
- 막내의 막무가내 알고리즘
- 막내의막무가내 코틀린 안드로이드
- 막내의막무가내 프로그래밍
- 부스트코스
- 프래그먼트
- 주엽역 생활맥주
- 막내의막무가내 알고리즘
- 막내의막무가내 안드로이드 에러 해결
- 막내의막무가내
- 막내의막무가내 안드로이드
- 막내의막무가내 rxjava
- 2022년 6월 일상
- 막내의막무가내 플러터 flutter
- 안드로이드 Sunflower 스터디
- 막내의막무가내 SQL
- flutter network call
- 막무가내
- 막내의막무가내 안드로이드 코틀린
- 막내의막무가내 코볼 COBOL
- 막내의막무가내 플러터
- Fragment
- 막내의막무가내 일상
- 프로그래머스 알고리즘
- 안드로이드
- 부스트코스에이스
- 막내의막무가내 코틀린
- Today
- Total
목록안드로이드 (216)
막내의 막무가내 프로그래밍 & 일상
[2021-04-14 업데이트] github.com/mtjin/cnu-notice-app-releaseversion mtjin/cnu-notice-app-releaseversion 충남대 앱 출시버전. Contribute to mtjin/cnu-notice-app-releaseversion development by creating an account on GitHub. github.com 프로젝트 앱 출시로 포스팅을 하는건 처음인 것 같네요.. ㅎㅎ 이전에 Jsoup 크롤링하고 아키텍처 등 실습도 할겸 평소 학과 공지사항을 보기 쉽게보고 즐겨찾기하기 위해 만든 충남대 컴공 공지사항 앱이 개발한 적이 있습니다. 취업 후 3~4일동안 퇴근 후 남는 시간동안 커뮤니티(게시판), 실시간 랜덤닉네임 댓글 기능도..
[2021-04-27 업데이트] [개념(출처) 참고 및 공부자료들] thdev.tech/kotlin/2020/09/22/kotlin_effective_03/ data class를 활용하여 RecyclerView.DiffUtil을 잘 활용하는 방법 | I’m an Android Developer. thdev.tech velog.io/@l2hyunwoo/Android-RecyclerView-DiffUtil-ListAdapter [Kotlin Android] RecyclerView 어댑터의 데이터 빠르게 바꾸기 - ListAdapter와 DiffUtil 사용하기 RecyclerView 2탄! 빠른 데이터 교체를 원한다면 DiffUtil을 주저하지 말고 사용하세요 velog.io developer.android..
[2021-04-14] 이전 프로젝트에서 본인이 사용했던 바인딩 어댑터나 확장함수를 막무가내로 일단 기록해놓는 공간입니다. [2021-01-07] 일단 사용했던 것들 중 몇개만 기록해 놓습니다. [확장함수] 시간변환 관련 확장함수(현재 이전에 개발한 충남대 공지앱을 커뮤니티로 확장 중인 프로젝트에 사용중이다. 캘린더 위주로 시간변환할 예정) ->( convertBoardTime() 같은건 나중에도 개인프로젝트에서 사용할만하다. 1시간 미만은 몇분전 표시 오늘껀 시간:분 그 외에는 날짜와 시간:분을 보여준다.) package com.mtjin.cnunoticeapp.utils.extensions import android.text.format.DateFormat import java.util.* impor..
[2021-04-05 업데이트] [2021.01.07 블로그 포스팅 스터디 여섯 번째 글] 안드로이드 11버전에서 여러 업데이트 사항 중 개인정보 보호 기능을 크게 세 파트로 나눴는데 1. 저장공간(Scoped Storage관련) 2. 권한(Permission) 3. 위치(Location) 입니다. 이 중 저번에는 밑 링크와 같이 1번 저장공간에 대해 알아보았는데 이번 포스팅에서는 2번과 3번 사항에 대해 복습 포스팅을 갖는 시간을 가지려고 합니다. youngest-programming.tistory.com/386 [안드로이드] Scoped Storage(범위지정 저장소) 정리 (Legacy Storage와 차이점 정리) 이전에 안드로이드 11에 대해 공부했던 내용 중 안드로이드 10에서 나온 거지만 1..
지금까지 안드로이드 관련 책은 Do it 안드로이드 프로그래밍 -> 커니의 코틀린 -> 이 책 순으로 샀었습니다. 솔직히 책 한권만 있어도 충분하지만 어쩌다보니 3권이나 사서 보게되었네요. ㅋㅋㅋㅋ Do it : 독서실 알바하며 처음부터 천천히 읽었으나 엄청난 양에 그냥 백과사전 용도로 사용 커니의 코틀린 : 자바와 안드로이드를 배운 후 코틀린도 배울 겸 읽음. 뒤에 MVVM 실습 몇개 빼고 꽤 꼼꼼하게 읽었음 안드로이드 생존코딩 : 그냥 궁금해서 구매했고 처음에 읽다가 시간없어서 까먹고 있다가 며칠전 한번 빠르게 쭉 봄. 이 책도 산지 꽤 된 것 같은데 옛날에 조금 읽고 내버려뒀다가 최근 기본기 공부할겸 빠르게 쑥 훓어 읽어봤습니다. 이에 대해 후기를 남겨보겠습니다. ㅎㅎ 먼저 오준석 개발자 및 강사님..
[2020.12.30 블로그 포스팅 스터디 다섯 번째 글] [스케줄러] : 쉽게 설명하면 어떤 프로그램의 세부 일정(스케줄)을 주관하는 관리자로 생각하면 됩니다. 즉 스케줄러는 스레드를 지정할 수 있게 해주며 단순히 새로운 스레드를 생성해주고 어려운 비동기 흐름 관리를 쉽게 사용할 수 있도록 지원해주는 역할을 합니다. RxJava를 보통 네트워크 통신에 처음 사용해보는 경우가 많습니다. 저 또한 그랬고요. 그리고 자연스럽게 subscribeOn() 과 observeOn() 도 접하게 됩니다. 이 두 함수도 스케줄러를 지정하는 함수인데요. subscribeOn() 함수는 구독자가 Observable에 subscribe() 함수를 호출하여 구독할 때 실행되는 스레드를 지정합니다. observeOn() 함수는..
[2021-04-16 업데이트] [2020.12.22 블로그 포스팅 스터디 네 번째 글] [결합 연산자] : 결합 연산자는 다수의 Observable을 하나로 합치는 방법을 제공합니다. flatMap() , groupBy() 함수 등은 1개의 Observable을 확장해주는 반면 결합 연산자들은 여러 개의 Observable을 내가 원하는 Observable로 결합해줍니다. 1. zip() zip() 함수는 각각의 Observable을 모두 활용해 2개 혹은 그 이상의 Observable을 결합하는데 있습니다. 예를 들어 A, B 두 개의 Observable을 결합한다면 2개의 Observable에서 모두 데이터를 발행해야 결합할 수 있습니다. 그 전까지는 발행을 기다립니다. 위 다이어그램을 보면 두 개..
[2021-04-14 업데이트] [2020.12.16 블로그 포스팅 스터디 3 번째 글] github.com/mtjin/NoMoneyTrip mtjin/NoMoneyTrip [SKT/한국관광공사] 2020 스마트 관광 앱 개발 공모전 '무전여행' 앱. Contribute to mtjin/NoMoneyTrip development by creating an account on GitHub. github.com 이전에 만든 프로젝트에서 시간이 부족해서 거의 다 로컬 데이터베이스는 사용안하고 서버 API(Remote) 에서만 불러오게 구현을 했었습니다. 시간이 날때 조금씩 리펙토링을 하고 있는데 이번에는 빠른 UI 갱신을 위해 로컬캐싱을 추가 구현하던 도중 Room에서 객체필드값을 가진 객체를 저장하는건 처음..
[2021-04-16 업데이트] [2020.12.12 블로그 포스팅 스터디 2 번째 글] [변환 연산자] : 변환 연산자는 만들어진 데이터 흐름을 원하는 대로 변형할 수 있습니다. 대표적인 예로 map()과 flatMap()이 있는데 둘의 차이점은 Observable하게 만드냐 안만드냐 차이가 있습니다. 이번 포스팅에서는 flatMap()과 같은 계열인 함수들에 대해 살펴보려고 합니다. [+] flayMap()은 map()함수를 좀 더 발전시킨 함수로 map() 함수는 원하는 입력값을 어떤 함수에 넣어서 변환할 수 있는 일대일 함수이고 flatMap() 함수는 똑같이 함수에 넣더라도 결과가 Observable로 나온다는 차이점이 있습니다. 또한 flatMap()은 일대다 혹은 일대일 Observable함..
[2021-04.16 업데이트] [2020.12.01 블로그 포스팅 스터디 첫 번째 글] RxJava 의 연산자에 대해 나중에 쉽게 찾고 활용할 수 있도록 간단한 설명과 함께 포스팅을 해보려고 합니다. ㅎㅎ [생성 연산자] : 생성 연산자의 역할은 Observable, Single 등과 같은 데이터 흐름을 만드는 것 입니다. (just(), fromArray(), fromIterable, onNext(), onError(), onComplete() 등이 있는데 이건 제외해서 남기겠습니다.) 1. interval() -> 일정 시간 간격으로 데이터 흐름을 생성합니다. 기본적인 스케줄러는 SchedulerSupport.COMPUTATION으로 계산 스케줄러에서 실행 됩니다. 함수 파라미터로는 (long pe..
[2021-05-16 업데이트] 오랜만에 안드로이드 관련 포스팅입니다. 복습도 할겸 이전에 했던 프로젝트를 보던 중 전화번호 인증 구현에 대해 포스팅을 해보려고합니다. 안드로이드와 코틀린을 요즘 못하고있네요 ㅠㅠ 공식문서를 참고했습니다. firebase.google.com/docs/auth/android/phone-auth?hl=ko Android에서 전화번호로 Firebase에 인증 Firebase 인증을 사용하면 사용자의 전화로 SMS 메시지를 전송하여 로그인하는 것이 가능합니다. 사용자는 SMS 메시지에 포함된 일회용 코드를 사용하여 로그인합니다. 앱에 전화번호 로그인을 추 firebase.google.com 추가로 제가 여기서 구현한 전화번호인증을 구현하려면 이미 파이어베이스 인증이 된 상태여야 ..
[2021-04-14 업데이트] 다른 블로그도 봤는데 제가 생각했던 예외사항들도 있었기 때문에 훗날 또 이런일이 일어나는 경우 삽질을 줄이기 위해 기록합니다. 먼저 저는 키를 계속 번들이 안만들어지자 새로만들기로했다가 기존걸 덮어써서 분실되버리는 상태였습니다. 아ㅏㅏㅏㅏㅏㅏㅏ ㅠㅠ 1. 그러므로 새로 키를 일단 만들자 (분실한 분들이 들어왔을거라 예상하고 자세한 설명은 생략하겠습니다. ㅎㅎ) 2. 명령어를 쳐줘서 pem 파일을 만든다. 이걸 구글에게 보내줘야한다. 예시 keytool -export -rfc -keystore [jks파일경로및파일이름.jks] -alias [키만들떄별칭Alias] -file [pem파일경로및이름.pem] 나같은 경우 밑을 보면 pem은 경로를 따로 설정하지 않아서 D:\ 에..
[2021-05-10 업데이트] youngest-programming.tistory.com/103 [안드로이드] 노티피케이션 FCM 정리 ( 누르면 해당 액티비티와 내용 불러올 수 있도록) 단순 알림을 주고 알림을 누르면 런처액티비티로 이동하는 것은 예전에 해봤으나 알림을 누르면 채팅방이나 게시물로 이동하고 해당 내용들을 보여주게 하는 것은 이번에 처음 해봤다. 그에 대 youngest-programming.tistory.com youngest-programming.tistory.com/76 파이어베이스 노티(notification) FCM 하는 방법 정리 2019 예를들어 카톡알림처럼 내가 누군가에게 채팅을 했을때 상대방에게 알림을 주고싶을 때 즉 , 디바이스에서 디바이스로 알림을 주고 싶은데 하는방법..
[2021-04-16 업데이트] 안녕하세요ㅎㅎ RxJava 책을 복습과 함께 틈틈히 정리하면 더 기억에 남을 것 같아 포스팅을 하게되었습니다. RxJava의 Observable 에는 Cold, Hot 두 종류의 Obsevable이 있습니다. 둘의 큰 차이점은 Cold는 구독하기 전까지 데이터를 방출하지 않는 Lazy한 접근법이고 Hot은 구독자의 존재 여부 관계없이 데이터블 발행하는 Observable입니다. (그래서 데이터를 발행하는 속도와 구독자가 처리하는 속도가 크면 원치않는 문제가 생기기 때문에 배압에 주의해야합니다.) Cold 를 사용하는 예시는 웹 요청, 데이터베이스 쿼리, 파일 읽기가 있습니다. Hot 을 사용하는 예시는 마우스 이벤트, 키보드 이벤트, 시스템 이벤트, 센서 데이터 등이 있습..
[2021-06-04 업데이트] 이전에 안드로이드 11에 대해 공부했던 내용 중 안드로이드 10에서 나온 거지만 11에서도 언급된 범위 지정 저장소(Scoped Storage)에 관련 사항들에 대해 정리해보려합니다. ㅎㅎ 그림과 함께 간단하게 정리하면 다음과 같습니다. 1.Scoped Storage는 안드로이드 10 버전에서 등장했습니다. 2. 내부저장소의 개별 앱 공간은 이전과 동일합니다 (개별앱 공간 공용공간 관련하여는 뒤에서 다룰 예정이니 그림보며 앱의 개인적인 저장공간이구나라고 이해하시면 됩니다) 3. 외부저장소의 개별 앱 공간이 샌드박스 형식으로 격리됩니다. 4. 외부저장소의 공용공간이 사진 및 동영상, 음악, 다운로드 구조로 분리되고 이 안에서 앱 패키지 별로 또 구분되어 저장되게 변했습니다...