본문 바로가기

728x90
반응형

전체 글

(119)
[안드로이드 스튜디오] Dagger2는 무엇인가? Dagger2에 대해 알아보자 !@!@ 1. what is Dagger ? Dagger는 의존성 주입 프레임워크이다. - 의존성 주입은 클래스 간 의존성을 클래스 외부에서 주입하는 것 - 의존성의 인터페이스화를 통해 코드를 유연하게 하고, 클래스의 인스턴스를 외부에서 생성하는 것. ( 예를 들어 A클래스가 B클래스를 의존하는 경우 B object를 A클래스가 직접 생성하지 않고 외부에서 생성하여 넘겨주면 의존성을 주입한 것 ) 2. 의존성과 주입의 뜻 - 의존성 : 함수에 필요한 클래스 또는 참조변수나 객체에 의존하는 것으로,의존성이 있다는 것은 클래스 간 영향을 받는다는 뜻이다. 인터페이스를 사용하여 클래스로부터의 의존성을 없애야 한다. - 주입 : 주입은 클래스 외부에서 객체를 생성하여 해당 객체를 ..
[안드로이드 스튜디오 코틀린] 쉬운 하단 바 네비게이션바 만들기 ( +자바 코드 추가) 이와 같은 하단바를 만들어보자 ! 1. viewBinding을 이용하기 위해 viewBinding 설정 추가 - build.gradle(Module:app)에서 추가해 준다 ! viewBinding { enabled true } 2. Fragment를 이용해서 하단바를 만들기 때문에 Fragment 3개를 추가해준다. - New -> Fragment -> Fragment(Blank) 추가 이렇게, CalenderFragment, HomeFragment, MyPageFragment 총 3개를 추가해준다. ( 자동적으로 layout이 같이 만들어짐 fragment_calender.xml, fragment_home.xml, fragment_my_page.xml) 3. NaviActivity.kt를 생성해준다...
[안드로이드 스튜디오 코틀린] implementation 추가 하는 다양한 방법 유데미에서 인강을 듣고 있다. 영어로 된 인강이라 쉽진 않지만 들어왔던 단어들로 대충 이해하며 듣고 있다 ^_^ 항상 내가 Gradle(app)에서 implemention을 추가하는 방법은 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' 위와 같은 평범한 방법이였다. 하지만 다른 방법이 있다는 것을 봤다. dependencies { } 위에 def retrofitVersion = '2.9.0' 하고 버전을 변수 선언하고, def retrofitVersion = '2.9.0' dependencies { implementation "com.square..
[안드로이드 스튜디오 코틀린] viewBinding을 사용하는 이유, 사용법 viewBinding을 사용하는 이유 1. findViewById를 이용해서 xml의 뷰와 변수를 연결시켜주는 작업을 하지 않아도 된다. 2. 1과 같은 작업을 하지 않으니 코드가 간결해졌으며, 속도도 빠르고 안전하다. viewBinding 사용법 1. build.gradle(Module:.app)에서 android { ... } 위처럼 추가해주면 된다. 2. MainActivity(activity_main.xml) 이 ActivityMainBinding으로 만들어지며, activity_main안에 있는 id를 보다 쉽게 가져와 사용할 수 있다. 참고 https://developer.android.com/topic/libraries/view-binding 뷰 결합 | Android 개발자 | Androi..
[안드로이드 스튜디오 코틀린] 코틀린에서 자주 사용하는 라이브러리 의존성 모음 코틀린에서 자주 사용하는 라이브러리 의존성을 알아보자 ! 1. Retrofit2 - HTTP API 통신을 돕는 라이브러리로 , 서버와 통신을 할 때 사용한다. - Restful 통신을 쉽게 할 수 있다. - 서버에 JSON 객체를 통해 요청이나 응답을 주고 받지만, 안드로이드는 JSON객체를 바로 사용할 수 없기 때문에 변환 과정이 필요하기 때문에 GSON 라이브러리까지 추가해준다. implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:converter-gson:2.9.0' - 사용법 val retrofit = Retrofit.Builder() .baseUrl(BASE URL) .addCo..
[Kotlin] 코틀린 리스트 생성 방법 1. ArrayList fun main() { val testList = ArrayList() testList.add("a") testList.add("b") testList.add("c") println(testList) } ---------------------------- [a,b,c] - add로 리스트에 값을 추가해줌 2. listOf() fun main() { val testList2 = listOf("a", "b", "c") println(testList2) } ------------------------ [a,b,c] - 리스트 안에 있는 값을 바로 써줌 3. mutableListOf fun main() { val testList3 = mutableListOf("a", "b", "c") p..
[Kotlin] Sorting - 삽입 정렬(Insertion Sort) 삽입 정렬(Insertion Sort) 아직 정렬되어 있지 않은 임의의 데이터를 이미 정렬된 부분의 적절한 위치에 삽입해 가며 정렬하는 방식이다. 삽입 정렬을 반복할 때마다 하나의 입력 요소가 제거되고, 정렬된 list내에서 해당 요소가 속한 위치가 검색되어 삽입된다. ( 입력 요소가 없을 때까지 반복) class InsertionSort: AbstractSortStrategy() { override fun perform(arr: Array) { for (i in 1 until arr.size) { for (j in i downTo 1) { if (arr[j - 1] < arr[j]) break arr.exch(j, j - 1) } } } } 참고 https://github.com/bmaslakov/ko..
Binary numbers : 2진수 1. Decimal(10진수) vs Binary(2진수) We use the decimal number system, or simply put, we have 10 digits like 0,1,2,3,4,5,6,7,8,9. look at a number : 4251 So when we read this number, we just look at each digit starting from the last and multiply each digit by its corresponding power of 10. In the binary number system, we do exactly the same, except the base is 2, not 10. For example, 1011. 2. Binary ..

728x90
반응형