[안드로이드] 액티비티 생명주기 ( Activity Lifecycle )
Android Studio/- Programming2024. 4. 24. 23:36[안드로이드] 액티비티 생명주기 ( Activity Lifecycle )

1. 서론안드로이드 스튜디오에서 개발하는 안드로이드 앱은 다양한 생명주기를 갖는데 이중 특히 대표되는 생명주기로 크게 Activity와 Fragment 가 있습니다. 이 중 안드로이드 4대 컴포넌트이며 이번 주제의 액티비티 생명주기, Activity LifeCycle에 대해 설명을 해보려고 합니다 2. 액티비티 생명주기 ( Activity LifeCycle ) 이란?사람이 태어나고 죽기까지의 생명 주기, 그 과정이 있듯이 액티비티 또한 생명주기를 가지고 있습니다.앱은 사용자에 의해 시작이 되고 사용중에 잠시 멈추거나 다시 시작이 되며, 마지막에는 종료가 됩니다.이 처럼 액티비티가 시작되고 완전히 종료가 되기까지의 주기 안에서 액티비티의 상태가 계속 바뀌는 것을액티비티 생명주기 ( Ac..

[안드로이드] RecyclerView 아이템 무한 중복생성 해결방법 + 이유
Android Studio/- Honey Tip2024. 4. 17. 23:53[안드로이드] RecyclerView 아이템 무한 중복생성 해결방법 + 이유

RecyclerView 아이템 무한 중복 생성 RecyclerView로 더미데이터를 다른 Activity로 넘겨주고 다시 돌아오는 과정에서 더미데이터가 계속 무한 중복, 중첩되는 문제가 발생하였습니다. [ 밑에는 문제가 발생한 자료입니다. ] 왼쪽 자료는 처음 앱을 실행했을 때 10개의 더미데이터가 각각 나오는 모습이고 오른쪽 자료는 각 Recyclerview 아이템을 클릭하고 다시 Acitivty로 나왔을 때 더미데이터들이 중복되는 자료입니다. [ 더보기를 클릭하면 초기 코드를 보실 수 있습니다. ] 더보기 Util.kt val dummyItems = mutableListOf() fun dummyData() { dummyItems.add( PostModel( "대현동", Uri.parse("androi..

[안드로이드/Regex] 정규표현식, 회원가입 유효성 검사
Android Studio/- Programming2024. 4. 8. 22:27[안드로이드/Regex] 정규표현식, 회원가입 유효성 검사

📑정규 표현식이란? 특정한 규칙을 가진 문자열의 집합을 표현하기 위해 쓰이는 형식입니다. 줄여서 "정규식"이라고도 합니다. 정규표현식을 사용하여 비밀번호 영문과 특수문자조합, 이메일형식, 주민등록번호 형식, 핸드폰번호 형식 등 제대로 입력했는지 검증을 할 수 있습니다. 📝정규표현식 문법 ^ : 문자열의 시작 $ : 문자열의 끝 . : 줄 바꿈 제외 문자 한 개를 의미. '.'이 위치한 곳에 어떤 문자든지 1개의 문자가 들어감. [ ] : [ ] 사이에 있는 문자 중 한 개를 의미. (Ex. [abc]는 a, b, c 중 하나) [^] : not의 의미로, 대괄호에서 쓴다면 [^abc] : a, b, c 제외하고 나머지를 의미. | : or을 의미. a|b : a 또는 b. () : ( ) 안의 문자를 하..

[코틀린] lateinit과 by lazy의 차이점
Android Studio/- Programming2024. 3. 29. 00:34[코틀린] lateinit과 by lazy의 차이점

📚늦은 초기화 기법 늦은 초기화는 말 그대로 객체의 초기화를 늦게 하는 것입니다. 예를 들어 언젠가 변수 str을 사용할 예정인데, str의 첫 상태를 정의하기 어려울 때 또는 어떤 계산의 결과 값을 필요로 할때가 있습니다. 이럴 때 사용 가능한 방법 중 하나는 아래 코드처럼 사용할 수 있습니다. var str: String? = null 🤔위 방법으로 객체 초기화가 가능한데 lateinit과 by lazy를 왜 사용할까? 첫 번째로 코틀린은 null 사용을 지양하고 있습니다. 위와 같은 방법으로 객체를 초기화한다면 코틀린 창시자는 분명 분노할 것입니다.. 두 번째로 만약 Java에서 '더미값'이 들어간 변수를 미처 초기화하지 못하고 사용하게 된다면 무조건 버그가 발생하지만 에러로그엔 잡히지 않기 때문에..

[코틀린/OOP] OOP (객체지향 프로그래밍) 란 무엇인가?
Android Studio/- Programming2024. 3. 25. 23:45[코틀린/OOP] OOP (객체지향 프로그래밍) 란 무엇인가?

📚OOP ( Object Oriented Programming ) - 객체지향 프로그래밍 등장배경 정의한 기능의 흐름에 따라 순서대로 동작을 추가하며 프로그램을 완성시키는 방식인 순차적 (비구조적) 프로그래밍 방식과 C언어 같이 반복되는 동작을 함수 및 프로시저 형태로 모듈화 하는 방식인 절차적 (구조적) 프로그래밍을 묶기 위해 나온 것이 '객체 지향 프로그래밍'입니다. 순차적 (비구조적) 프로그래밍 방식은 정의한 기능의 흐름에 따라 순서대로 프로그램을 짜게 되어 직관적이어서 좋지만 프로그램의 규모가 커지면 커질수록 동작이 직관적이지 못하게 되었습니다. 그래서 등장한 것이 절차적 (구조적) 프로그래밍입니다. 절차적 (구조적) 프로그래밍에서 '절차'는 함수를 의미합니다. 이 패러다임이 등장하면서 프로그램을..

[프로그래머스/Kotlin] 수박수박수박수박수박수?
Algorithm/- Programmers2024. 3. 20. 22:28[프로그래머스/Kotlin] 수박수박수박수박수박수?

프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📑 문제 [ 더 보기 클릭! ] 더보기 🌱아이디어 홀수면 "수"를 짝수면 "박"을 answer에 담아주면 되겠죠? 🔍 코드 및 풀이 class Solution { fun solution(n: Int): String { var answer = "" for(i in 1.. n) { when(i % 2) { 0 -> answer += "박" else -> answer += "수" } } return answer } } 반복문을 통해 1부터 n까지 반복해 주며 when문을 통해 짝수면 박을, 홀수면 수를 담아줍니다!..

[코틀린] Abstract class와 Interface 차이점
Android Studio/- Programming2024. 3. 19. 22:54[코틀린] Abstract class와 Interface 차이점

🤔추상이란? 관념적이고 개념적이며 구체적의 반대말로 볼 수 있습니다. 예시로 사랑, 평화, 자유등이 있으며 공통적인 특성을 묶는 것을 의미합니다. 📝추상클래스 (Abstract class) 추상 클래스란? 아예 없거나 하나 이상의 추상 메서드를 갖고 있는 클래스입니다. 추상 메서드란? 구현되지 않은, 재정의가 필요한 미완성 메서드입니다. 추상 클래스는 흔히 미완성 설계도라는 표현을 많이 사용하며 추상 클래스를 상속받은 자식 클래스에서 구체화가 됩니다. 상속받은 자식 클래스들은 모든 추상 메서드들을 오버라이딩 해주어야 하며 당연하게도 하위 클래스를 재정의 해야 하므로 private 키워드를 사용할 수 없습니다. ( Kotlin에서는 기본적으로 public 키워드를 갖습니다. ) 추상 클래스와 추상 메소드는..

[내일배움캠프 - 스파르타코딩] 이번 주 우수 TIL에 선정되다..!
My Story2024. 3. 18. 22:30[내일배움캠프 - 스파르타코딩] 이번 주 우수 TIL에 선정되다..!

안녕하세요 내일 배움 캠프 스파르타 코딩, 안드로이드 3기를 수강 중인 주코딩입니다! 오늘 너무나 좋은 일이 있어서 또 이렇게 글을 쓰게 되었습니다. 그것은 바로바로! 🏆내일배움캠프 이번 주 우수 TIL에 선정되다! 오후 6시부터 7시까지 공식 저녁시간인데 식사도 안 하시고 공지 올려주시는 매니저님께 감사의 박수를 👏👏👏 금주 우수 TIL이 선정되어 내일 배움 캠프 블로그에 게시되었다고 하여 한번 가보았습니다! 내일 배움 캠프 블로그를 가보니! 3월 10일에 작성했었던 계산기 과제 피드백 후기가 선정되었던 것이었습니다! 😊😊😊😊 해당 글 보러 가기 -> https://jucodingdev.tistory.com/73 [내일배움캠프 - 스파르타코딩] 개인과제 - 계산기 피드백 후기 오늘은 3월 5일부터 3월..

image