일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 안드로이드 os 구조
- Rxjava Observable
- android retrofit login
- 안드로이드 라이선스
- 자바 다형성
- 안드로이드 유닛 테스트 예시
- jvm이란
- 큐 자바 코드
- 안드로이드 라이선스 종류
- 스택 자바 코드
- 2022 플러터 설치
- 2022 플러터 안드로이드 스튜디오
- 클래스
- 스택 큐 차이
- 객체
- jvm 작동 원리
- rxjava cold observable
- 안드로이드 레트로핏 crud
- 서비스 vs 쓰레드
- 멤버변수
- 안드로이드 레트로핏 사용법
- rxjava disposable
- 서비스 쓰레드 차이
- android ar 개발
- rxjava hot observable
- ar vr 차이
- ANR이란
- 안드로이드 유닛 테스트
- 안드로이드 유닛테스트란
- 플러터 설치 2022
- Today
- Total
목록개인 공부 (107)
나만을 위한 블로그
바로 이전 글이 코틀린의 for 반복문에 대한 글이었는데, 이 for문과 같이 사용할 수 있는 범위(range)라는 요소가 있다. 코틀린 공식 홈페이지에서 말하는 범위는 아래와 같다. https://kotlinlang.org/docs/ranges.html#range Ranges and progressions | Kotlin kotlinlang.org range는 수학적 의미에서 닫힌 간격을 정의한다. range는 둘 다 범위에 포함된 두 끝점(endpoint) 값으로 정의된다. range는 비교 가능한 유형(type)에 대해 정의된다. 순서가 있으면 임의의 인스턴스가 지정된 두 인스턴스 사이의 range에 있는지 여부를 정의할 수 있다. range에 대한 주요 연산은 일반적으로 in 및 !in 연산자의 ..
먼저 for문에 사용할 컬렉션을 정의한다. fun main() { val names: List = listOf("감", "배", "사과", "포도", "바나나", "파인애플", "오렌지") } 이 names 라는 리스트 안의 값들을 출력하기 위해선 아래처럼 중괄호가 없어도 출력할 수 있다. for (item in names) println(item) // 감 // 배 // 사과 // 포도 // 바나나 // 파인애플 // 오렌지 중괄호를 사용한다면 아래처럼 쓸 수 있다. 결과는 위의 주석 앞에 "name : "이 붙은 형태일 뿐이다. for (name in names) { println("name : $name") } 그런데 for문을 사용하는 이유 중 하나가 배열 또는 컬렉션의 특정 인덱스를 갖는 아이템..
자바에 static 변수(필드), 메서드가 존재하듯 코틀린에서도 정적 변수와 함수가 존재한다. 그러나 코틀린의 문법 특성 상 이것들을 클래스 안에 둘 수는 없고, 코틀린에는 static이라는 키워드가 존재하지 않는다. 그럼 어떻게 사용할까? 이 때를 위해 존재하는 것이 companion object라는 것이다. 사용법은 아래와 같다. class TestClass { companion object { val name = "TestClass" fun method() {} } } fun main() { TestClass.name TestClass.Companion.name TestClass.method() TestClass.Companion.method() } 인텔리제이에서 위 코드를 복붙하고 보면 Compa..
자바와 100% 호환을 자랑하는 코틀린답게 코틀린 또한 자바처럼 생성자를 갖고 있다. 코틀린에서 생성자는 어떻게 사용할까? 먼저 자바에서 어떻게 사용하는지 확인해보자. 이름과 나이를 받는다고 가정하면 아래와 같이 만들 수 있다. public class ConstructorJavaTest { private String name; private int age; public ConstructorJavaTest(String name, int age) { this.name = name; this.age = age; } public ConstructorJavaTest() { } public String getName() { return name; } public void setName(String name) { t..
데코레이터의 원형인 Decorate는 아래와 같은 뜻을 갖고 있다. 장식하다, 꾸미다 즉 '어떤 장면, 부분 따위를 인상 깊고 의미하게 만들다'라는 의미를 가진 단어다. 원래의 것에 어떤 걸 추가하는 뉘앙스의 단어이니 데코레이터 패턴도 이 의미를 바탕으로 이름이 붙여진 것 아닐까?위키백과에선 아래와 같이 설명한다. https://ko.wikipedia.org/wiki/%EB%8D%B0%EC%BD%94%EB%A0%88%EC%9D%B4%ED%84%B0_%ED%8C%A8%ED%84%B4 데코레이터 패턴 - 위키백과, 우리 모두의 백과사전 ko.wikipedia.org데코레이터 패턴이란 주어진 상황, 용도에 따라 어떤 객체에 책임을 덧붙이는 패턴으로 기능 확장이 필요할 때 서브클래싱 대신 쓸 수 있는 유연한 대..
안드로이드 앱 개발을 하다보면 AlertDialog라는 알림창을 못해도 한 번은 쓰게 된다. 이 때 AlertDialog 안에서 보여줄 제목, 메시지, 각 버튼들을 설정할 때 아래처럼 메서드 체이닝 형태로 쓸 수 있다. 그리고 메서드 체이닝을 하기 전에 컨텍스트를 생성자로 넘겨 AlertDialog.Builder 객체를 만들어야 한다. 이 Builder란 키워드가 붙은 이유는 AlertDialog가 빌더 패턴으로 만들어졌기 때문이다. 빌더의 사전적 정의는 아래와 같다. 건축업자, 건축 회사, ~을 만드는(개발하는) 사람(것) 이 빌더 패턴에 대해 위키백과는 아래와 같이 말한다. https://ko.wikipedia.org/wiki/%EB%B9%8C%EB%8D%94_%ED%8C%A8%ED%84%B4 빌더 ..
이번 포스팅에선 변환 연산자 중 map, flatMap, groupBy에 대해 알아본다. map ReactiveX 공식 홈페이지에선 map 연산자를 아래와 같이 설명하고 있다. http://reactivex.io/documentation/operators/map.html ReactiveX - Map operator RxJS implements this operator as map or select (the two are synonymous). In addition to the transforming function, you may pass this operator an optional second parameter that will become the “this” context in which the t..
※ 이 포스팅에서 사용하는 Rxjava 버전은 3.x이다. 2.x를 사용할 경우 import 과정에서 오류가 날 수 있는데 2.x 버전에서 사용할 수 있도록 import 구문을 바꿔주기만 하면 문제없이 작동한다. 예전에 Rxjava의 생성 연산자 중 create, interval, just에 대해 포스팅했던 적이 있다. https://onlyfor-me-blog.tistory.com/329 [Rxjava] 연산자의 종류와 생성 연산자(create, interval, just) Rxjava에는 수많은 연산자들이 있다. http://reactivex.io/documentation/operators.html ReactiveX - Operators Introduction Each language-specific..
Rxjava는 데이터를 발행하는 생산자, 발행된 데이터를 받아 처리하는 소비자로 나눠진 형태로 구성된 Reactive Streams를 바탕으로 하는 라이브러리다. 또한 옵저버 패턴을 확장해서 관찰 대상 객체의 상태가 변하면 이걸 관찰하는 객체에 알려주는데, 결국은 누가 누군가를 구독해야 한다. 그럼 구독 해제는 어떻게 할까? 관심없어지면 당연히 구독 해제도 할 수 있어야 하는데 이걸 위해선 어떤 걸 사용하면 좋을까? 이걸 도와주는 것이 Disposable이다. 그 전에 왜 Disposable이란 이름이 붙었을까? 이 단어의 사전적 정의는 아래와 같다. 사용 후 버리게 되어 있는, 일회용의 / 이용 가능한 이 Disposable에 대한 설명을 찾아봤는데 공식 홈페이지로 보이는 Rxjava Javadoc에서..
제목의 3가지는 모두 Observable의 변형이다. 즉, Observer가 데이터를 처리할 수 있도록 데이터를 내보내는 역할을 하는 생성기라는 것이다. Observable을 아직 모른다면 예전에 작성한 포스팅이 있으니 참고하고 먼저 보고 오는 걸 추천한다. https://onlyfor-me-blog.tistory.com/326 [Rxjava] Observable이란? - 1 - 이제 코틀린과 같이 Rxjava를 공부할 건데, 어디서부터 공부할지가 막막해서 구글을 돌아다니다가 발견한 아래와 같은 순서로 한번 시도해보려고 한다. https://zzandoli.tistory.com/24 [RxJava] RxJava 학습 onlyfor-me-blog.tistory.com Observable과 Single은 R..