전체 글
-
[Android] TextView 부분 글자 바꾸기 (Span)Android 2020. 12. 14. 16:59
* 부분 글자 색상 바꾸기 fun TextView.textColorSomeChange(changeText: String, @ColorRes color: Int) { val index = text.toString().indexOf(changeText) if (index != -1) { val ssb = SpannableString(text) ssb.setSpan( ForegroundColorSpan( ContextCompat.getColor( App.instance.context(), color ) ), index, index + changeText.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE ) text = ssb } } * 부분 글자 사이즈 바꾸기 fun TextView..
-
Retrofit2 + RxJava 에서 Header 가져오기Android 2020. 12. 6. 17:16
서버와 통신을 할때 header에 있는 토큰을 가져와야 할때가 있다. POST("/register") fun registerUser(@Body registerPostData: RegistrationForm): Single 보통 통신을 할때 반환을 보통 위에 처럼 하는데 POST("/register") fun registerUser(@Body registerPostData: RegistrationForm): Single 반환 타입에 Response로 감싸주면 header를 가져 올 수 있게 된다.
-
[Android] 파일 공유 대응 방법(File Provider)Android 2020. 11. 13. 10:46
Android 7.0 이상 버전부터는 파일 공유시에 정책이 변경되었습니다. 그래서 제대로 코드를 짰지만 파일 공유가 안되는 일을 겪으실 수 있습니다. 파일 경로를 file:// 을 사용하면 Fileuriexposedexception가 발생합니다. 안드로이드에서는 파일 공유시 접근 권한을 반드시 줘야하고 content://로 시작 해야합니다. 그리고 FileProvider를 사용하기를 권장하고 있습니다. FileProvider는 xml에 사용하는 경로별로 정의를 해 줘야 합니다.1. res/xml/provider.xml 2. Manifest 이 두 가지를 설정해주면 FileProvider를 사용하여 파일을 공유 할 수 있습니다.
-
Test your app's activitesAndroid 공식문서 2020. 10. 27. 08:54
Activities serve as containers for every user interaction within your app, so it's important to test how your app's activities behave during device-level events, such as the following: 액티비티는 앱 내의 모든 사용자 상호 작용에 대한 컨테이너 역할을 하므로 다음과 같은 기기 수준 이벤트 중에 앱의 액티비티가 어떻게 작동하는지 테스트 하는 것이 중요합니다. Another app, such as the device's phone app, interrupts your app's activity. The system destroys and recreates your ..
-
Handle Activity State ChangesAndroid 공식문서 2020. 10. 22. 15:06
Different events, some user-triggered and some system-triggered, can cause an Activity to transition from one state to another. This document describes some common cases in which such transitions happen, and how to handle those transitions. 몇몇 사용자가 트리거하고 몇몇은 시스템이 트리거하는 다른 이벤트로 인해 액티비티가 한 상태에서 다른 상태로 전환 될 수 있습니다. 이 문서에서는 이런 전환이 발생하는 몇 가지 일반적인 사례와 이런 전환을 처리하는 방법을 설명합니다. For more information about ..
-
[Android] 카카오 로그인 v2 API with kotlin - 1Android 2020. 10. 16. 18:03
카카오 로그인을 공부하면서 사용하는 방법을 정리 해볼까 합니다. 일단 카카오 내어플리케이션에 들어가서 앱을 등록 해줘야합니다. 앱 아이콘에는 앱에 사용할 아이콘 이미지를 넣어 주시면됩니다. 앱 이름은 스토어에 올릴 때 사용할 이름을 적어 주시면 됩니다. 사업자명은 회사명이나 개인 앱이라면 닉네임을 적어 주시면 됩니다. 그 다음 등록된 애플리케이션에 들어가줍니다. 플랫폼을 눌러 Android 플랫폼 등록을 들어가줍니다. 패키지명에는 로그인 기능을 넣을 프로젝트의 패키지명을 입력해주시면 됩니다. 마켓 URL는 런칭 했을때 다운로드 받을 수 있는 URL을 의미합니다. 키 해시는 디버그 키와 릴리즈 키가 있습니다. 디버그 키는 개발 환경에서 로그인 기능을 사용하려면 필수적으로 입력해야하고 릴리즈 키는 구글 스토..
-
Understand the Activity LifecycleAndroid 공식문서 2020. 10. 16. 17:23
As a user navigates through, out of, and back to your app, the Activity instances in your app transition through different states in their lifecycle. The Activity class provides a number of callbacks that allow the activity to know that a state has changed: that the system is creating, stopping, or resuming an activity, or destroying the process in which the activity resides. 사용자가 앱을 탐색하고, 그리고 앱..
-
Fragment 통신 (setTargetFragment, Listener)Android 2020. 10. 7. 17:11
많은 방법들이 있겠지만 setTargetFragment와 Listener를 생성해주는것 중에 생각이 들었습니다. dialog.setTargetFragment(this, DialogNumber.DIALOG_OFTEN) setTargetFragment는 이런식으로 dialog에 fragment와 code 값을 넘겨줍니다. targetFragment?.onActivityResult(targetRequestCode, Activity.RESULT_OK, Intent()) dialog에서 특정 이벤트 발생시 다시 통신을 보냅니다. override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult..