- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- #충무로맛집#골목식당#스테이크#
- bitmasking
- 자바
- 안드로이드
- 비트마스킹
- DataBinding
- 탐탁노트북파우치
- 싸피
- 백준
- Higher-Order
- MVVM
- kotiln
- 투포인터
- 아키텍처패턴
- 삼성역량테스트
- Java
- 삼성파우치
- nullalble
- 탐탁삼성파우치
- 등산로조성
- lateinit
- 삼성청년sw아카데미
- tomtoc
- Android
- Kotlin
- ssafy서울
- 안드로이드#코틀린#디자인패턴#싱글턴패턴#개발#앱개발
- 코딩테스트
- 알고리즘
- 코틀린
목록개발/안드로이드 (17)
공상하는 개발자
※ 싱글톤 패턴이란? 어떤 클래스의 인스턴스는 오직 하나임을 보장하며, 이 인스턴스에 접근할 수 있는 전역적인 접촉점을 제공하는 디자인 패턴이다. 애플리케이션의 시작부터 종료까지 한 번의 생성으로 고정된 메모리 영역을 가지기 때문에 메모리를 효율적으로 사용 할 수 있다. 싱글턴의 인스턴스는 전역적으로 사용되기 때문에 다른 클래스의 인스턴스들이 데이터를 공유 변경이 가능하다는 장점이 있다. 쉽게 말하면 한 번의 선언으로 모든 클래스에서 전역으로 사용 가능한 필드나 메서드를 만드는 것. (아무데서나 접근 가능한 필드나 메소드) ex) 유저 로그인 아이디 ♬ 자바와 코틀린의 싱글턴 패턴 자바에서는 인스턴스 변수를 선언하고 생성자 및 정적 메서드를 추가하는 작업을 추가한다. 코틀린에서는 단 한 줄로 처리된다. ..
타임라인 어플의 꽃은 당기면 피드 업데이트가 진행된다는 점이다. 나도 이점을 당연히 구현해야지 하고 있었는데 어려울 줄 알았는데 생각보다 매우 쉬웠다. 이 기능은 PullRefreshLayout을 이용하면 된다. 먼저 build.gradle(Module: app)의 dependencies에 1 2 3 dependencies{ implementation 'com.baoyz.pullrefreshlayout:library:1.2.0@aar' } 를 추가하면 준비 끝이다. xml 파일 1 2 3 4 5 6 7 8 9 10 업데이트 하고 싶은 위젯을 PullRefreshLayout 안에 집어넣고 java 파일 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 loading= (Pul..
이미지를 저장하게 되면 서로 다른 이름으로 저장이 되어야 해서 처음에는 SharePreferences에 숫자를 넣어서 1.png 2.png 3.png ~~ 이런 식으로 숫자. png로 파일을 만들었다. 하지만 생각해보니 이 방법은 하나의 휴대폰에서만 가능한 방법이고 여러 사람들이 이 어플을 사용할 때는 중복이 나타날 수 있는 치명적 결함이 있음을 발견했다. 그래서 다른 방법을 생각하다가 첫 번째로 생각한 방법이 닉네임 값이 UNIQUE 속성을 가지고 있으니까 닉네임. png로 나타내려 했는데 파일 이름에는 한글이 들어가면 안 된다는 것을 알고 다른 방법을 찾았다. 그래서 카페에도 글을 올리고 지식인에도 글을 올렸는데 생각해보니 현재시간으로 하면 중복되는 일이 없겠구나 라는 생각을 했다. 그래서 1 2 D..
나는 알람 기능을 구현하기 위해 FCM을 적용하기로 했다. Firebase 클라우드 메시징(FCM)은 무료로 메시지를 안정적으로 전송할 수 있는 교차 플랫폼 메시징 설루션이다. 내가 이 기능을 넣고 싶은 것은 친구 추가나 게시물이 올라오면 모든 유저들에게 푸시 알람을 주고 싶어서였다. push 함수 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 private void Push(String Name) { class pushmessage extends AsyncT..