일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 잡담글
- Python
- 캣푸드 기록장
- viewpager
- DynammincProgramming
- 안드로이드
- 사이드 프로젝트
- 14891_톱니바퀴
- AndroidStudion4.1
- velog
- 짤팁
- motionlayout
- kotlin
- singleclick
- 사이드프로젝트
- 스택/큐
- ARCore
- 백준
- 파이썬
- 알고리즘
- Delgate Pattern
- 애니메이션
- SpringAnimation
- datastore
- VectorDrawable
- 안드로이드 애니메이션
- Android
- Desigin Pattern
- viewBinding
- Android#Kotlin#사진
- Today
- Total
목록안드로이드 (26)
밍맹의 생각날 때 적는 블로그
저번 포스팅에서 ARCore의 Scenefrom 라이브러리를 사용하기 위한 세팅을 하는 법을 알아보았다. 이번 포스팅에서는 실제로 AR을 구현해보는 시간을 가져 볼 예정이다. 카메라 내에 원하는 지점에 터치를 하게 되면 그에 맞춰서 3D 오브젝트가 생성되는 실습이다. 대부분 라이브러리가 지원해주기 때문에 크게 어려움 없이 쉽게 구현할 수 있다. 레이아웃 설정 먼저 메인 레이아웃을 다음과 같이 설정해 준다. activity_main.xml 카메라가 비춰질 화면은 프래그먼트이며 이번 실습해서는 해당 프래그먼트가 화면 전체를 차지하도록 만들었다. 3D 오브젝트 설정 사용자가 원하는 지점을 터치하게 되면 오브젝트가 생성되는데, 이 오브젝트를 만들어줘야 한다. 우리는 그럴 정도의 능력은 없으니 인터넷에 있는 3D..
옛날부터 AR에 대한 흥미는 어느정도 있었지만 어떻게 만들어야할지 몰라 막막했을 때가 있었다. 그 때 당시 실력도 그렇게 좋지 못했고, 기초적인 부분에 대해서도 많이 부족했기 때문에 미뤄뒀다가 최근에 AR을 살짝 다루어 보았다. 구글에서 ARCore라는 아주 편리한 기능을 제공해주기 때문에 ARCore의 Sceneform을 이용해 볼 예정이다. ARCore란? ARCore는 구글에서 증강 현실 어플리케이션을 빌드할 수 있도록 만든 소프트웨어 개발 키트다. 그 중 Scenceform이라는 라이브러리가 존재하는데 이것을 이용하면 굉장히 쉽게 AR을 구현할 수 있게 된다. 자세한 내용은 링크를 참조하길 바란다. ARCore. https://developers.google.com/ar ARCore - Googl..
어플에 생동감을 더해주는 방법으로 애니메이션이 있다. View의 이동, 확대/축소, 회전, 투명도 조정 등 다양한 애니메이션을 사용할 수 있다. 그 중 아이콘에 대한 변화를 주는 애니메이션을 사용할 때 VectorDrawable을 많이 사용한다.음악 어플에서 흔히 보이는 아이콘인 시작/멈춤 아이콘 변경 애니메이션을 직접 만들어보면서 어떤 식으로 동작하는지 공부하고, 직접 스스로 응용해보면 좋을 것 같다. Vector Drawable이란?Vector Drawable이란 path라는 정보를 통해 Drawable Resource를 그리는 것을 말한다.말이 어렵게 되있는데, 간단하게 말하면 좌표평면 상에 점을 이용해 그림을 그리는 것이다.이해를 돕기 쉽게 예시를 들면 우리가 학생 때 배우는 함수 그래프 등을 생..
어플을 만들 때 카메라를 사용하는 경우가 많다. 당장 채팅어플만(카카오, 페매 등) 보더라도 갤러리에서 사진을 가져오거나, 직접 카메라로 사진을 찍어서 올리곤 한다. 그래서 카메라를 사용하는 법을 예제를 통해서 알아보고자 한다. 단순 Intent를 이용해서 카메라를 키고 사진을 받을 수 있지만 그렇게 되면 사진이 섬네일 형식으로 오기 때문에 파일에 사진을 저장하고, 그 파일을 불러오는 식으로 원본형태의 사진을 이미지뷰에 넣는 방식이다. 권한 설정 안드로이드 마시멜로우 버전(6.0) 이상부터는 앱에서 해당 권한이 필요할 때마다 사용자로부터 권한을 허가받도록 변경되었다. 그래서 카메라를 사용할 때도 권한을 확인해줘야 한다. 원래는 굉장히 복잡한 코드를 이용해서 권한 설정을 해줘야 하는데, 라이브러리를 이용해..
이번 포스팅에서는 데이터를 실시간으로 관찰할 수 있는 Obsevable 데이터에 대해서 알아보도록 하겠다. 이전 포스팅과 연관되는 부분은 아니지만 그래도 이전 포스팅들을 보고 오면 좋다. 1. DataBinding 1 - 기초 2. DataBinding 2 - BindingAdapter 실시간으로 데이터를 관찰해보자! 기존 안드로이드 개발을 할 때 화면에 보여주는 데이터에 변화가 생긴다면 어떻게 했는지를 생각해보자. A 텍스트 뷰에 적혀 있는 글자를 버튼을 눌러 다른 글자로 바꿀 경우 우리는 다음과 같이 값을 바꿔주었다. text_A.text = "내가 변경할 값" 이는 데이터가 변경될 때마다 우리가 직접 그 변경됨을 xml에 알려줘야 함을 의미한다. 그래서 우리는 값이 변경되면 뷰에서 알아서 변화를 감..
지난 번 포스팅에서 DataBinding에 대한 기초 실습을 통해 어떤 방식으로 DataBinding을 하는지 알아보았다. 이번에는 BindingAdapter라는 걸 이용하는 실습을 해보겠다. BindingAdapter란? 리사이클러뷰 아이템 요소에 프로필 사진, 이름, 나이가 들어간다고 해보자. DataClass에는 프로필 사진 Url (보통 이미지는 Glide를 이용하기 때문), 이름, 나이 요소가 들어가 있을 것이다. data class ProfileData( var profile : String, var name : String, var age : Int ) 우리는 데이터 바인딩을 할 것이기 때문에 각 요소를 바인딩 시켜주는 작업은 xml에서 진행을 할 것이다. 그런데, 여기서 문제가 발생한다! ..
혼자서 데이터 바인딩을 학습했다. 중간에 헤맸던 부분이 너무 많아서 이제야 포스팅한다... 지금까지 학습한 부분을 예제를 통해서 알아보자. 데이터바인딩이란? 우리는 안드로이드 어플의 한 화면을 만들 때, 뷰를 생성하고 그 뷰에 적절한 값들을 넣어준다. 평소처럼 개발을 한다고 생각하면 이런 식으로 액티비티에 뷰를 바인딩시켜주는 작업을 한다. val button : Button = findViewById(R.id.btnSample) 한 두 개라면 괜찮지만 한 화면의 뷰가 10개 이상 넘어간다고 했을 경우 굉장히 막막하다.... 코틀린은 extenstion을 이용해 편하게 작업이 가능하긴 하나, 이 또한 모든 바인딩을 액티비티에서 해주므로 내가 현재 공부하려는 MVVM패턴에서는 적절치 못하다. 그래서 데이터 ..
지금까지 나는 개발을 할 때 activity에 모든 코드를 때려 박았다. 어떻게 보면 대가리만 큰 코드가 되었다고 할 수 있다. 이렇게 activity에 모든 코드를 넣어버리면 자연스럽게 어플은 무거워지고, 뭐가 뭔지 보기 힘들 것이다. 그래서 자연스럽게 디자인 패턴으로 눈이 돌아갔고, 그중 MVVM패턴을 공부할 예정이다. 현재 나의 머리로는 이해하는데 많은 시간이 소요될 것으로 본다... 누가 알려주는 사람도 없고 구글링을 하면서 공부하고 있기 때문에 계속 찾아내면서 공부해야지.. ㅎ MVVM이 뭔데? MVVM은 View - ViewModel - Model 로 구성된 디자인 패턴이다. 웬만한 어플은 MVVM을 적용하고 있다고 봐도 무방하다. MVC와 MVP에서도 의존성이 해결되지 않아 만들어진 MVVM..