본문 바로가기

전체보기

(217)
[iOS - Swift] cocoaPods로 라이브러리 추가 ( SnapKit 추가, 안드 개발자 시점 ) 안드로이드로 라이브러리 추가할땐 프로젝트내 gradle 파일에 간단하게 선언 해주고 싱크를 맞추면 되는데 iOS는 터미널을 이용하는 방법으로 하더라구요. ( 다른 방법이 있을수도 있겠지만 굉장히 불편하고 어렵게 느껴짐, 다른 방법을 알게되면 수정할게요 ! ) | 코코아팟 설치 터미널을 키시고 명령어를 입력해주세요. $ sudo gem install cocoapods 프로젝트 경로로 이동 설치가 끝나면 프로젝트의 경로로 이동하시면 됩니다. 이동 경로는 패키지 상단을 클릭 하셔서 보시면 됩니다. 경로중에 /Users/경로/프로젝트이름/프로젝트이름.xcoderproj 로 나와 있습니다. 아래 처럼 프로젝트 까지만 복사하셔서 경로를 이동해주세요. $ cd /Users/경로/프로젝트 Podfile 생성 $ pod..
[Android] Edittext 천단위 콤마(,) 설정 - 소수점 포함 Edittext에 숫자를 입력할때 TextWatcher를 이용해 천단위 콤마를 찍을수 있습니다. 관련 예제는 많지만 소수점을 사용할 경우에대한 내용은 없어서 작성했습니다. | 예제 소스 선 예제소스 후 설명 class PriceEditText(context: Context, attrs: AttributeSet?) : AppCompatEditText(context, attrs) { private var inputText = "" init { addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable?) { } override fun beforeTextChanged(s: CharSequence?, start:..
안드로이드 웹뷰 쿠키 동기화 이슈 웹뷰에서 저장된 쿠키가 삭제되는 경우가 발생합니다. 이런 경우 쿠키 매니저를 사용해서 동기화 해줘야 합니다. 구글링을 했을때 CookieSyncManager와 CookieManager 두가지를 사용한 예제들이 많은데 CookieSyncManager는 api21 부터 deprecated 됐기 때문에 CookieManager를 사용하셔야 하고 자세한 내용은 제 포스팅을 참고해주세요. [안드로이드/Android] 쿠키매니저 다루기 이번 포스팅의 주제는 쿠키매니저 입니다. 쿠키란? 웹 사이트에 방문한 사용자의 디바이스에 저장해 놓은 작은 데이터 파일입니다. 주로 사용자가 사이트를 재방문 했을때 편리함을 제공하기 superwony.tistory.com | 쿠키 보존 쿠키 저장 시점을 알수 없는 앱에 입장으로써 웹..
Webview 파일 다운로드 구현하기 웹뷰 관련 포스팅 Webview내 window.open 대응 하기 ( 새창 열기 에러 ) Webview 이미지 업로드 구현하기 Webview내 카카오톡 공유하기 에러 / 해결방안 Webview 쿠키 매니저 다루기 Webview 설정값 웹뷰에서 다운로드 기능을 별도로 구현해야 합니다. webview.setDownloadListener { url, userAgent, contentDisposition, mimetype, contentLength -> //.. 구현 } 위 코드 처럼 웹뷰에 리스너를 추가해 다운로드 타입으로 설정된 버튼등을 클릭했을때 별도 처리를 해야합니다. 엑티비티에서 사용중인 webview에 설정해도 되지만 웹뷰를 커스텀뷰로 생성해서 공통적으로 사용하면 설정 값이 변경되거나 추가할때 편리..
Webview내 window.open 대응하기 ( 새창 열기 에러 ) 웹뷰 연동시 새창을 여는 버튼이 작동하지 않아 웹 소스를 확인해보니 window.open으로 되어 있었습니다. 확인 해보니 WebChromeClient()의 onCreateWindow 메소드를 오버라이드해서 처리해야 합니다. var dialog: Dialog? = null webChromeClient = object : WebChromeClient() { override fun onCloseWindow(window: WebView?) { super.onCloseWindow(window) dialog?.dismiss() windowWebview?.destroy() window?.destroy() } override fun onCreateWindow( view: WebView?, isDialog: Boole..
Webview 이미지 업로드 구현하기 ( 카메라, 갤러리 ) 웹뷰가 아닌 네이티브만 작업하시는 분들은 제 블로그에 다른 포스팅을 참고해주세요 ! ( 그리고 해당 포스팅은 minsdk 21, Kotlin 기준으로 작업됐습니다. ) [안드로이드/코틀린] 카메라와 갤러리에서 이미지 가져오기 해당 포스팅은 제 블로그 조회수에 상당수를 기록했습니다. 그만큼 앱을 개발하는데 있어 이미지는 필수사항이라고 해도 과언이 아닙니다. 많이 부족함에도 불구하고 찾아주셔서 감사합니다. superwony.tistory.com | AndroidManifest.xml 권한 설정 카메라 파일을 읽고 쓰기 위해 3가지 권한을 사용합니다. 카메라로 찍은 사진을 onActivityResult로 바로 가져오지 않고, 빈 파일을 생성해서 카메라로 찍은 사진을 저장하기 때문에 저장소 권한이 필요 합니다...
[And] FCM (Firebase Cloud Messaging) 구현및 테스트 FCM은 앱의 업데이트와 같은 중요 정보를 전달하거나 마케팅 정보를 전달할때 유용합니다. 그리고 무료라는 점이 매력 있는 서비스 입니다. FCM으로 전달받은 메세지를 꾸미는 방법은 제 포스팅을 참고해주세요 [안드로이드/Android] 푸시(push) 종류별 구현 방법 및 오레오 대응 푸시는 사용자에게 정보(광고)를 전달하기 위해 앱 외부의 표시하는 UI입니다. 간단한 텍스트 형태부터 큰 이미지, 큰 텍스트 형태로 표시할 수 있습니다. 기본 알림 예제 var title = "알림 타이틀" superwony.tistory.com | Firebase 앱 추가 Firebase 콘솔에 프로젝트가 없다면 생성하시고, 생성된 프로젝트에 안드로이드 앱을 추가해 정보를 입력합니다. ( 생성된 프로젝트 > 프로젝트 설정 ..
[And] 백그라운드 위치 권한 사용하기 ( Android9,10 대응 ) ※백그라운드 위치정보는 TargetSdk가 아닌 앱이 깔린 디바이스의 소프트웨어 버전에 따라 동작이 다릅니다. 앱이 백그라운드에 있을때도 디바이스의 위치 정보를 사용하기 위해선 별도 권한을 추가해야 하며 이 포스팅은 Android9이상 부터 추가된 'ACCESS_BACKGROUND_LOCATION' 권한을 중점으로 작성됐습니다. 공식 문서를 참고하여 작성했습니다. Android9 이하 별도 권한 없이 위치 권한만 있으면 사용은 가능합니다. 하지만 오레오 버전부터 백그라운드 서비스를 일부 제한하면서 ( 시간당 호출수 제한 ) 백그라운드에서 위치 정보를 얻어 앱에 활용하는건 어려워졌습니다. 백그라운드 서비스가 오래 지속되지 않기 때문에 단발성 기능이 아닌 이상 사용 불가라고 보는게 맞을것 같습니다. Andr..