TIL 첫 시작 앞으로의 성장에 밑거름이 되길 바라며 오늘부터 꾸준히 TIL을 작성할 생각이다. 오늘 배운 것 github TIL 정리 Kotlin 문법 복습 Kotlin 깃북 복습 내일 할 일 github TIL 정리 블로그 TIL 쓰기 개인 과제 1차, 2차
계산기 lv1 구현 Kotlin 기초 복습 계산기 lv2,3 구현해보기 일단 너무 부족하다. 오늘 내가 뭘 알게 됐고 모르고를 설명하고 싶은데 어떻게 설명을 해야할 지 모르겠다. 아마 코틀린 용어와 친하지 않다보니 그런거 같기도하고.. 그리고 메소드 구조나 클래스 구조
lv1,2에서는 Calculator 클래스 안에 모든 연산을 수행할 수 있도록 코드를 추가 해놨었다. 오늘 lv3 구현에선 연산 클래스를 만들고 각 기능에 맞게 코드를 추가, 그리고 Calculator 클래스와 관계를 맺어주는 과제를 해결하면서 왜 이렇게 동작을 분리하
문법 공부 / 정리객체 지향 5원칙에 대해 공부.이해도가 부족하다보니 너무 어려운 거 같으면서도 하나씩 알게 될 때마다 재밌다. 시간 후딱 지나가는 느낌. lv4 과제까지 끝나고 새로운 과제도 생기긴 했지만,, 지금의 실력으론 주말이 다 지나도 구현하기 어려울 거 같아
scope : 범위 변수나 함수, 클래스 같은 멤버들을 서로 공유하여 사용할 수 있는 범위를 지정해 둔 단위. 스코프가 지정되는 범위 패키지 내부 클래스 내부 함수 등이 있다. 패키지[변수, 함수{변수,함수}, 클래스{변수,함수}] 규칙 스코프 외부에서는 스코프 내부의 멤버를 참조 연산자로만 참조가 가능하다. ...
01. 형변환 하나의 변수에 지정된 자료형을 호환되는 다른 자료형으로 변경 가능. (논리형은 변환 안됨) 명시적 형변환 : 변환될 자료형을 개발자가 직접 지정함 암시적 형변환 : 변수를 할당할 시 자료형을 지정하지 않아도 자동으로 형변환됨 (코틀린에서는
문제 설명정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.제한사항 \_-10,000 ≤ numbers의 원소 ≤ 10,0001 ≤ numbers의 길이 ≤ 1,
isNotEmpty CharSequence가 어떠한 값을 포함하고 있을 때(공백 포함) true를 반환한다. isEmpty CharSequence가 아무 값도 포함하고 있지 않을 때 true를 리턴한다 isBlank CharSequenc
이번 팀과제를 하면서 코드를 팀장님께 보여드렸는데, 왜 이렇게 구현하셨냐고 물어봤을 때 나는 그냥 '어... 번호를 눌렀을 때 각각의 아이스크림의 정보를 보여주기 위해서 when으로 작성했습니다..' 라고 말을 했었다. 근데 팀장님은 내가 생각한 이유가 아닌 그저 불필
split 함수를 이용해 특정 문자열을 기준으로 자르는 법. 프로그래머스에서 입문 알고리즘을 풀고 있는데 매 문제마다 몰랐던 새로운 것들이 나와서 어렵게 느껴진다. 나중에 lv1, lv2로 넘어가야하는데 벌써 머리가 어지럽다 ㅎㅎ 계속 꾸준히 해봐야지 ㅎㅎ
모바일 운영체제 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여 하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다. 사용자 응용 프로그램 운영 체제 하드웨어 **안드로이드 OS의
UI 설계 개요 view 안드로이드 앱의 UI를 구성하는 기본 단위 view의 구성 위젯 (Widget) View의 서브 클래스로서, 앱 화면을 구성하는 시각적인 모양을 지닌 UI 요소. (대표적인 위젯은 TextView, EditText
Activity 앱이 실행되면, 전체 화면에 앱의 UI가 표시되고, 사용자가 입력한 화면 터치 또는 버튼 터치 등의 이벤트에 따라 앱의 기능이 수행됨. 사용자와 상호 작용할 수 있는 화면을 제공하는 애플리케이션의 구성요소 액티비티마다 창이 하
로그인 페이지 로그인 페이지에서 구현해야 하는 기능 1\. 아이디/비밀번호 값을 입력받았을 때 '로그인 성공'이란 토스트 메세지를 띄우고 자기소개 페이지로 넘어가게 해야함. (아이디/비밀번호 둘 중 하나라도 비워있으면 제대로 입력하란 메세지 띄움)2\. 회원가입 버튼을
오늘 하루종일 구현한 건 이게 다 다.. 원래 오늘 계획은 '회원가입 페이지에 입력 받은 정보를 자기소개 페이지로 가져오는 것을 구현' 하기로 마음 먹었었다. 근데 보시다시피 못했다. SignUp 페이지에서 putExtra로 정보를 SignIn으로 보내고, 받은
구현한 기능 회원 가입페이지에서 입력한 아이디/비밀번호가 로그인 화면으로 돌아올 때 자동 입력되는 기능registerForActivityResult 사용registerForActivityResult란 기존의 'startActivityForResult'를 함수가 depr
두 가지 방법으로 랜덤으로 이미지가 나오게 구현해봤다. 배열을 이용한 랜덤 이미지 기능 구현when 일단 둘 다 잘된다. 귀찮아서 첫번째로 구현했던 방법대로 냅둘려고 했는데 시간도 남고 해서 해봤는데 하길 잘했다 생각한다. 별다른 변수 선언 없이 random.nextI
뷰가 화면에 출력되어야 하는지에 대한 속성이다.visible, invisible, gone 값으로 설정한다. invisible, gone 값은 모두 화면에 뷰가 보이지 않게 하지만 layout 내에서 사이즈를 확보하는지에 대한 차이가 있다. 그러니깐 invisible로
대부분의 레이아웃 클래스들은 대체가 된다. LinearLayout으로 만든 것을 RelativeLayout, ConstrainLayout으로 똑같이 만들 수 있듯이 RelativeLayout, ConstrainLayout도 마찬가지. 레이아웃마다 속성이 여러 개가 있으
RelativeLayout으로 만든 UI결과물을 바로바로 화면에 띄워서 볼 수 있으니 재밌다. 그러다보니 계속 코틀린 공부랑 알고리즘을 뒷전으로 두고 있다. 어려워서 안하고 있는건가? 아마 후자인듯. 자고 일어났을 때 읽은 책 내용들 머릿 속에 다 박혀있었으면 좋겠다
안드로이드 다른 나라 언어를 지원해서 적용 시켜보자. values 파일에다 새로운 strings xml을 추가해주자. 내가 적용시키고자 하는 언어와 나라를 선택. 만들고 나면 텍스트 윗쪽부분에 open editor 가 뜬다. 간편하게 한국어와 영어 문자열을 수정하고
휴대폰을 가로로 했을 때의 UI를 간단하게 구현해보자 먼저 가로 layout을 위해 layout-land 라는 폴더 만들어주자. 안드로이드에서 각 모드마다 방향을 지정할 수 있게 layout(layout-port : 세로) , layout-land(가로) 정의해준다.
메모리: 63.4 MB, 시간: 21.47 ms코딩테스트 연습 > 코딩테스트 입문Empty메모리: 61 MB, 시간: 0.02 ms코딩테스트 연습 > 코딩테스트 입문Empty팀 프로젝트에 매진하고, 개인 사정까지 있어서 알고리즘은 손도 못댔었다. 이제 다시 열심히 할
공식 문서
그 다음에 RecyclerView에서 나타낼 item이라는 layout xml 파일을 생성해준다. RecyclerView가 현업에서 비율이 높게 쓰인다는데 그만큼 열심히 공부해야한다는거겠지? 그리고 오늘 팁을 얻었는데 여기서 LinearLayout을 중첩시켜놨는데 그럴
Fragment 액티비티 위에서 동작하는 모듈화된 사용자 인터페이스 여러 개의 프래그먼트를 하나의 액티비티에 조합하여 창이 여러 개인UI를 구축할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재 사용할 수 있다. Activity vs Fragment Activity로 화면을 계속 넘기는 것보다 Fragment를 이용하면 이용량이...
우선 이거 해결하는데 너무 애먹었다. val intent = Intent(this@MainActivitym, MainActivity::class.java) 여기 this가 object를 받아오는데 계속 에러가 뜬다. 알고보니 사용자(Me)가 직접 만들어서 사용하고 있는
현 액티비티에서 다른 액티비티로 데이터를 전달하고 싶을 때 주로 intent putExtra()를 사용하는게 일반적인 방법이다. 하지만 데이터가 객체 형태인, data class를 보낼 때 일반적인 방법으로 보낸다면 컴파일 에러가 생긴다. 이게 어제 배운 내용이고 잠시
@activity_main.xml@MainActivity.kt
문제 링크 메모리: 63.1 MB, 시간: 6.60 ms코딩테스트 연습 > 코딩테스트 입문Empty
하나의 recyclerview에 두 가지 viewtype을 사용해보자. @data class @MyAdapter.kt@MainActivity.kt
문제 링크 메모리: 60.3 MB, 시간: 0.02 ms코딩테스트 연습 > 코딩테스트 입문Empty
두 개의 프래그먼트로 간단한 뉴스 리더 앱을 만들어보자. NewsTitle 프래그먼트에서 recyclerView를 사용할 생각이기 때문에 Adapter를 만들어줬다. 코드엔 이상이 없는데 앱이 강제종료 된다던가 켜지지 않는다면 코드와 로그캣을 잘확인해보자. adapte
Fragment로 Dialog를 만들 수 있는지는 오늘 알게 되었다. AlertDialog도 많이 쓰이지만 커스텀 다이얼 로그가 필요할 때는 다이얼로그 프래그먼트를 사용한다. DialogFloatingActionButton을 클릭할 때 다이얼로그가 뜨게 만들 것이다.
PendingIntent 어제 만든 다이얼에서 각 시간에 맞춰 알림을 보내고, 알림 클릭 시 다시 앱으로 돌아올 수 있게 할 것이다. 우선 pendingIntent을 설명하자면,
LongClick 했을 때 다이얼로그를 띄우면서 리싸이클러뷰의 아이템 리스트를 삭제 시켜보자.상세 페이지에서 뒤로가기 버튼도 구현했다.
0905원래 버튼. 버튼을 눌렸다는 것을 깔끔하게 표시하기 위해서 다시 수정했다. 깔끔해진거 맞겠지?
Problem 이렇게 다이얼로그 채널 생성과 pendingIntent, Intent를 사용해서 알림 메시지를 클릭하면 앱으로 갈 수 있도록 코드를 짜는 중, 에러가 발생했다. 에러난 코드는 전부 주석으로 처리했다. 에러를 해결하기 위해 머리를 싸매다가 결국은 같은
Problem 이렇게 다이얼로그 채널 생성과 pendingIntent, Intent를 사용해서 알림 메시지를 클릭하면 앱으로 갈 수 있도록 코드를 짜는 중, 에러가 발생했다. 에러난 코드는 전부 주석으로 처리했다. 에러를 해결하기 위해 머리를 싸매다가 결국은 같은
activity 생명 주기를 잘 이해하고 콜백을 잘 구현해야하는 이유 이러한 문제들이 발생하지 않도록 예방이 가능하다.
1\. onAttach() 2\. onCreate() 3\. onCreateView()4\. onViewCreated()5\. onViewStateRestored()6\. onStart()7\. onResume() 8\. onPause()9\. onStop()10\.
Context 클래스를 확장하여 showToast라는 메소드를 작성합니다.이 함수는 메시지(String)와 지속 시간(Int, 기본값은 Toast.LENGTH_SHORT) 두 가지 파라미터를 받습니다.함수를 호출하면 해당 메시지의 Toast가 지정된 지속 시간 동안 화
안드로이드 개발에서 데이터를 저장하는 방법 중 하나로, 간단한 데이터를 저장하고 불러올 수 있다. (초기 설정 값, 자동로그인 여부 등등) 데이터가 많거나 중요한 데이터를 저장해야 하는 경우는 getSharedPreferences를 사용하면 공간 낭비이므로 DB에 저장
ViewPager2 ViewPager2 화면 슬라이드 기능을 구현하는 데 사용되는 위젯 중 하나로 ViewPager와 비교해서 개선된 버전이다. ViewPager2는 아이템 어탭터를 사용하여 각 화면의 콘텐츠를 관리. RecyclerView.Adapter와 유사하며