본문 바로가기

안드로이드/팁

(49)
[안드로이드/Android] Gridlayout으로 시간표 만들기 시간표나 달력을 구현할때마다 '이번엔 뭐로 구현해볼까', '어떻게 해야 좀 호율적이고 간단하게 만들 수 있을까?'를 고민 했었습니다. Linearlayout으로 이뤄진 뷰들을 xml에 하나하나 그리고 칸 하나마다 list로 관리하거나 Recyclerview로 만들어서 xml이 적은대신 ItemAdapter나 Viewholder 클래스를 생성하는 방식을 주로 선택했습니다. 그런데 이번엔 Gridelayout 으로 시간표를 만들게 돼, 간단한 사용법과 다른 구현 방법들과 차이점을 정리했습니다. >> 구현하기 build.gradle ( app ) implementation "androidx.gridlayout:gridlayout:1.0.0" xml Gridlayout 은 Linearlayout이나 Constr..
[Android/ios] 카카오톡 공유하기 api - 템플릿 설정 및 앱 적용 작성이력 - 21.2.6 : 최초 작성 - 21.5.31 : 카카오 커스텀 이미지 전송 링크 추가 기본적으로 FEED, LIST, COMMERCE를 제공하는데 오늘은 FEED만 다룰 예정이며, SDK 설정과 기능 및 카카오 디벨로퍼를 설정하는 부분은 공식 사이트를 참고해주세요 >> 템플릿 생성 위 세가지 유형중 한가지를 선택하고 간략한 설명을 기재하면 템플릿이 생성됩니다. ID : SDK 연동할때 필요한 템플릿 아이디 값입니다. 템플릿 설명 : 진행중인 앱/웹 프로젝트의 구성원들이 판별하기 쉽도록 의도에 맞는 이름을 넣어주세요. ex)친구초대 링크 사용 목적 : '카카오 링크/나에게 보내기'를 선택합니다. >> 상세 정보 설정 탭별로 나뉘어져 있는 정보들을 설정하면 왼쪽에 미리보기를 통해 전달됐을때 메세..
[Android] 이미지 버튼 만들기 이미지 버튼을 만들땐 해상도에 따라 버튼의 넓이를 조절할 것인지, 고정 dp로 할것인지에 따라 다르게 작업해야 합니다. 해상도에 따라 버튼의 넓이를 조절하고 높이는 고정으로 할 경우 이미지를 다운받아서 적용하면 이미지 원본 비율을 유지한채 나머지 넓이는 여백으로 가득 찰 것 입니다. 그래서 상황에 맞는 이미지를 적용해야 합니다. >> 통 이미지를 그대로 적용했을 경우 여백을 채우고자 scalyType을 fill_xy로 지정하는등 억지로 늘린다면 이미지가 깨지는 결과를 초래합니다. 그렇기 때문에 이미지의 넓이만 늘리는 작업은 vector기반으로 작업하거나 넓이에 따라 높이를 늘려주거나 centerCrop으로 모든 이미지를 보여주진 않지만 꽉차게 보이게 할순 있습니다. 하지만 위와 같은 결과를 원하진 않기 ..
[Android] Firebase Crashlytics 추가하기 FirebaseCrashlytics는 Firebase에서 제공하는 강력한 기능중 하나로 사용자들이 앱을 사용하다가 발생하는 에러들을 수집하는 툴로 앱에 없으면 안되는 라이브러리중 하나 입니다. firebase console에서 앱을 추가하고 난 뒤 과정(앱 설정)을 설명하며 추가 하는 방법은 콘솔에서 제공하는 가이드를 따르면 쉽게 할 수 있습니다. 앱 설정 가이드도 google에서 가이드 문서를 제공하지만 내용 설명이 부족해 가이드 문서대로 진행했을 경우 앱이 실행되지 않는 이슈가 있어 별도 포스팅을 작성했습니다. 신규 앱에 추가하는 경우가 아닌 Fabric에서 업데이트 하는 경우도 제 포스팅을 참고해주세요. >> Project Level build.gradle buildscript { repositor..
[Android] SHA key 간편하게 얻기 기존에 SHA 키를 얻으려면 터미널을 이용하거나 소스코드를 작성해서 빌드해서 얻는 방법을 사용했었습니다. 어렵진 않지만 다소 번거롭고 코드를 찾아서 복/붙을 해야했는데 AndroidStudio에 Gradle View를 이용하면 간단하게 알 수 있습니다. >> SigningReport GradleView -> app(개발중인 앱 폴더 명) -> Tasks -> Android -> signingReport 위 경로를 클릭하면 하단에 콘솔창에 나타나게 됩니다. >> 결과 사진 우측 빨간 네모안에 나오는 데이터를 긁어다 쓰시면 됩니다.
[Android/Kotlin] 양방향 데이터 바인딩으로 더 mvvm답게 ! mvvm + livedata + room으로 작업하신다면 양방향 데이터 바인딩 도입을 고려해보시길 추천 드립니다 ! 조금 더 mvvm 답게 코딩할 수 있습니다. (mvvm 도입을 고민하거나 도입 초기이신 분들에게 추천합니다. ) >> 데이터 바인딩 데이터 바인딩은 mvvm을 도입하지 않으신 분들중에도 이미 익숙한 주제입니다. 혹시 모르시는 분들은 아래 포스팅이나 다른 분들이 쓰신걸 참고하세요. [안드로이드/Android] 데이터 바인딩 사용하기[1/2] 안녕하세요 이번 포스팅은 '데이터 바인딩' 입니다. 개발 문서의 내용이 많아 나누어 수록하도록 하겠습니다. 시작하기 앞서 데이터 바인딩을 사용하실려면 AndroidStudio 버전 1.3 이상이 필요하니 superwony.tistory.com >> Mvv..
책장 넘기는 UX 구현 현재 개발 중인 '식물일기'는 책과 유사한 UI/UX로 구현했고, 그중에서 식물 등록 화면에 적용된 책장을 넘기는 UX에 대해 포스팅하겠습니다. 앱 디자인의 컨셉과 세부적인 부분을 참고한 사이트 목록입니다. 참고 사이트 Pinterest free vector icons lottiefiles.com/search?q=book&category=animations Pinterest 모바일 관련 ui를 참고 할 수 있는 사이트로 전체적인 컨셉을 잡는데 도움이 되는 사이트입니다. free vector icons 무료 아이콘을 제공하는 싸이트로, 책을 ui로 표현하는데 도움을 받은 사이트 입니다. lottie files Air bnb에서 만든 애니메이션 라이브러리로, 어도비의 after effect에서 만든 json..
Livedata(MVVM) + RxAndroid 사용시 주의 사항 mvvm 패턴으로 간단한 rxAndroid와 함께 사용하여 식물관리 앱을 개발중입니다. mvp를 처음 도입할때도 그랬지만 많은 시행 착오를 겪고 수정하면서 체계를 잡아가고 있습니다. 그러던중 주의해야할 상황이 생겨 공유 및 복기 목적으로 남깁니다. 먼저 rxAndroid를 엑티비티 라이프사이클에 맞춰 메모리 누수를 막기위한 용도로 마이너하게 사용하고 있습니다. 잘못되게 사용하고 있다면 댓글 및 방명록으로 지적해주시면 감사하겠습니다. ※사용중인 라이브러리 - Livedata, viewModel(AAC), rxAndroid, kotlin, koin, room > 앱 설명 + 상황 '식물관리'앱의 메인에는 식물 리스트가 좌측에 위치하고 리스트중 선택한 식물의 정보가 우측에 존재합니다. 그리고 우측화면 하단엔 ..