본문 바로가기

분류 전체보기310

[Android] RecyclerView 마지막 layout 잘림 현상 RecyclerView 작업을 하다보면 맨 마지막 item이 잘리는 경우가 발생합니다. 1. ConstraintLayout 으로 상위 Layout이 구성되어있는 경우 RecyclerView를 Bottom을 연결하지 않고 height에 wrap_content를 입력하여 구현하는 경우 바닥이 잘리게 됩니다. android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toEndOf="parent" 이럴 때는 layout_height="0dp"로 선언 후 bottom을 연결해주면 해결됩니다. android.. 2022. 7. 13.
[Android] Gradlew Permission Denied 배경 작업을 하다가 Gradlew Build를 하기 위해 명령어를 입력했는데 Permission Denied가 떴습니다 해결방법 chmod +x gradlew를 터미널에 입력한 후 다시 gradlew build(or 명령어)를 해주시면 실행되는 것을 확인할 수 있습니다 2022. 7. 11.
[Android] Postman으로 FCM Push 알림 보내기 Postman을 이용하여 Firebase Cloud Message(FCM) 푸쉬 알림을 보내보도록 하겠습니다. Postman은 https://www.postman.com/ 에서 다운받으실 수 있습니다. 1. Firebase에서 서버키 가져오기 Firebase 홈페이지에서 프로젝트 대쉬보드 -> 설정버튼 -> 클라우드 메시징을 클릭하시면 서버키를 확인할 수 있습니다 2. 디바이스 토큰 가져오기 Activity에서 아래의 코드를 추가한 후 실행합니다 FirebaseMessaging.getInstance().token.addOnCompleteListener { task -> if (task.isSuccessful) { println("token: ${task.result}") } } 3. Postman으로 F.. 2022. 7. 9.
[Git] 원격 브랜치 삭제 (delete remote branch) 배경 작업을 하면서 브랜치를 지우기 위해 git branch -d 브랜치명 을 입력했는데 브랜치는 사라지지만 origin/(브랜치) 는 사라지지 않았습니다. 이런 부분까지 지우고 싶어서 정리하게 되었습니다 해결 방법 git push origin --delete (브랜치명) or git branch -d 브랜치명 git push origin 브랜치명 저는 개인적으로 1번이 훨씬 더 편했습니다! 2022. 7. 9.
스트래티지 패턴 (Strategy Pattern) public abstract class Robot { private String name; public Robot(String name) { this.name = name; } public String getName() { return name; } public abstract void attack(); public abstract void move(); } public class Robot1 extends Robot { public Robot1(String name) { super(name; } public void attack() { System.out.println("I have punch"); } public void move() { System.out.println("I can only walk.. 2022. 7. 6.
[SWM Mobile] CommonListAdapter (6/30) 이번 스터디에서는 주어진 json을 보고 어떻게 설계를 할 것인가에 대해 고민하는 시간을 갖고 그거에 따른 구현을 고민하며 페어 프로그래밍을 통해 다른 동료들이 시키는대로 코드를 짜보는 시간을 갖게 되었습니다. [Android] Multi-View Type을 지원하는 RecyclerView 구현하기 배경 기존에는 하나의 RecyclerView에 같은 타입의 뷰만 띄웠지만 여러 타입의 뷰를 띄워야 하는 경우도 있습니다. 이런 경우 RecyclewView.Adapter를 상속하는 CommonAdapter를 구현하여 Multi-View Type이 적용.. jgeun97.tistory.com 이번 스터디를 통해 저는 한 번도 Multi-View Type에 대해 고민해본 적이 없고 android 공식 홈페이지에서.. 2022. 7. 6.
[SWM Mobile] CommonListAdapter - JSON (6/23) 배경 데이터 통신을 통해 받아오는 json이 정말 다양한 형식으로 제공됩니다. 이에 따라 adapter도 각각 ViewHolder를 생성하여 데이터를 바인딩해줍니다. 하지만 뷰타입의 종류를 정하고 그거에 따른 데이터를 제공해준다면 매번 ViewHolder를 생성하는 것이 아닌 정해진 ViewHolder를 사용해서 진행할 수 있습니다 스터디 첫 번째로 그림을 보고 Multi-View Type을 지원할 수 있는 형식으로 json을 만들어봅니다. { data: [ { "viewType": "ONE_LINE_TEXT", "title": { "text": "Title1", "style" "bold", "size": "14sp" } }, { "viewType": "ONE_IMAGE", "image": { "url".. 2022. 7. 4.
[Android] Multi-View Type을 지원하는 RecyclerView 구현하기 배경 기존에는 하나의 RecyclerView에 같은 타입의 뷰만 띄웠지만 여러 타입의 뷰를 띄워야 하는 경우도 있습니다. 이런 경우 RecyclewView.Adapter를 상속하는 CommonAdapter를 구현하여 Multi-View Type이 적용되도록 하는 방법을 알아보겠습니다 Data는 아래와 같이 viewType과 type에 따른 viewObject가 제공됩니다 { "viewItems": [ { "viewType": "TWO_LINE_TEXT", "viewObject": { "titleText": "서울대입구역", "descText": "서울특별시 관악구 남부순환로 지하 1822" } }, { "viewType": "ONE_LINE_TEXT", "viewObject": { "titleText":.. 2022. 7. 4.
[BOJ][Java] 백준 2011번: 암호코드 문제 설명 상근이와 선영이가 다른 사람들이 남매간의 대화를 듣는 것을 방지하기 위해서 대화를 서로 암호화 하기로 했다. 그래서 다음과 같은 대화를 했다. 상근: 그냥 간단히 암호화 하자. A를 1이라고 하고, B는 2로, 그리고 Z는 26으로 하는거야. 선영: 그럼 안돼. 만약, "BEAN"을 암호화하면 25114가 나오는데, 이걸 다시 글자로 바꾸는 방법은 여러 가지가 있어. 상근: 그렇네. 25114를 다시 영어로 바꾸면, "BEAAD", "YAAD", "YAN", "YKD", "BEKD", "BEAN" 총 6가지가 나오는데, BEAN이 맞는 단어라는건 쉽게 알수 있잖아? 선영: 예가 적절하지 않았네 ㅠㅠ 만약 내가 500자리 글자를 암호화 했다고 해봐. 그 때는 나올 수 있는 해석이 정말 많은데, .. 2022. 7. 3.