전체 글27 [Kotlin] apply, run, with, let, also 코틀린의 범위 지정 함수 - 특정 객체애 대한 작업을 블록(특정 객체에 대해 할 작업의 범위) 안에 넣어 실행할 수 있도록 하는 함수. - 구성 요소 : 수신 객체, 수신 객체 람다 [ 공식문서 ] https://kotlinlang.org/docs/scope-functions.html The Kotlin standard library contains several functions whose sole purpose is to execute a block of code within the context of an object. When you call such a function on an object with a lambda expression provided, it forms a temporary sc.. 2023. 9. 5. [Android] 앱 전체에 적용되는 스타일 및 테마 지정하기 오랜만에 글을 올리는것 같다. 신입 개발자로서 그동안 배운것들에 대해 쓰고싶은건 많지만 게을러서 써야지 써야지 하다보니 벌써 9월이 다가왔다.. 지금부터라도 조금씩 조금씩 올려야지.... 이번 글에서는 텍스트의 폰트나 크기, 버튼의 배경 등등을 앱 전체에 적용시키는 방법에 대해 쓸 것이다. TextView나 EditText, Button 등에 배경색, margin 등등 여러 속성값을 지정할 수 있고, 그에 들어가는 텍스트에도 폰트, 색상, 사이즈 등등 여러가지를 지정할 수 있다. 이전에 사용했던 방법은 다음과 같았다. activity_main.xml 에서 텍스트뷰를 작성하고, 내부에 필요한 속성들을 작성해주었다. "텍스트 뷰 입니다" 라는 텍스트가 30sp의 사이즈로 가운데에 #FF039BE5 색상으로 .. 2023. 8. 29. [Android] RecyclerView 이해하기 (2) - RecyclerViewAdapter 내부요소를 외부에서 사용하는 방법 지난번 포스팅에서 리사이클러뷰에 대해 정리하고 아이템을 넣어보았다. 이번 포스팅에서는 interface를 사용하여 Adapter에 있는 pos와 같은 값을 MainActivity에서 사용할 수 있게끔 해 볼 것이다. 우선, 리사이클러뷰의 각 요소에 대해 다시 정리해보자. ViewHolder 생성된 ViewHolder는 아이템의 모양을 보관하고 있고, 여기에 데이터만 변경하여 사용하게 된다. onCreateViewHolder 미리 정의한 리사이클러뷰의 한 아이템의 xml 레이아웃을 inflate하여 view의 형태로 ViewHolder 객체를 생성해준다 getItemCount Adapter가 생성되면 제일 먼저 실행되는 함수로, 리스트로 생성해야 하는 아이템들의 총 개수를 반환한다. onBindViewHo.. 2023. 5. 24. [Android] RecyclerView 이해하기 (1) 안드로이드에서 다량의 데이터를 표시할때, 리사이클러뷰를 많이 사용한다. 그동안 아무생각없이 사용했던 리사이클러뷰에 대해 확실하게 정리할 것이다. 안드로이드 개발자 문서에는 다음과 같이 설명하고 있다. RecyclerView를 사용하면 대량의 데이터 세트를 효율적으로 표시할 수 있습니다. 개발자가 데이터를 제공하고 각 항목의 모양을 정의하면 RecyclerView 라이브러리가 필요할 때 요소를 동적으로 생성합니다. 이름에서 알 수 있듯이 RecyclerView는 이러한 개별 요소를 재활용합니다. 항목이 스크롤되어 화면에서 벗어나더라도 RecyclerView는 뷰를 제거하지 않습니다. 대신 RecyclerView는 화면에서 스크롤된 새 항목의 뷰를 재사용합니다. 이렇게 뷰를 재사용하면 앱의 응답성을 개선하고.. 2023. 4. 19. [Android] 앱을 지워도 데이터가 남아있는 경우(AndroidManifest allowBackup 속성) 안드로이드 앱을 만드는 도중, 테스트를 위해 기존에 기기에 빌드했던 앱을 지우고, 다시 설치하여 테스트를 하려고 하였다. 앱에서는 첫 시작시 2가지정도의 사용자 데이터를 수집하고, 임의로 생성한 유저키와 데이터를 서버로 전송하여 사용자 정보를 등록한다. 이 과정은 설치 이후 첫 실행시에만 동작하게 하고, 사용자 데이터는 SharedPreference를 사용하여 기기에 저장한다. 이후 실행시에는 이 값이 저장되있는지 유무에 따라서 첫 시작 유무를 판단하게 하였다. 여기서 문제가 생겼는데, 내 테스트 기기인 GalaxyS20에서는 삭제이후 다시 빌드했을때 정상적으로 첫 시작 화면이 나왔지만, 다른 사람의 디바이스에 빌드되어있는 내 앱을 삭제하고 다시 빌드했음에도 첫 시작화면이 나오지 않고, 로그를 찍어봐도 .. 2023. 4. 16. Java(자바) - 선택정렬, 버블정렬, 삽입정렬, LRU(Least Recently Used) 오늘 학습한 선택정렬, 버블정렬, 삽입정렬, LRU 알고리즘에 대해 정리한다. 1. 선택정렬 주어진 리스트에서 최소값을 찾고, 그 값을 맨 앞의 값과 교체한다. 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체하는 정렬이다. n개의 리스트가 주어졌을때 시간복잡도는 O(n^2)이다. 전체 배열의 개수가 n일때 인덱스는 n-1까지 존재한다. 0부터 n-2까지 반복하는 i for 문에서 idx를 i 로 두고 j+1부터 n까지 반복하는 j for문을 내부에서 반복하며 array[j] < array[idx] 를 판별하여 idx위치의 값보다 j의 위치의 값이 작으면 idx를 j로 한다.(최솟값 인덱스 탐색) j for문 반복이 끝나면 array[i]의 값과 array[idx] 값의 위치를 교환해준다. 이 과정.. 2023. 1. 7. 이전 1 2 3 4 5 다음