분류 전체보기 (93) 썸네일형 리스트형 use를 사용하여 리소스를 닫아라 더 이상 필요 하지않을 때 close 메서드를 사용해서 명시적으로 닫아야 하는 리소스가 있습니다. 코틀린/JVM에서 사용하는 자바 표준 라이브러리에는 이런 리소스들이 많습니다.InputStream과 OutputStreamjava.sql.Connectionjava.io.Reader(FileReader, BufferedReader,CSSParser)java.new.Socket과 java.utill.Scanner등이 있습니다. 이러한 리소스들은 AutoCloseable을 상속받는 Closeable 인터페이스를 구현하고 있습니다.이러한 리소스는 최종적으로 리소스에 대한 참조(reference)가 없어질 때, 가비지 컬렉터가 처리합니다.하지만 굉장히 느리며 그동안 리소스를 유지하는 비용이 많이 들어갑니다. 따라서.. RecyclerView,viewHolder,Fagment RecyclerView 사용 이유 Listview의 경우 새롭게 리스트 항목을 렌더링 할때마다 레이아웃을 인플레이트 해야 하며 인플레이트 된 뷰를 찾아야 합니다. 그런데 이 두과정이 메모리와 성능에 악영향을 미치기 때문에 이것을 해결하기 위해 RecycleView를 사용합니다RecycleView를 사용하면 레이아웃을 매번 새롭게 인플레이트 하지 않고 기존에 있었던것을 재활용하게 됩니다. 그리고 ViewHolder pattern을 강제하기 때문에 한번 찾아 놓은 뷰를 계속해서 재활용 할 수 있습니다. ViewHolder pattern인플레이트 된 뷰들을 계속해서 찾는게 아니라 한번 찾아 놓고 그 객체의 참조를 어댑터 클래스의 내부 클래스로 저장해놓는 방식을 말합니다. 이렇게 객체를 보관 해두면 딱 한번만.. 적절하게 NULL 처리하는 법 null은 값이 부족하다는 것을 나타냅니다. 프로퍼티가 null이라는 것은 값이 설정되지 않앗거나 제거되었다는 것을 나타냅니다. 함수가 null을 리턴한다는 것은 함수에 따라서 여러 의미를 가질수 있습니다. 예를 들어String.toIntOrNull()은 String을 INT로 적절하게 변환할 수 없을 경우 null을 리턴 합니다.Iterable.firstOrNull(() -> Boolean)은 주어진 조건에 맞는 요소가 없을 경우 null을 리턴합니다.이처럼 null은 최대한 명확한 의미를 갖는 것이 좋습니다. 이는 nullable 값을 처리해야 하기 때문인데, 이를 처리하는 사람은 API 사용자 입니다.val printer: Printer? = getPrinter()printer.print() //.. 이번주 일기 월- AddContactDialog 구현을 위한 UI 디자인 구현 그후 binding 공식 문서 참고해서 DialogFragment 사용 그리고 Mainactivity에서 SaveInfoDialogFragment().show( supportFragmentManager, "SaveInfoDialogFragment") 사용해화면에 띄워보니 크기 조절 실패로 인해 버튼이 짤리는 상황 발생 이를 해결하기 위해WindowManager.LayoutParams params = dialog.getWindow().getAttributes() 사용 했지만 원하는데로 디자인이 안되서 ConstraintLayout으로 한번 더 감싸고 크기 조절 성공 화- 개인 브랜치에 pu.. x 만큼 간격 있는 n개의 숫자 class Solution { fun solution(x: Int, n: Int): LongArray { var answer = LongArray(n) answer[0] = x.toLong() for(i in 1 until n){ answer[i] = answer[i - 1] + x } return answer } } 나머지가 1이 되는 자연수 class Solution { fun solution(n: Int): Int { for(i in 2..n-1){ if(n % i == 1) return i } return 0 } } 결과 부족이 발생할 경우 null과 failure를 사용하라 함수가 원하는 결과를 만들어 낼 수 없을 때가 많습니다. 몇 가지 예를 들면 서버로부터 데이터를 읽어 들이려고 햇는데, 인터넥 연결 문제로 읽어 들이지 못한 경우조건에 맞는 첫 번째 요소를 찾으러 했는데, 조건에 맞는 요소가 없는 경우텍스트를 파싱해서 객체를 만들려고 했는데, 텍스트 형식이 맞지 않는 경우이러한 상황을 처리하는 매커니즘은 크게 다음과 같이 두가지 있습니다null 또는 실패를 나타내는 sealed 클래스(일반적으로 failure라는 이름을 붙입니다)를 리턴한다예외를 throw 한다.이러한 두가지는 중요한 차이점이 있습니다. 일단 예외는 정보를 전달하는 방법으로 사용해서는 안됩니다. 예외는 잘못된 특별한 상황을 나타내야 하며 처리되어야 합니다. 예외는 예외적인 상황이 발생 햇을때 나타내는게 .. gradle 안드로이드 SDK 요구사항최소 SDK 버전 - Glide에는 최소 SDK 버전 14 (아이스크림 샌드위치) 이상이 필요합니다.SDK 버전 컴파일 - Glide는 SDK 버전 27 (Oreo MR1) 이상에 대해 컴파일해야 합니다 . Gradle을 사용하는 경우 Maven Central 또는 JCenter를 사용하여 Glide에 대한 종속성을 추가할 수 있습니다. 또한 지원 라이브러리에 대한 종속성을 포함해야 합니다. dependencies { implementation 'com.github.bumptech.glide:glide:4.14.2' // Skip this if you don't want to use integration libraries or configure Glide.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 12 다음