일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- web
- DispatchTouchEvent
- Dropdown
- progressbar
- ayncAfter
- InAppPurchase
- 개발
- HTML
- RecyclerView
- UIPickerView
- CSS
- 스터디
- dispatchQueue
- viewpager2
- SWIFT
- SplashFragment
- retrofit2
- Android
- RxJava
- javascript
- imagepicker
- MemoList
- Alamofire
- ViewModel
- IOS
- aab
- Kotlin
- MotionEvent
- CalendarView
- 실행지연
- Today
- Total
목록전체 글 (32)
멜팅비의 개발 공부
RecyclerView의 Item 순서를 변경 - Drag & Drop, RecyclerView의 Item을 밀어서 삭제하기 - Swipe 기능을 라이브러리를 사용하지 않고 ItemTouchHelper를 통해 구현하는 방법을 정리하려고 한다. Drag & Drop 먼저, RecyclerView를 구현하기 위해 XML을 작성한다. activity_main.xml item_linear.xml ItemTouchHelper는 Android Support Lib에서 제공해주기 때문에 쉽게 구현이 가능하다. ItemTouchHelper를 사용하기 위해서는 ItemTouchHelpder.Callback을 구현해야 한다. ItemTouchHelperCallback.kt class ItemTouchHelperCallba..
오늘은 안드로이드 InApp 결제를 구현하기 위해서 공부한 내용과 실습 내용을 정리하려고 한다. 이번에 새로 들어가는 프로젝트의 요구사항 중 하나로 구독형 상품 결제 기능이 포함되어 있어서 이에 대한 기술 검토를 위해 InApp 결제 구현을 접하게 되었는데, 생각보다 어렵지 않고 정리가 잘 된 블로그가 있어서 쉽게 기술 검토 할 수 있었다. 구글 플레이 콘솔에서 설정 1. 구글 플레이 콘솔에 앱 등록 2. 구독 상품 등록 및 내부 테스트 등록 1. BillingClient 라이브러리 추가 dependencies { // BillingClient Library implementation "com.android.billingclient:billing:4.0.0" // Coroutine implementati..
안드로이드 프로젝트를 진행하다 보면 종종 만나게 되는 UI 중 하나는 바로 달력이다. 달력 UI의 경우 디자인에 따라 custom이 많이 필요하게 되는데 그때 유용하게 사용되는 라이브러리를 소개하려고 한다. 나의 경우 달력을 한 주씩 보여주는 UI를 작업하게 되었고, 활용 코드와 함께 정리하려고 한다. kizitonwose/CalendarView 라이브러리 https://github.com/kizitonwose/CalendarView GitHub - kizitonwose/CalendarView: A highly customizable calendar library for Android, powered by RecyclerView. A highly customizable calendar library fo..
요즘 안드로이드 사이드 프로젝트를 개인적으로 진행하고 있다. 현재 진행 중인 사이드 프로젝트에서 공공 데이터 API를 활용하여 데이터를 처리하는 기능이 있는데, 공공 데이터 API에서 지원하는 Response가 xml형태로 내려와서 xml로 내려온 결과를 변환하는 작업에 대한 내용을 정리하려고 한다. XML Parser 라이브러리 종속성 추가 //xml parser implementation 'com.tickaroo.tikxml:annotation:0.8.13' implementation 'com.tickaroo.tikxml:core:0.8.13' implementation 'com.tickaroo.tikxml:retrofit-converter:0.8.13' kapt 'com.tickaroo.tikxml..
Reactive Programing 프로그램 자신의 주변 환경과 끊임없이 상호작용을 하는데 프로그램이 주도하는 것이 아니라 환경이 변하면 이벤트를 받아 동작 (데이터의 흐름과 전달에 관한 프로그래밍 패러다임) 데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 메서드가 업데이트 되는 방식 사용하는 이유 사용자 경험을 향상시키고 싶어함 ⇒ 네트워크 운영을 위한 비동기 작업 필요 안드로이드의 어려움 = 비동기 처리 및 에러 핸들링, 수많은 핸들러 및 콜백으로 발생하는 디버깅 문제, 이벤트 중복 실행 등 ReactiveX 비동기 프로그래밍과 Observable 시퀀스를 이용해 이벤트를 처리하기 위한 라이브러리 장점 효율적으로 신속하게 비동기 처리를 도와줌 함수형 프로그래밍을 일부 지원함 옵저버..
2021년 6월 ~ 7월 동안 진행한 프로젝트와 업무에 대한 정리를 해보려고 한다. 최근 들어간 프로젝트들의 개발난이도가 점점 올라가면서 일정을 맞추기 바빠지면서 블로그를 정리할 시간이 많이 없었다..(핑계도 맞지만...) 6월엔 iOS App 개발 프로젝트 였는데 UI 위주로 진행을 하다가 중간에 기능 구현도 몇 가지 하게 되었다. 이 iOS APP 프로젝트를 하면서 어려웠던 점은 화면 사이즈별로 동일한 UI가 나오게 하기 위해서 비율을 맞추다 보니 엄청난 시간과 코드가 들어가게 되었다. 버튼이나 텍스트 등 요소들을 화면 크기에 대한 비율로 지정하다보니 엄청난 노가다 작업이 많았고, 아이폰에서 구현하기 어려운 디자인 요소들이 많아서 커스텀 뷰를 만드는데 시간이 많이 들어갔다.. (결과물은 예쁘게 나와서..
프로필 사진을 설정하는 등 사진첩에서 사진을 가져오는 기능을 구현해야 할 때 UIImagePickerController를 활용하면 된다. let imagePicker = UIImagePickerController() override func viewDidLoad() { super.viewDidLoad() imagePicker.delegate = self btnPicker.addTarget(self, action: #selector(btnPickerDidTap(:)), for: .touchUpInside) } @objc func btnPickerDidTap(_ sender: UIButton) { self.imagePicker.sourceType = .photoLibrary self.present(image..
Alamofire를 통해서 네트워크 통신을 할 때 다양한 Response가 내려오는데 Array형식으로 내려오는 데이터를 처리하는 방법을 정리하려고 한다. { "result": [ { "name": "Kim:, "age": 10 }, { "name": "Lee":, "age": 10 } } 개발을 하다 보면 위와 같은 형식의 Json ResponseBody가 내려오는 경우가 있다. 이럴 때 name과 age를 갖는 Person 구조체를 만들어서 Array으로 변환하여 데이터를 받아 처리하면 좋다. struct Response: Codable { let result: [T] } struct Person: Codable { let name: String let age: Int } 제너릭을 이용해서 어떤 타입..