본문 바로가기

분류 전체보기

(41)
[RxSwift, RxCocoa] bind와 subscirbe의 차이점 최근 RxSwift를 사용하여 iOS개발을 하다가 생긴 궁금증이였습니다. RxSwift를 사용하면 UIButton의 탭 이벤트, UITextField의 text change 이벤트들을 스트림으로 받아서 처리를 할 수 있습니다. 특히나 가장 보편적인 이벤트 스트림은 아래와 같은 탭 이벤트 입니다. override func viewDidload() { // 버튼 탭 바인딩 myPageView.modifyBtn.rx.tap.bind { print("Modify button was tapped") }.disposed(by: disposeBag) } 가장 기본적인 예제로 modifyBtn이란 UIButton을 눌렀을 때, 콘솔창에 문자열을 출력하는 로직입니다. 이때 bind(onNext:@escaping(Self..
안드로이드 문자리소스 Google Spread Sheet로 관리하기 (Android string resource with Google spread sheet) 안드로이드에서 리소스(resources)라 불리는 것들은 앱 내에서 사용하는 이미지, 문자열, 애니메이션, 레이아웃, 폰트, 아이콘등을 의미합니다. 이 글에서는 효율적인 문자열 관리를 위해 문자열을 Google spread sheet로 관리하는 방법에 대해 설명합니다. 문자열을 안드로이드 프로젝트 내부가 아닌Google spread sheet와 같은 외부요소로 관리하면 기획자 혹은 디자이너와 커뮤니케이션이 활발해지거나 잔 작업을 줄일 수 있습니다. 기획자가 직접 Google spread sheet에 접근하여 문자열을 수정할 수 있고 개발자는 별다른 수정없이 빌드만 하면 자동으로 수정된 문자열을 확인할 수 있습니다. 일반적인 안드로이드 문자열 리소스 관리 방법 기본적으로 안드로이드에서는 문자열을 res/v..
코틀린에서 레트로핏 사용하기 (Use retrofit2 with kotlin) 안드로이드 프로젝트에서 REST API를 호출하기 위해 가장 일반적으로 사용하는 라이브러리는 레트로핏(Retrofit) 입니다. 지금까지 자바 기반으로 레트로핏을 사용하다가 코틀린으로 작성하면서 기본적인 사용방법을 익히기 위해 작성된 포스트입니다. 해당 포스트에서는 Github의 프로젝트 Search API를 레트로핏으로 호출하는 방법을 소개합니다. (Search API는 별도의 key 필요없이 간단하게 호출 가능합니다.) 라이브러리 추가 Gradle(app) 파일에 다음과 같은 라이브러리를 추가합니다. retrofit : Retrofit 라이브러리 converter-gson : Json데이터를 사용자가 정의한 객채로 변환해주는 컨버터 라이브러리 adapter-rxjava2 : Retrofit을 Rx형태..
[iOS/Swift] UIButton생성과 이벤트 핸들러 정의 (without stroyboard) 해당 포스트는 안드로이드 개발자가 iOS개발을 처음도전하면서 잘 정리되어 있지 않던 내용들을 정리해놓은 글 입니다. 버튼을 만들고 버튼을 터치했을때 이벤트를 발생시키기 위해서는 크게 가지로 구현할 수 있습니다. (해당 포스트에서는 스토리보드를 사용하지 않습니다.) 1. View에서 버튼 생성 2. 버튼을 눌렀을 때, 실행할 함수 정의 3. addTarget을 통해 버튼 이벤트 연결 1. View에서 버튼 생성 ViewController와 MainView를 생성하여 화면에 버튼 하나를 생성합니다. // ViewController.swift import UIKit class ViewController: UIViewController { lazy var mainView: MainView = { return M..
[iOS] 커스텀 폰트 적용하기 (Swift) 해당 포스트는 안드로이드 개발자가 iOS개발을 처음도전하면서 잘 정리되어 있지 않던 내용들을 정리해놓은 글 입니다. 사용자가 원하는 폰트를 적용하기 위해 크게 5가지로 나눠집니다. 1. 폰트 파일을 프로젝트에 import 2. Info.plist파일에 폰트가 추가되었음을 명시 3. UILabelView 생성 4. 확인 1. 폰트파일을 프로젝트에 Import 사용자가 원하는 폰트 파일을 다운로드합니다. .ttf .otf 파일 모두 지원되는 것을 확인했습니다. (.wotf 파일은 인식하지 못했습니다.) import시킬 때, 위와 같은 창이 발생합니다. Add to targets에 자신이 만든 프로젝트를 반드시 체크해주세요. target 설정을 하지 않으면 폰트 파일을 프로젝트 내부에서 인식하지 못합니다. (..
Android 둥근모서리 이미지 뷰 만들기 (Android rounded corners image view) 사각형의 이미지의 모서리를 둥글게 만들어 주는 ImageView 만들기모바일 애플리케이션들을 사용하다보면 위에있는 사진처럼 이미지의 모서리가 둥근 버튼이나 이미지들을 많이 보게됩니다.하지만 실제 앱을 개발하는 입장에서는 모서리가 둥근 ImageView를 제공해주는게 가장 편하지만 실제 ImageView에서는 모서리를 둥글게 만들어주는 옵션은 없습니다.(있으면 알려주세요..ㅠ) 그래서 모서리가 둥근 ImageView를 만들기 위해 기존의 ImageView를 커스터마이징 한 클래스를 만들어 사용해야 합니다.RoundedImageView.kt12345678910111213141516171819202122232425262728293031323334353637383940414243444546class Rounde..
Android에서 GoogleFit 걸음수 데이터 조회하기 Google Fit 요즘 출시되는 스마트폰에는 기본적으로 있는 기능 중 하나로 걸음수는 빼놓을 수 없다. 건강이 중요시 되는 시대에 스마트폰 뿐만 아니라 걸음수를 포함한 여러가지 건강정보를 제공해주는 웨어러블 디바이스도 여러가지 출시되고 있다. Samsung Health, Fitbit, Apple Health(아이폰 사용한지 좀 되서.. 이름이..), Shaomi 등등 여러가지 플랫폼 제공회사들이 존재하는대 이중에 Google도 존재한다. 안드로이드 스마트폰 문만 아니라 안드로이드 계열의 웨어러블 디바이스에서 모두 제공한다. Google Fit on Android 스마트폰 혹은 웨어러블 디바이스에서 측정하는 건강 정보는 Sensor Adapters들과 연결되어 데이터를 전송하고 Google Play se..
Python과 Selenium으로 안드로이드 APK 크롤러 만들기 Overview 안드로이드 앱 설치를 바로 할 수 있는 APK(Android Application Package)파일을 자동으로 수집해주는 크롤러 입니다. 일상 생활에서 APK파일을 사용할 일은 거의 존재하지 않지만 다량의 앱실험을 위해서 제작하게 되었습니다. 현재 구글 플레이스토어에서 APK파일을 직접 다운받을 수 없습니다. 또한 APK파일을 다운 받을 수 있는 Google Play Store Unofficial API 가 존재 하지만 구글에서 공식적으로 지원하지 않는데다가 최근 오류로 인하여 안정적으로 APK파일을 다운받을 수 없어졌습니다. 따라서 API를 사용하지 않고 APK파일을 다운받을 수 있는 APKpure 사이트를 활용한 크롤러를 작성하게 되었습니다. 이런 크롤러가 필요한 대상들은모바일 관련..