본문 바로가기

전체 글

안드로이드 RxJava #2 Observable 안녕하세요 이번 시간에는 RxJava에 Observable에 대해 알아봅시다. RxJava는 반응형 프로그램입니다. 반응형 프로그램이란? 주변 환경과 끊임없이 상호 작용을 하는 프로그래밍을 의미합니다. 프로그램이 주도하는 것이 아닌 환경이 변하면 이벤트를 받아 동작하도록 만드는 프로그래밍 기법을 말합니다 RxJava에는 Observable(식별가능한)을 subscribe(구독) 하는 Observer(관찰자)가 존재합니다. Observable는 onNext(), onComplete(), onError() 이벤트를 사용하여 동작합니다. onNext() : 하나의 소스 Observable에서 Observer까지 한 번에 하나씩 순차적으로 데이터를 발행합니다. (데이터를 담는다라고 생각하면 편할 듯...) on.. 더보기
안드로이드 RxJava #1 기초 내용 (PublishSubject) 안녕하세요 오늘부터 RxJava에 대한 글을 작성하려 합니다. RxJava는 비동기 처리를 할 때 사용합니다. 비교적 쉬운 AsyncTask를 이용해 비동기 처리를 할 수 있습니다. 하지만 AsyncTask는 안드로이드11부터 Deprecated 되었습니다. Deprecated는 중요도가 떨어져 더 이상 사용되지 않고 앞으로는 사라지게 된다는 뜻이라고 하네요 오래된 핸드폰에서는 AsyncTask를 사용해도 문제는 없지만 앞으로 새로운 스마트폰이 나올 예정이고 안드로이드 11 이상이기 때문에 비동기 처리를 할 때는 RxJava 또는 Coroutine을 많이 이용한다고 합니다. 우선 RxJava를 사용하기 전에 동기, 비동기가 무엇인지 알아보고 시작하겠습니다. 1. 동기 서버에 요청을 보냈을 때 응답이 돌아.. 더보기
안드로이드 LiveData 사용 방법(ViewModel) 안녕하세요 이번 시간에는 LiveData에 대해 알아보겠습니다. LiveData는 Observer기법을 사용합니다. LiveData는 관찰 가능한 데이터 홀더 클래스입니다. 쉽게 말해서 Observer가 LiveData를 관찰하고 있으며 변화가 있을 때 onChanged 이벤트를 발생시킵니다. LiveData는 읽을 수 있지만 변경할 수는 없습니다. 데이터를 변경하고 싶으면 MutableLiveData를 이용해야 합니다. 이름에서 알 수 있듯이 MutableLiveData는 데이터를 변경할 수 있습니다. ViewModel 내부에서 데이터는 편집 가능해야 하므로 MutableLiveData 를 사용합니다. ViewModel 외부에서 데이터를 읽을 수 있지만 편집은 불가능합니다. 그래서 외부에 보여지는 데이.. 더보기
안드로이드 DataBinding 사용 방법 안녕하세요 이번 시간에는 DataBinding에 대한 글을 업로드하려 합니다. DataBinding은 요즘 많이 사용하는 MVVM패턴의 기초되는 내용입니다. 그럼 시작하겠습니다. 버튼을 만들고 그 버튼을 클릭하면 버튼의 text값을 변경하는 앱을 만들었다고 가정해 봅시다. layout에서 버튼을 만들어주고 id 값을 설정해 줍니다. 이후 Main에서 findViewByid를 통해 버튼을 선언해 주고 버튼을 클릭하면 setText()를 통해서 버튼의 text값을 변경할 것입니다. 문제없이 정상적으로 출력될 것입니다. 하지만 만약에 버튼이 100개 라면 100개를 모두 선언해야 사용할 수 있습니다. 이러한 방법은 비효율 적입니다. DataBinding은 findViewByid를 대체하는 기술입니다. find.. 더보기
[안드로이드] #4 평단가계산기+크롤링 마무리 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션뷰) 안녕하세요 이전 블로그 내용과 이어지는 내용입니다. 혹시 이전 블로그를 아직 보지 못하신 분들은 아래 링크를 클릭해 먼저 봐주세요 https://adc6981.tistory.com/10 [안드로이드] #3 크롤링+리사이클러뷰 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션뷰) 안녕하세요 이번 시간에는 크롤링을 하고 리사이클러뷰에 담아보는 것을 해보겠습니다. 이전 블로그 내용과 이어지는 내용입니다. 혹시 이전 블로그를 아직 보지 못하신 분들은 아래 링크를 클 adc6981.tistory.com 이번 시간에는 앱을 처음 실행했을 때 인트로 화면, 앱 아이콘, ProgressDialog를 만들어보겠습니다. 인트로 화면 부터 만들어 보겠습니다. intro.xml파일을 만들어 주세요 인트로화면에 보일 이.. 더보기
[안드로이드] #3 크롤링+리사이클러뷰 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션뷰) 안녕하세요 이번 시간에는 크롤링을 하고 리사이클러뷰에 담아보는 것을 해보겠습니다. 이전 블로그 내용과 이어지는 내용입니다. 혹시 이전 블로그를 아직 보지 못하신 분들은 아래 링크를 클릭해 먼저 봐주세요 https://adc6981.tistory.com/9 [안드로이드] #2 주식, 코인 평단가계산기 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션 안녕하세요 이전 블로그 내용과 이어지는 내용입니다. 혹시 이전 블로그를 아직 보지 못하신 분들은 아래 링크를 클릭해 먼저 봐주세요 https://adc6981.tistory.com/8 [안드로이드] #1 바텀네비게이션뷰 adc6981.tistory.com 우선 화면 구성부터 해보겠습니다. frag2.xml android:background="@drawa.. 더보기
[안드로이드] #2 주식, 코인 평단가계산기 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션뷰) 안녕하세요 이전 블로그 내용과 이어지는 내용입니다. 혹시 이전 블로그를 아직 보지 못하신 분들은 아래 링크를 클릭해 먼저 봐주세요 https://adc6981.tistory.com/8 [안드로이드] #1 바텀네비게이션뷰 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션뷰) 안녕하세요 이번 시간에는 주식 평단가 계산기를 만들어 볼게요 주식 평단가 계산기만 만드는 것이 아니라 현재 코스피, 코스닥 지수와 네이버 금융 주요 뉴스를 크롤링하는 것을 포스팅하겠습 adc6981.tistory.com 이번 시간에는 Frag1에 주식, 코인 평단가 계산하는 것을 해보겠습니다. 먼저 화면 구성을 해주겠습니다. RelativeLayout을 이용해 frag1.xml 만들어 보겠습니다. RelativeLayout이 생.. 더보기
[안드로이드] #1 바텀네비게이션뷰 (주식, 코인 평단가 계산기 + 크롤링 + 바텀네비게이션뷰) 안녕하세요 이번 시간에는 주식 평단가 계산기를 만들어 볼게요 주식 평단가 계산기만 만드는 것이 아니라 현재 코스피, 코스닥 지수와 네이버 금융 주요 뉴스를 크롤링하는 것을 포스팅하겠습니다. 총 3편으로 나눠서 업로드하겠습니다. 1. 바텀네비게이션뷰 화면 구성 2. 주식 평단가 계산기 3. 크롤링 오늘은 바텀네비게이션뷰 화면 구성을 해보겠습니다. 바텀네비게이션뷰를 이용해 2개의 프래그먼트를 만들어 주겠습니다. 천천히 제가 하는 것을 따라 하시면 위와 같은 결과물을 만들 수 있습니다. menu를 만들어줍니다. res→new→Directory에서 menu라는 새로운 Directory를 그러면 menu라는 파일이 생성됩니다. 여기에 bottom_menu.xml파일을 만들어줍니다. bottom_menu.xml 그.. 더보기

반응형