분류 전체보기(480)
-
341일차 - Android Paging3 (3)
vm.awardPagingData.observe(viewLifecycleOwner, { data -> lifecycleScope.launch { data.collectLatest { awardAdapter.submitData(it) } } }) vm.certificationPagingData.observe(viewLifecycleOwner, { data -> lifecycleScope.launch { data.collectLatest { certificationAdapter.submitData(it) } } }) vm.volunteerPagingData.observe(viewLifecycleOwner, { data -> lifecycleScope.launch { data.collectLatest { vo..
2021.12.11 -
340일차 - Android Paging3 (2) 2021.12.10
-
339일차 - Android Paging3 (1)
https://developer.android.com/topic/libraries/architecture/paging/v3-paged-data?hl=ko 페이징된 데이터 로드 및 표시 | Android 개발자 | Android Developers 페이징된 데이터 로드 및 표시 Paging 라이브러리는 대규모 데이터 세트에서 페이징된 데이터를 로드하고 표시하는 강력한 기능을 제공합니다. 이 가이드에서는 Paging 라이브러리를 사용하여 네 developer.android.com 최신 기술이라 그런지 자료가 많이 없다. 현재 계속 시도하는 중이며 내일까지 트라이해볼 예정이다. 페이징3를 사용하면 자동으로 데이터를 관리해준다. 이를 통해 어댑터를 만들면 따른 추가적인 관리 필요없이 알아서 관리해준다.
2021.12.09 -
338일차 - 간단한 일기
이번에 팀 프로젝트를 진행하면서 팀원이 1명 빠지게되면서 각자 얘기를 나눴다. 연말에 다들 바빠지니 프로젝트에 대한 열정이 식어가는 것 같다. 결론만 말하자면 팀 프로젝트는 해체하기로 했다. 사실 개인적으로는 불만이 많다. 다만, 속으로 삼키는게 좋다는 생각이 들었다. 그래도 이번에 프로젝트를 진행하면서 깨달은 것은 기획과 디자인의 중요성이다. 내가 혼자하는 개발은 내 머릿속에 있는 것들을 구현하면 되니 어렵지 않지만, 협업을 하기위해 기획과 디자인을 해보니 정말 쉽지 않고 중요하다는 것을 알았다. 당분간은 휴식기를 가지면서 하고싶은 개발을 천천히 해보려고 한다. 다음 팀 프로젝트도 천천히 준비해보려고한다. 기획은 틈틈히 만들어두고 이를 통해 간단한 면접이라도보고 멤버들을 구성해보려고한다. 외주, 팀프로..
2021.12.08 -
337일차 - Custom Tap Layout (2) 2021.12.07
-
336일차 - Custom Tap Layout (1) 2021.12.06
-
335일차 - IT 영단어 기획서 V.1.1
기획.. 어렵다.. https://drive.google.com/file/d/1c6pz7PZfxqFsQKbZg5KzIuYFUjevBIdn/view?usp=sharing IT영단어 기획서_v1.1.pdf drive.google.com
2021.12.05 -
334일차 - 간단한 일기
현재의 나는 정말 바쁜 하루하루를 보내고 있다. 오전 6시 50분에 일어나서 씻고 준비해서 출근. 오후 6시 ~ 8시에 퇴근. 7시 30분 ~ 9시 30분쯤 집 도착. 밥먹고 씻으면 9시 ~ 11시. 유튜브 보면서 1시간 휴식. IT 관련 영상 30분 ~ 1시간 시청. 30분동안 안드로이드 관련 글 읽기. 자기 전, 30분정도 팀 프로젝트 구상 위의 일정을 거의 매일 반복중이다. 여기에 곁들어서 연애 + 전세집 찾아보고 블로그 글까지 쓰려니 물리적 시간이 너무 부족했다. 최근 2주 동안은 블로그 글을 쉬엄쉬엄 썼더니 삶이 좀 여유로워졌다. 언제부턴가 편하게 적던 블로그가 의무가 되었던 것 같다. 앞으로도 쉬엄쉬엄 간단하게 쓰되 꾸준하게 쓰는 것을 목표로 두려고 한다. 이번에 직장 근처에 전세집을 구했다...
2021.12.04 -
333일차 - 프레그먼트 화면 전환
간단하게 화면 전환이 필요할 때, LiveData를 사용하면 간편하다. 우선 ViewModel을 만든다. 싱글톤 패턴을 사용해서 screenStatus 값을 메모리에 유지시킨다. 이게 끝이다. 최근들어 코드를 예쁘고 간결하게 작성하는 것에 재미를 붙였는데, 아직 좀 더 예쁘게 가꿀만한 부분들이 보인다. MainActivity에서는 ViewModel의 screenStatus를 옵저빙한다. 즉, 값을 계속 관찰하고 있다가 해당 값에 변경이 있는 시점에 라이프사이클에 맞춰 안에있는 로직을 실행한다. 로직은 간단한 프레그먼트 전환 기능을 담고있다.
2021.12.03 -
332일차 - Custom BottomNavigaion (2)
완성했다. 간단하게 XML로 사용하면서 가장 필요한 기능인 어느 화면으로 전환할지에 대한 액션 값을 받아오게끔 했다. package navigation import android.content.Context import android.content.res.ColorStateList import android.content.res.Resources import android.content.res.XmlResourceParser import android.graphics.Color import android.util.AttributeSet import android.view.Gravity import android.view.View import android.wi..
2021.12.02 -
331일차 - Custom BottomNavgation (1)
앞으로 개발할 때, 매 번 바텀 네비게이션을 새로 만들어주는데, 대부분 같은 모양이니 간편하게 쓰기 위해 만들고있다. package navigation import android.content.Context import android.content.res.Resources import android.util.AttributeSet import android.view.Gravity import android.view.View import android.view.ViewGroup import android.widget.LinearLayout import androidx.core.view.children import com.kwon.mywidgetcolle..
2021.12.01 -
330일차 - 구글 클라우드 플랫폼에서 인보이스가 날라왔다
갑자기 카드에 결제 내역이 날라와서 깜짝 놀랐다. 도대체 언제 요금이 발생한건지 찾아봤더니 11월 중순에 구글 TTS를 테스트했었는데 그 때, 반복문을 잘못돌려서 하루만에 3만원이라는 요금이 발생했다. 다행히 그 이상으로는 구글이 이상하다고 판별해서 막았는데, 조금 아찔했다. 앞으로는 정말 조심히 사용해야겠다. 후...;;
2021.11.30 -
329일차 - IT 영단어 기획서 V1.0
https://drive.google.com/file/d/1VEPRSY9x-13nbZ6xhKVmd7j7z_qeV-KH/view?usp=sharing IT영단어 기획서_v1.0.pdf drive.google.com
2021.11.29 -
328일차 - 휴식
328일동안 글을 썼다. 중간에 몇 달을 쉬기도 했지만 꾸준히 달렸다. 이번에 팀 프로젝트에서 기획을 맡게 되면서 당분간은 머리도 식히고 생각도 정리할겸 휴식을 취해보려고 한다. 적당히 쉬었다고 생각이 들면 다시 복귀할 예정이다. 글을 매일매일 쓰다보니까 어느 순간부터 일상이 되었다. 하지만, 글을 쓰지 않은 날에는 스트레스와 불안감을 느낀다. 당분간은 쉬면서 압박감을 내려놓고 편하게 글을 써보려고한다. 매일매일 꾸준히 글을 쓰는건 1000일차까지가 목표이다. 그때까지 지치지않으려면 지금부터 멘탈관리를 잘 해둬야겠다는 생각이 많이 들었다. 1000일 이후에는 유튜브를 해보고싶다. 기획부터 앱 출시까지 모든 과정을 담아보고 싶다. 천천히 꾸준하게 노력하자. 항상 멀리 내다보자. 10년 20년뒤에도 도움이 ..
2021.11.22 -
327일차 - IT 영단어 앱 : 퀴즈
import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.LinearLayoutManager import com.kwon.it_word.R import com.kwon.it_word.adapter.QuizAdapter import com.kwon.it_word.data.QuizData import com.kwon.it_word.view.QuizDataVM import kotlinx.android.synthetic.main.fra..
2021.11.21 -
326 일차 - IT 영단어 앱 : 홈 화면
import android.os.Bundle import androidx.fragment.app.Fragment import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import com.kwon.it_word.R class HomeFragment : Fragment() { companion object { fun newInstance() { } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) } override fun onCreateView(inflater: LayoutInflater, ..
2021.11.20 -
325일차 - IT 영단어 앱 : Bottom Navigation
https://github.com/KwonGeneral/it_word.git GitHub - KwonGeneral/it_word: IT영단어 IT영단어. Contribute to KwonGeneral/it_word development by creating an account on GitHub. github.com class MainActivity : BaseActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val ..
2021.11.19 -
324일차 - 찰스 안드로이드 링크 모음
Notifycation Alarm Sound 문제 https://www.charlezz.com/?p=69 애니메이션 파일은 json으로 가능 https://www.charlezz.com/?p=81 RXJava https://www.charlezz.com/?p=189 https://www.charlezz.com/?p=299 테스트 더블 https://www.charlezz.com/?p=167 ViewModel https://www.charlezz.com/?p=365 안드로이드 단위 테스트 https://www.charlezz.com/?p=170 디버깅 유용. 클래스 및 프로퍼티 찾는 메소드 https://www.charlezz.com/?p=756 코린(koin) https://www.charlezz.com..
2021.11.18 -
323일차 - IT 영단어 앱 : Local DB & Shared DB
https://github.com/KwonGeneral/it_word.git GitHub - KwonGeneral/it_word: IT영단어 IT영단어. Contribute to KwonGeneral/it_word development by creating an account on GitHub. github.com 아직 퀴즈 디자인을 다 잡지 못해서 DB 관련 설정만 올린다. 오늘은 여기까지~!
2021.11.17 -
322일차 - IT 영단어 앱 : FCM Token & Firebase Store & Fragment 화면 전환
https://github.com/KwonGeneral/it_word.git GitHub - KwonGeneral/it_word: IT영단어 IT영단어. Contribute to KwonGeneral/it_word development by creating an account on GitHub. github.com 인증은 사용하지 않을 예정이다. FCM 토큰만 저장할 예정이기 때문이다. 값을 매번 초기화를 시켜야해서 싱글톤은 사용하지 않았다. FCM 저장 여부를 확인한 후에 없으면 생성, 있으면 리턴을 하게 했는데 로컬 DB에서는 확인이 불가능해서 FireBase에서 순차조회로 확인한다. 이 부분..
2021.11.16 -
321일차 - IT 영단어 앱 간단한 구조 잡아놓기
https://github.com/KwonGeneral/it_word.git GitHub - KwonGeneral/it_word: IT영단어 IT영단어. Contribute to KwonGeneral/it_word development by creating an account on GitHub. github.com 간단한 구조를 잡아봤다. 기존에 작업하던 KotlinQuiz 구조와 지금 하고 있는 프로젝트의 구조를 어느정도 따라해봤다. widget 패키지에는 커스텀 위젯이나 프레그먼트를 담고 contain 패키지에는 STATIC한 소스들을 담을 예정이다. 차근차근 소스코드를 푸시 할 예정이다. 우선, 지금 개발하다가 중간에 블로그에 글을 적는건데 문제 출제하는 프레그먼트 화면 디자인을 ..
2021.11.15 -
320일차 - 코틀린 Xml Style & Custom Widget
RelativeLayout을 커스텀하고 EditText를 Style로 관리했다. 이 Style을 통해 EditText의 속성을 정의할 수 있다. 위의 Attrs는 언제 쓰일까? 바로 특정 기능을 커스텀하고 싶을 때 쓴다. 예를 들어, 체크박스 기능에서 사용자가 클릭하는 기능은 제거하고 특정 값에 따라서 활성, 비활성화만 하고 싶다면 커스텀을 해야한다. 나는 RelativeLayout을 커스텀하기 위해서 Attrs를 사용했다. 이유는 없고, 연습을 위해서이다. Attrs를 사용하는 위치는 아래와 같다. 나는 이 status라는 attr를 가지고 커스텀을 해 볼 예정이다. 어찌저찌 쓰기는 했다. on..
2021.11.14 -
319일차 - RxJava & RxKotlin & Retrofit2
https://github.com/KwonGeneral/new_mbti_commnunity.git GitHub - KwonGeneral/new_mbti_commnunity: 레거시 코드 개편 레거시 코드 개편. Contribute to KwonGeneral/new_mbti_commnunity development by creating an account on GitHub. github.com RxJava의 장점은 API 통신 중간중간 후킹을 할 수 있다는 점이다. 다만, 아직까지는 이러한 부분이 언제 쓰이는게 좋은건지 직접 겪어보지 않아서 와닿지가 않는다. 또한, 사용법도 제대로 숙지가 안되서 아직까지는 자연스럽게 쓰질 못한다. 최대한 많이 써보고 연습해서 감을 잡아야할 것 같다. 이번..
2021.11.13 -
318일차 - MBTI 앱 레거시 코드 개편
https://github.com/KwonGeneral/new_mbti_commnunity.git GitHub - KwonGeneral/new_mbti_commnunity: 레거시 코드 개편 레거시 코드 개편. Contribute to KwonGeneral/new_mbti_commnunity development by creating an account on GitHub. github.com 현재 회원가입, 로그인 페이지의 코드를 최대한 간소화해봤다. 아직까지는 패키지를 나누는게 꽤 어색하고 힘들다. 그 전까지는 페이지별로 정리했는데, 지금은 최대한 기능별로 모으려고 한다. 그래서 현재 모양이 좀 많이 이상한데, 최대한 많은 코드들을 접하고 점차 수정해나가야겠다. 한 가지 회사에서 배운..
2021.11.12 -
317일차 - DiffUtil
https://youtu.be/zNGVicOZ2ew https://github.com/KwonGeneral/KotlinQuiz.git GitHub - KwonGeneral/KotlinQuiz: DiffUtil 활용 DiffUtil 활용. Contribute to KwonGeneral/KotlinQuiz development by creating an account on GitHub. github.com DiffUtil에 대한 사용법은 익혔지만 이해는 완벽하게 못했다. 다만, 다른 중요한 부분들에 대해서 어느 정도 알고나면 이번에 작성한 코드에 대해서도 하나하나 살펴볼 예정이다. 현재 파이썬, 웹 프론트, 백엔드를 거쳐서 앱개발자로 왔다. 공부해야할 부분들이 아주 많고 ..
2021.11.11 -
316일차 - 안드로이드 개발 팁 & 코루틴 정리
1. 안드로이드 브로드캐스트리시브는 스타트액티비티를 못하게되어있다. 2. 실제 상용화에서는 notification만 사용하면 안된다. data도 사용한다. ( 묵시적 인텐트 사용 ) 3. 묵시적 인텐트 이거는 api 통신할 때 많이 쓰일 것으로 보인다. 또한 Push에서도 겁나 쓰인다. 특정 Data를 받을 때, 맨 앞의 형태에 따라서 인텐트를 전환시킬 수 있다. 인텐트에는 앱 내부의 인텐트도 있지만 웹, 전화, 지도 등등 다양한 외부 인텐트로도 이동시킬 수 있다. 이를 통해 Push를 통해 들어온 값에 따라 특정 인텐트로 사용자를 보내버릴 수 있다. 즉, 메뉴처럼 인텐트를 전환시키고 싶을 때 사용한다. 4. 일반적인 FCM은 백그라운드에 있는 경우에만 작동한다. 포그라운드에 ..
2021.11.10 -
315일차 - Firebase 호스팅 & 음성 인식 (TTS, STT)
현재 시간 오전 9시.. 살짝 지각할 것 같다. 평소보다 20분정도 늦게 출발했는데 설마.. 군자에서 지하철을 2번이나 놓칠줄이야.. 어제 용하다는 무당을 2명 찾아가서 사주를봤는데 나는 30살 전까지 운이 없고 고생을 하다가 30살부터 운이 조금씩 들어오고 42살부터는 잘 풀린다고 한다. 신기한게 어렸을 때부터 꾸준히 사주를 보러다녔는데 대부분 비슷한 사주였다. 어렸을 때, 운이 없고 고생을 많이 하지만 나중에 크게 보답받는다. 대기만성의 사주라고 한다. 재물복도 좋아서 돈을 많이 버는 사주라고 한다. 실제로도 운이 드럽게 없는 편이다. 대부분 내가 원하는대로 가지 않아서 습관이 박힌게 항상 최악을 가정하고 계획을 세세히 짜두는 것이다. 30살 부터는 운이 돌아온다니까 다행이긴하다. 사주를 신봉하지는 ..
2021.11.09 -
314일차 - React & Fcm Push 웹페이지 완성
https://github.com/KwonGeneral/fcmreact.git GitHub - KwonGeneral/fcmreact: 리액트 : FCM 토큰을 활용한 Push 알림 보내기 리액트 : FCM 토큰을 활용한 Push 알림 보내기. Contribute to KwonGeneral/fcmreact development by creating an account on GitHub. github.com 현재 웹페이지는 완성했다. 파이어베이스 DB를 조회해서 유저 데이터를 가져오고 체크 박스를 통해 유저를 선택하고 제목, 내용, 이미지, 링크를 입력한 후 푸시알림을 보내는 관리자 페이지이다. 내일은 파이어베이스 호스팅을 해 볼 예정이고 그 다음날에는 여러 Tip들을 적을 예정이다. 오늘..
2021.11.08 -
313일차 - React & Android Push
시간이 없어서 빠르게 핵심만 적으려고 한다. 1. fbase.js 2. UserList.js 3. App.js import { db } from "./fbase"; import React from "react"; import {collection, getDocs} from "firebase/firestore/lite"; import UserList from "./UserList"; class App extends React.Component { state = { isLoading: true, data: [], isClicked: true, } onRead = async () => { const query = await getDocs(collection(db, 'User')); query.forEach((..
2021.11.07 -
312일차 - Android Kotlin & Firebase Fcm & Cloud Firestore
기본 베이스 코드는 Kotlin_Basic_Chat을 사용했다. [ 소스 코드 ] https://github.com/KwonGeneral/Kotlin_Basic_Chat.git GitHub - KwonGeneral/Kotlin_Basic_Chat: 코틀린 MVVM 연습용 앱 코틀린 MVVM 연습용 앱. Contribute to KwonGeneral/Kotlin_Basic_Chat development by creating an account on GitHub. github.com 1. Firebase 프로젝트 생성 2. Firebase 앱 생성 3. Firebase Dependencies 설치 4. FcmService.kt class FcmService: FirebaseMessagingService() ..
2021.11.06