본문 바로가기

분류 전체보기

[Android] 소리치는 클린 아키텍처, MVI 그리고 Jetpack Compose 클린 아키텍처 원칙에서, 좋은 아키텍처에서는 유즈케이스가 명확하게 정의되어 있어야 하며, 이를 통해 프로그램이 수행하는 작업이 분명하게 드러나야 한다고 강조합니다. 이는 설계가 '소리치는' 것과 같다고 표현합니다. MVI(Model-View-Intent) 패턴을 활용하면, 화면 구성에서 input과 output이 명확해집니다. 이는 화면에 무엇이 표시되고, 어떤 작업들을 수행하는지(어떤 이벤트를 발생시키는지) 코드가 ‘소리치도록’ 만듭니다. 더 나아가, UDF(Unidirectional Data Flow)원칙을 지키며 화면과 컴포넌트를 구성하면, 각 화면의 최상위 컴포넌트(일반적으로 screen level)에서 뷰모델로 주입받은 유즈케이스를 익명 함수로 감싸 각 컴포넌트에 전달할 수 있습니다. 그러고보니.. 더보기
구글 핏 api 걸음 히스토리 받아오기 (google fit Api - get step count last 10 days) 출처 1: https://stackoverflow.com/questions/38495961/google-fit-android-get-last-10-days-data 출처 2:https://developers.google.com/android/reference/com/google/android/gms/fitness/HistoryApi 출처1의 코드에서 client부분이 안나와있어서 출처2의 client생성부분 참고함 코드(code) try{ sleep(10000); readDataWithoutToast(); //====== 10일 정보 가져오기 // get the start and end date of the urrent mobile Calendar cal = Calendar.getInstance(); D.. 더보기
카카오톡으로 로그인하기(구버전 버그 해결) 출처 1: https://re-build.tistory.com/9 출처 2: https://devtalk.kakao.com/t/x509cetificate/52007 출처 3: https://devtalk.kakao.com/t/usermanagement-requestme/46808 출처1의 내용대로만 하면 값을 잘 받아오지 못하는 버그가 있어 검색했더니 출처2의 내용만 뜹니다. (다음과 같은 에러 출력 SessionCallback ::: onSessionOpenFailed : javax.net.ssl.SSLHandshakeException: Domain specific configurations require that hostname aware checkServerTrusted(X509Certificate.. 더보기
.show파일 .ppt파일로 바꾸기 (Convert .show files to .ppt files) (.show -> .ppt) 그냥 확장자를 .show에서 .ppt로 바꾸기만 하면 됩니다. Just change the extension from .show to .ppt. 출처 : https://centermax.tistory.com/175 생긴 모양은 비슷한데 엄연히 다른 프로그램이라 서로 호환이 안되는 경우가 있죠? 대표적인 유형이 바로 제목에 있는 문서일 텐데 이럴 땐 일반적으로 사용되는 파워포인트에서 SHOW 파일을 읽을 수 있도록 포맷을 바꿔주면 됩니다. 물론 방법은 알아두어야 포맷을 바꿔줄 수 있겠죠. 그래서 도움이 되려 이번에 한쇼 ppt를 바꾸는 방법을 적어보려 하는데 공식 툴을 활용하는 절차이며 다소 귀찮은 내용이 될 수는 있겠지만 아래 정보를 읽고 적용하시면 무난히 형태는 바꿀 수 있을 것입니다! 서두에서 공식 .. 더보기
안드로이드 Google Admob 구현하기 출처1 : https://developers.google.com/admob/android/quick-start?hl=ko 구글에서 시키는대로 하면 테스트 광고까지 잘 뜹니다 Admob 가입이 필요한데, 가입하면 광고 띄우기에 필요한 AdMob App ID 와 AD_UNIT_ID 그리고 를 발급받을 수 있습니다. 발급받은걸 https://github.com/googleads/googleads-mobile-android-examples/tree/master/java/admob/InterstitialExample 여기에 넣어보면 됩니다. 저 같은 경우는 그렇게 구현 했는데 error를 뱉어냈습니다. (결제정보를 추가해야하는것 같기도 합니다. 그래서 결제정보를 추가했더니 이렇게 창이 떴습니다. 처리되기 전까진 .. 더보기
안드로이드 레이아웃 둥근 모서리 만들기 drawable폴더에서 xml을 만들어줍니다. 둥글게하고싶은 레이아웃에 적용 android:background="@drawable/rounded" 더보기
안드로이드 8.0(api26) 알림채널 생성하기 (notification channel) 9.0에서 해당내용으로 출력이 정상적으로 되지 않는 버그가 있어서 안드로이드 공식 api를 보고 수정했더니 해결됐습니다. 참고하세요~^^ 이하 내용에는 수정된것들이 반영되지 않았습니다 출처: https://www.blueswt.com/72 안드로이드 api 26(8.0 오레오) 대비 작업 - 알림 채널 생성 android oreo / pixabay / knd61 안녕하세요. 안드로이드 api 26(8.0 오레오)에 대비 하여 오늘은 알림 채널 생성을 해보겠습니다. 알림을 채널별로 관리하여 좀더 효율적으로 사용한다는 것인데요. 역시나 너무 귀찮습니다. "Android 8.0 (API 레벨 26)부터 모든 알림을 채널에 할당해야합니다. 각 채널에 대해 해당 채널의 모든 알림에 적용되는 시각 및 청각 동작을 .. 더보기
Android Splash 화면을 구현하는 올바른 방법 개인 용도로 갈무리 해 둡니다 1차 출처 : https://github.com/cstew/Splash 2차 출처 : https://lanace.blogspot.com/2017/07/android-splash.html 시작하면서... 여기에 있는 글을 보고 정말 좋은 방법이라고 생각해서 번역하고 살짝 수정해서 글을 썼다. 원본이 더 잘 나와있으니 영어가 자신있으신 분들은 여기를 참고하시는게 더 좋을것같습니다ㅠ 서론 앱을 구현하다보면 자연스럽게 앱이 준비되는동안 사용자에게 보여줄 Splash화면을 추가해야겠다고 생각하게 된다. 이미 많은 앱에서 Splash 화면을 보여주고 있다. Splash 화면을 구현하는데는 여러가지 방법이 있겠으나 사실 Splash화면을 사용하는 이유부터 알고 구현을 해야한다. 그런 의.. 더보기
첫 번째 - 약속 저는 질문을 던지는 방식으로 글을 써 내려갈 생각입니다.1학년 교양수업 때 들었던 내용인데, 질문을 던지는 방식은 좋지 않은 글쓰기 방식이라고 하더군요.질문을 던졌다면 그에 대한 답변이 있어야 완결성 있는 글이 되는데, 독자가 생각하는 답과 글쓴이가 내놓은 답이 다를 경우가 많기 때문이라고 합니다.하지만 제 생각을 정리하기 위해 쓰는 글이기 때문에 질문을 던지고 해답을 찾아내는 방식으로 앞으로의 글을 써내려 가도록 하겠습니다.그리고 여러분은 제가 던진 질문에 대답을 해보는 것이 좋을 것입니다.먼저 대답을 해보고 다른 사람의 의견을 듣는 것과 그냥 넘어가는 것의 차이는 엄청나기 때문입니다.몰라도 추측을 해보세요. 형사가 현장에 도착하자마자 모든걸 알아내지 못합니다. 근거를 바탕으로 생각해 추리를 하는 것입.. 더보기