본문 바로가기

전체 글96

[안드로이드/Kotlin] Thread개념 및 예제 프로그램 → 프로세스 → 스레드 Program (프로그램) - 파일이 저장 장치에 저장되어 있지만, 메모리에는 올라가 있지 않은 정적인 상태 - os가 프로그램에게 독립적인 메모리 공간을 할당하지 않아 실행되고 있지 않은 상태 - 그냥 실행 파일/코드라고 생각해도 될듯 Process (프로세스) - 운영체제로부터 자원을 할당받은 작업의 단위 - 실행되고 있는 컴퓨터 프로그램 - 실행 파일이 컴퓨터 메모리에 올라가있는 상태 Thread (스레드) - 하나의 실행 흐름 - 프로세스와는 다른 더 작은 실행 단위의 개념 : Single 스레드 : Multi 스레드 (하나의 프로세스가 여러 작업을 여러 스레드를 사용하여 동시에 처리. 각 task간 스위칭을 매우 빠르게) ❓프로세스와 스레드의 차이점 : os는 프.. 2022. 5. 19.
[안드로이드/Kotlin] Splash화면 만들기 Splash - 앱을 열 때 기본적으로 나타나는 화면 - 회사로고, 광고, 콘텐츠 등을 고정된 시간동안 표시하거나 or 앱이 완전히 로드되는 동안 사용자에게 잠시 보여지고 사라지는 화면 방식1) 핸들러를 이용해서 고정시간동안 splash화면을 보여주는 방식 → 이 방식은 무조건 고정시간동안 UX표시하므로 불필요하게 시간 뺏을 수도 있음 1. activity_splash.xml 파일 생성 2. SplashActivity.kt class SplashActivity : AppCompatActivity() { lateinit var binding : ActivitySplashBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(s.. 2022. 5. 19.
[안드로이드/Kotlin] ViewPager2 + TabLayout 사용 ViewPager - 한 화면에서 다음 화면으로 전환되는 화면 슬라이드 💻 2022. 5. 12.
[안드로이드/Kotlin] BottomNavigationView 사용, Fragment 전환 BottomNavigationView - 어플 하단의 아이콘을 눌렀을 때, 프래그먼트 전환을 해주는 위젯 1. menu폴더 생성 후 bottom_nav_menu.xml파일 생성 app:showAsAction="always" android:enabled="true" android:title="홈" tools:ignore="AlwaysShowAction" / 2. 각 메뉴 탭에 해당하는 Fragment의 xml파일 만들어주기 3. acitivity_main.xml파일 생성 - FrameLayout: 여러 개의 뷰들을 겹쳐서 배치 4. MainActivity.kt 작성 class MainActivity : AppCompatActivity() { lateinit var binding: ActivityMainBi.. 2022. 5. 12.
[안드로이드/Kotlin] ViewBinding 사용 ViewBinding - xml파일과 class파일을 연결해주는 기능 - xml상에 있는 파일들을 코틀린 코드에서 활용하기 위한 바인딩 작업 (메모리 상에 업로드) - NullPointException해결 - xml파일과 class파일을 연결하면서 코드가독성↑ 1. Gradle 선언 (모듈 단위 gradle파일) android{ viewBinding{ enabled true } ... } 2. viewBinding 전역변수로 선언 lateinit var binding: ActivityMainBinding // ↔ activity_main.xml 3. onCreate()함수에서 바인딩 초기화 해준다 override fun onCreate(savedInstance: Bundle?){ supser.onCrea.. 2022. 5. 12.
[백준] 2437번 저울 자바 문제 2437번: 저울 하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓 www.acmicpc.net 문제 풀이 구글링해서 풀었다. 논리 생각하기가 어려웠던 것 같다. 문제 예시로 알고리즘을 설명해보자면 우선 주어진 배열 [3, 1, 6 2, 7, 30, 1]을 정렬한다. → 작은 수부터 만들 수 있는 숫자를 찾기 위해서 정렬된 배열 A = [1, 1, 2, 3, 6, 7, 30], 배열 B를 A로 만들 수 있는 숫자 배열이라고 들겠다. A를 처음부터 반복하면서 B배열을 확인해보면 A[0]: 1로 만들 수 있는 숫자 B= {1} A[1]: 1 추가로 만들 수 있는 숫.. 2022. 5. 6.