일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- 리얼하다
- 베드트레이
- 면접
- 안드로이드
- 캐치마인드
- 테트리스
- 슬기로운 온라인 게임
- 끝말잇기
- T자형인재
- 함수형 프로그래밍
- 아비투스
- 커스텀린트
- 1일1커밋
- 프래그먼트
- 지지않는다는말
- 소프시스
- 재택근무
- 어떻게 나답게 살 것인가
- 북한살둘레길
- 목적 중심 리더십
- 자취필수템
- 한달어스
- 한달독서
- 소프시스 밤부 좌식 엑슬 테이블
- 좌식테이블
- 한달브런치북만들기
- 베드테이블
- 브런치작가되기
- 목적중심리더십
- 한단어의힘
- Today
- Total
목록안드로이드 (164)
정상에서 IT를 외치다
안녕하세요. 블랙진입니다. 2018년 8월 6일 안드로이드 9 Pie가 정식 출시 되었습니다. 이에 발맞춰 안드로이드 TargetVersion 을 28로 올려야 되는 시련이 우리에게 찾아왔습니다. ㅠㅜ Android Developers Blog 위 링크와 설명을 보면 신규앱은 2019년 8월 까지, 기존의 앱은 2019년 11월 까지 TargetVersion 을 28로 올려야 됩니다. 버전을 올리지 않으면 구글스토어에서 업데이트를 받을 수 없다고 합니다.August 2019: New apps are required to target API level 28 (Android 9) or higher.November 2019: Updates to existing apps are required to target..
안녕하세요. 블랙진입니다. 지난시간 MVP 기본예제에 Room을 사용하여 최근 봤던 유저 목록을 저장해보았습니다. 이번시간에는 Dagger 을 사용하여 Presenter 을 외부에서 주입하도록 해보겠습니다. 현재 MVP 를 활용한 토이프로젝트를 총 3단계에 걸쳐서 리뷰를 진행하고 있습니다. 1. MVP 기본 예제2. Room 사용하기3. Dagger 사용하기 기존 프로젝트에서 MainActivity 만 Dagger 를 사용하여 리뷰해 보겠습니다. 1. Dagger 설정하기Dagger을 설정하는 방법은 포스팅을 확인해 주세요. 2. API Module 만들기GithubApiProvider 을 사용하여 Api 를 불러왔습니다. 이를 Dagger 을 사용하여 변환해 보겠습니다.Dagger 에서 모듈에 역활은 ..
안녕하세요. 블랙진입니다. 지난시간 Android MVP 기본예제에 대한 포스팅을 진행했습니다. 이번에는 기본 예제에 Room을 사용하여 최근 보았던 유저 목록을 저장해보겠습니다.현재 MVP 를 활용한 토이프로젝트를 총 3단계에 걸쳐서 리뷰를 진행하고 있습니다. 1. MVP 기본 예제2. Room 사용하기3. Dagger 사용하기 기존 작업물에서 MainActivity 하단에 Recent User 버튼이 생겼습니다. 클릭했던 유저의 데이터를 Room 데이터베이스에 저장하여 RecentActivity 화면에 보여줍니다. 또한 Clear All 버튼을 클릭하여 모든 데이터를 삭제할 수 있습니다. 1. Room 설정하기Room을 설정할 수 있는 방법은 포스팅을 확인해주세요.' 2. 엔티티를 만들어 줍니다.데이..
안녕하세요. 블랙진입니다. 안드로이드 MVP 를 활용한 토이 프로젝트 리뷰 포스팅입니다. 총 3단계에 걸쳐서 앱을 리뷰하겠습니다. 1. MVP 기본 예제2. Room 사용하기3. Dagger 사용하기 1. http://api.randomuser.me/?results=10 API를 통해 랜덤한 깃허브 유저 데이터를 받아옵니다.2. 받아온 데이터를 Recycler View 에 보여줍니다.3. API 데이터 외 Like 값을 넣을 수 있는 로컬 변수를 추가해 주었습니다.4. 유저의 상세화면에서 Like 버튼을 누른 갯수 만큼 유저 리스트에서 유저의 Like 값이 증가됩니다. 위 작업물은 링크에서 다운받으실 수 있습니다. 그럼 에서 보이는 앱을 MVP 패턴으로 바꾼 코드에 대해 리뷰를 시작하겠습니다.MVP 변환..
안녕하세요. 블랙진입니다. 지난 시간 안드로이드 캔버스 기본 예제에 이은 포스팅입니다. 지난 시간 Canvas는 도화지와 같아서 Paint를 사용해 색칠한다고 했습니다. 색칠을 하는데 있어서 두가지 색이 중복되면 더욱 다양한 색상과 효과가 나오듯이 Paint 에서도 PorterDiff.Mode 라는 것이 있습니다. PorterDiff.Mode 사용한 이미지https://i.ytimg.com/vi/WCXM4DnwT1g/maxresdefault.jpg 블랙펜서의 이미지를 가지고 테스트를 해보겠습니다.캔버스에 사용할 종이로 비트맵을 사용한다고 앞선 포스팅에서 설명했습니다.// blackpanther 이미지를 비트맵으로 변환해줍니다. Bitmap bitmap = BitmapFactory.decodeResourc..
안녕하세요. 블랙진입니다. 이번시간에는 캔버스의 기본 사용법에 대해 알아보겠습니다. 1. Canvas = 도화지 캔버스는 일종의 도화지라고 생각하시면 됩니다. 도화지에 사용되는 종이의 재료는 나무이죠. 캔버스에서 사용하는 종이의 재료가 바로 비트맵입니다. 아래는 구글문서에 있는 캔버스의 생성자입니다. 구글 문서 Canvas 보시는 바와 같이 캔버스를 생성하는데 그 안에 종이역활을 할 재료인 비트맵을 넣어주어야 합니다. 그럼 이를 코드로 표현해 볼까요?Bitmap bitmap = Bitmap.createBitmap(800,800, Bitmap.Config.ARGB_8888); Canvas canvas = new Canvas(bitmap); canvas.drawColor(Color.WHITE);가로 800,..
안녕하세요. 블랙진입니다. 한빛미디어 RxJava프로그래밍을 보며 리액티브를 공부한 내용을 정리하기 위한 네번째 포스팅입니다. 책은 예제 위주의 내용이므로 스케줄러가 잘 정리된 블로그에서를 일부를 발췌해 기록하겠습니다. - subscribOn() 함수는 구독자가 Observable 에 subscribe() 함수를 호출하여 구독할 때 실행되는 스레드를 지정합니다. - observeOn() 함수는 Observable 에서 생성한 데이터 흐름이 여기저기 함수를 거치며 처리될 때 동작이 어느 스레드에서 일어나는지 지정할 수 있습니다. 스케줄러의 종류 Schedulers.newThread()-> RxNewThreadScheduler-1 ... n새로운 스레드를 계속 생성합니다. Schedulers.computat..
안녕하세요. 블랙진입니다. 머테리얼 디자인을 변형하여 상단에 버튼이 고정되고 SwipeRefresh 기능이 추가된 예제를 만들어 보았습니다. 1. 상단에 버튼을 고정 하자 보통 AppbarLayout 과 CollapsingToolbarLayout 을 사용하여 머테리얼 디자인을 만듭니다. 이때 사용하는 플래그에 대해 잠시 살펴보겠습니다. 저는 위와 같은 기능을 구현하기 위해 CollapsingToolbarLayout 에서는 scroll 과 exitUntilCollapsed 를 설정 Toolbar 에서는 pin을 설정하였습니다.CollapsingToolBarLayout의 플래그 Toolbar의 플래그 public class CollapsingToolbarLayout extends FrameLayout Too..
안녕하세요. 블랙진입니다. 안드로이드 MVVM 패턴에 대한 토이프로젝트 리뷰 포스팅입니다. AAC의 ViewModel 과 LiveData 를 사용했으며 DataBinding 을 사용하여 MVVM 패턴을 구현하였고 Koin 을 사용하여 의존성을 없앴습니다. 내용이 궁금하신 분들은 제가 정리한 아래 링크를 확인해 보세요. - 데이터바인딩 라이브러리 사용기- MVVM 디자인 패턴의 기본 이해- Android Architecture Component(AAC)- Koin을 사용한 의존성 주입 기본 예제 1. http://api.randomuser.me/?results=10 API를 통해 랜덤한 깃허브 유저 데이터를 받아옵니다.2. 받아온 데이터를 Recycler View 에 보여줍니다.3. API 데이터 외 Li..
안녕하세요. 블랙진입니다. 한빛미디어 RxJava프로그래밍을 보며 리액티브를 공부한 내용을 정리하기 위한 세번째 포스팅입니다. Chapter 4 4.1 생성연산자 4.1.1 interval() 함수/** * 일정 시간 간격으로 데이터 흐름을 생성합니다. * 현재 스레드가 아닌 스케줄러에서 실행 */ public class IntervalExample { public void example() { Observable source = Observable.interval(100L, TimeUnit.MILLISECONDS) .map(data -> (data + 1) * 100) .map(Object::toString) .take(5); source.subscribe(MyLog::Log); CommonUtils...