본문 바로가기

전체 글108

안드로이드 스튜디오, 코틀린: The logging tag can be at most 23 characters, was 24 (SecondActivity_Lifrcycle) 태그 23자 제한? 액티비티의 라이프 사이클 흐름을 보기 위해서 로그를 보려는데 The logging tag can be at most 23 characters, was 24 (SecondActivity_Lifrcycle) 라는 빨간 경고창이 뜬다. 태그가 23자를 넘으면 안된다니 이게 뭔 소린가 찾아봤더니 역시 그 곳에는 나랑 똑같은 경험을 한 사람이 있었다... 내가 한 뻘짓은 이미 예전에 다른 사람이 했던 뻘짓이다. https://stackoverflow.com/questions/28168622/the-logging-tag-can-be-at-most-23-characters The logging tag can be at most 23 characters Since update AS 1.1 Preview 2, I'm g.. 2023. 12. 15.
TIL : 20231214 ui의 기본 단위는 view이다. 위젯 -> 화면을 구성하는 요소. 예)버튼,리스트,메뉴 등등 레이아웃 -> 뷰를 감싸면서 정렬하는 기능을 지는 ui요소 match_parent(혹은fill_parent) -> 부모 UI컴포넌트의 크기에 맞춤 wrap_content -> UI컴포넌트의 내용물 크기에 맞춤 위젯의 크기를 px로 쓰지 않고 dp로 쓰는 이유는 px은 절대값이기 때문에 화면의 크기가 달라지면 비율이 이상해진다. 그래서 비례값인 dp로 쓰는 것이다. TextView 속성 text -> 내용 textsize - > 글자 크기 textStyle -> 텍스트 스타일 normal,bold, italic typeface - > 폰트 textColor ->글자 색상 singleLine -> true면 위젯의.. 2023. 12. 14.
TIL : 20231213 북마크 북마크 F11, 컨트롤 F11을 하면 빠른 단축키 지정 가능. 빠른 단축키 사용은 컨트롤+내가 설정한 키. 빠른 단축키를 사용하면 바로 해당 라인으로 이동한다. 화면 하단 단추들 기능 version control -> 형상 관리 run -> 실행 중 나오는 메시지 (println() 같은거) profiler -> 실행 시 메모리 사용량, 네트워크 사용량 등 분석 용도 log cat -> 로그가 뜨는 곳. run과는 다름 ***** app quality insights -> firebase와 연동하여 퀄리티를 높힘. 잘 안씀 TODO -> 할 일 목록 .TODO("해야할 일")안에 적혀있는 내용을 한번에 보고 관리할 수 있다. problems -> 현재 소스의 문제점을 보여줌 terminal -> .. 2023. 12. 13.
TIL: 20231212 숫자들끼리는 toInt()나 toShort(),toDouble()을 입력해주면 변환된다. 문자를 숫자로 바꾸는 법은 Integer.parseInt(str), double은 str.toDouble()이다. 업캐스팅 , 자식객체에서 부모객채로 생성하는 것. 일반적으로 업캐스팅이 많이 쓰인다. 다운캐스팅, 부모객채를 자식객체로 생성하는 것. 다운캐스팅은 자식이 부모의 속성을 가져야하기 때문에 불가능함. 변수 is type -> is로 타입을 확인할 수 있다.true나 false를 반환한다. pair -> 보통 메소드는 하나의 객체만 반환한다. pair를 사용하면 2개의 객체를 반환할 수 있 다. 물론 콜렉션 같은 개체로 여러값을 전달하는 경우가 있긴 하다. pair(값,값) 형태로 변수에 담아서 반환하면 된다.. 2023. 12. 12.
코틀린: readLine/readln 으로 날짜만 입력받기 fun isDate() : Int { //입력 ex) 2024년01월01일, 2023-12-31, 2024/03/03 . 출력: 20240101, 20230213402 while(true){ try { var date = readln() date = date.replace("\\D".toRegex(),"") var day = date.takeLast(2).toInt() date = date.dropLast(2) var month = date.takeLast(2).toInt() date = date.dropLast(2) var year = date.toInt() var localDate = LocalDate.of(year,month,day) val formatter = DateTimeFormatter.of.. 2023. 12. 11.
프로그래머스 :공원 산책 class Solution { fun solution(park: Array, routes: Array): IntArray { var answer: IntArray = intArrayOf() var currentPlace = intArrayOf(0,0) for (i in park.indices){ if(park[i].contains("S")){ currentPlace[0]=i currentPlace[1]=park[i].indexOf("S") } } for(str in routes){ var move = str.split(" ") var check = true when(move[0]){ "E"-> { // println("E로 ${move[1]}칸 가야함- move[1]+curplace[1] = ${move.. 2023. 12. 11.
TIL : 코틀린 기초 생성자 생성자는 객체를 만들 때 값을 넣어주는 것이다. 주생성자는 클래스 이름 옆에 쓴다. 예)class 이름 ( --> name:String , age: Int 2023. 12. 11.
TIL: 프로그래머스 달리기 경주, 시간복잡도(Time Complexity) class Solution { fun solution(players: Array, callings: Array): Array { var answer: Array = arrayOf() var playerArray=players var change1 = 0 var change2 = 0 var temp= "" var idx = 0 for(i in 0 until callings.size){ change1= playerArray.indexOf(callings[i])-1 change2= change1+1 temp=playerArray[change2] playerArray[change2]=playerArray[change1] playerArray[change1]=temp idx++ continue } return a.. 2023. 12. 8.
TIL: 20231207 코틀린을 배우면서 느끼는 거지만 이 언어는 안전성을 최우선으로 두고 있는 것 같다. var orderList = ArrayList() var coffee= Drink() var tea= Drink() orderList += coffee // 들어간다 orderList += tea // 들어간다 var cat = Animal() orderList += cat // 안들어간다 하다보니 다른 타입의 객체를 한 리스트에 넣게 되었는데 컴파일에서 빨간 색으로 안된다고 표시를 해준다. 원시타입과 스트링 같은 경우는 같은 리스트에 넣을려면 컴패러블이라는 타입으로 둘 다 넣을 수 있어서 될 줄 알았는데 안되더라.... 왜 안되나 검색해보았다. 공변성과 반공변성 모든 타입을 넣을 수 있는 제너릭타입을 찾다가 나온 내용이.. 2023. 12. 7.