전체 글 412

[Android] viewpager setUserVisibleHint, swipe, transition, 양쪽 마진

ViewPager setUserVisibleHint (뷰페이저 보인 화면만 데이터 가져오기) https://black-jin0427.tistory.com/48 [Android, setUserVisibleHint] 뷰페이저에서 보인 화면만 데이터 받아오기 안녕하세요 블랙진 입니다. 한국에서는 카카오톡 앱을 많이 사용하는데 이는 4개의 ViewPager 로 구성되어 있습니다. 그렇지만 다른 화면으로 스와이프 했을 때, 해당 화면이 보여지고 나서 데이터 black-jin0427.tistory.com https://black-jin0427.tistory.com/48?category=727620 [Android, setUserVisibleHint] 뷰페이저에서 보인 화면만 데이터 받아오기 안녕하세요 블랙진 입니다..

안드로이드 2022.10.24

[Android] 데이터 바인딩(DataBinding)

데이터 바인딩(DataBinding) - 데이터 바인딩은 데이터를 xml상에 바로 연동시키는 작업을 말합니다. 1.APP단계의 build.gradle에 dataBinding을 추가해 줍니다. dataBinding{ enable = true } 에러) unresolved reference databinding발생 kotlin으로 작업 할 때 바인딩 에어가 발생할 수 있습니다. https://gogorchg.tistory.com/entry/Kotlin-unresolved-reference-databinding 링크를 통해 에러를 해결하세요. 혹은 APP단계의 build.gradle상단에 apply plugin: 'kotlin-kapt' 코드만 붙여줘도 충분히 해결이 된답니다. 2.User 클래스를 새로 만들..

안드로이드 2022.10.24

[Android] RxJava2 함수에 대해 알아보자

Android RxJava2 함수에 대해 알아보자 -공통적으로 사용하는 구독(수신)클래스 static class CustomSubscriber extends DisposableSubscriber{ @Override public void onNext(T t){ } @Override public void onError(Throwable t){ } @Override public void onComplete(){ } } 1.Just 파라미터를 통해 받은 데이터로 Flowable을 생성하는 연산자입니다. 최대 10까지 전달할 수 있고, 모든데이터가 수신되면 onComplete()수신. 기본적인 Flowable 생성자 함수로 볼 수 있으며 단순 작업에서 많이 사용. //파라미터 값을 순차적으로 송신하는 Flowab..

안드로이드/Rx 2022.10.24

RxJava에 대해 알아보자

RxJava에 대해 알아보자 RxJava -reactive programming을 하기 위한 라이브러리인 Rx(reactive extensions)의 JVM판. -reactive streams는 java8+에 친화적 -이벤트를 정의한 'Observable' 인스턴스에 대해 짧은 함수를 엮은(체인) 스트림 같이 이벤트 결과 데이터를 가공하는 처리를 정의, 지연실행, 비동기 콜백을 할 수 있다. -Rxjava2.x에서는 Observable, Single, Maybe, Flowable로 클래스를 구분 1.null을 보내게 되면 바로 nullpointerException처리. ->completable, maybe 활용 가능 2.Flowable은 Backpressure를 지원하는 Observable이다. 3.Su..

안드로이드/Rx 2022.10.24

[Android] Realm에 대해 알아보자

Android Realm에 대해 알아보자 1.설치하기 프로젝트 build.gradle 파일에 추가. buildscript { repositories { jcenter() } dependencies { classpath "io.realm:realm-gradle-plugin:3.5.0" } } 2.애플리케이션 build.gradle파일에 realm-android플러그인 apply plugin: 'realm-android' 3.ProGuard설정이 Realm라이브러리에 포함되어있습니다. 따로 규칙을 추가할 필요없음. 모델(Model) Realm모델 클래스는 RealmObject 기반 클래스를 상속받아서 생성합니다. Required field와 Null 값 null이 필드의 값으로 부적당한 경우, @Requir..

안드로이드 2022.10.24

[Android] Looper에 대해 알아보자

Android Looper에 대해 알아보자 Looper 루퍼는 이벤트 루프와 메시지 큐의 레퍼런스를 가지고 있는 클래스로 쓰레드가 메시지큐에 접근할 수 있는 수단을 제공한다. 루퍼 클래스는 한 쓰레드당 오직 한 개만 존재할 수 있다. worker 쓰레드가 생성된 후 main쓰레드와 메시지 통신을 하기 위해서는 반드시 루퍼를 생성해야 한다. 다음은 전형적인 루퍼를 가진 worker 쓰레드 구현의 예이다 looper의 prepare()메서드를 이용하여 looper객체 생성 //frameworks/base/core/java/android/os/Looper.java static final ThreadLocal sThreadLocal = new ThreadLocal(); public static void prep..

코틀린 & Java 2022.10.24

[Android] Java Stream에 대해 알아보자

Android Java Stream에 대해 알아보자 Java Stream 스트림이란? 스트림을 이용하면 선언형(즉, 데이터를 처리하는 임시 구현 코드 대신 질의로 표현할 수 있다.)으로 컬렉션 데이터를 처리할 수 있다. 선언형으로 코드를 구현할 수 있다. 즉, 루프와 if조건문 등의 제어 블록을 사용해서 어떻게 동작을 구현할지 지정할 필요없이 선언형 방식으로 동작의 수행을 지정할 수 있다. filter, sorted, map, collect같은 여러 빌딩 블록 연산을 연결해서 복잡한 데이터 처리 파이프라인을 만들수 있다. 여러 연산을 파이프라인으로 연결해도 여전히 가독성/명확성이 유지된다. filter메서드의 결과는 sorted메서드로, 다시 sorted의 결과는 map메서드로, map메서드의 결과는 c..

코틀린 & Java 2022.10.24

[Flutter] 이전 화면에 데이터 반환하기

Flutter 이전 화면에 데이터 반환하기 1.홈 화면을 정의 2.선택 창을 띄우는 버튼을 추가 3.두 개의 버튼을 가진 선택창 보여주기 4.하나의 버튼을 클릭하면 선택창을 닫음. 5.선택된 정보를 홈 화면의 snackbar에 보여줌. 1.홈 화면 class HomeScreen extends StatelessWidget{ @override Widget build(BuildContext context){ return Scaffold( appBar: AppBar( title: Text('Returning data demo'), ), //다음 단계에서 SelectionButton 위젯을 만들 것이다. body: Center(child: SelectionButton()), ); } } 2.선택창을 띄우는 버튼을..

Flutter & Dart 2022.10.24

[Flutter] 플랫폼 별 코드 작성

[Flutter] 플랫폼 별 코드 작성 Flutter의 플랫폼 별 API는 코드 생성에 의존하고 있지 않고, 유연한 메시지 전달 스타일을 사용합니다. -앱의 Flutter부분은 플랫폼 채널을 통해서 iOS나 Android가 될 수 있는 호스트에게 메시지를 보냅니다. -호스트는 플랫폼 채널에서 메시지를 받습니다. 그리고 플랫폼 네이티브 언어를 사용해서 몇 개의 플랫폼 별 APIs를 호출하고, Flutter부분인 클라이언트에게 응답을 보냅니다. 참고: Flutter가 Dart와 메시지를 비동기로 주고 받음에도 불구하고, 채널 메서드를 호출할 때, 메서드를 플랫폼의 메인 스레드에서 호출해야 합니다. 클라이언트 단에서는, MethodChannel이 메시지를 그에 상응하는 메서드로 보낼 수 있도록 해줍니다. 플랫..

Flutter & Dart 2022.10.24