일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dialogfragment singleton
- programmers
- 위치정보확인
- dialog resize
- java
- dialog fragment
- 프로그래머스
- 다이얼로그 크기조절
- 스크롤뷰 자식 뷰 높이 동적조절
- 데이터바인딩
- location System
- Android
- 뷰바인딩
- 인텐트란?
- 레트로핏 MVVM
- 레트로핏 코틀린
- ScrollView with ConstraintLayout
- lifecycleScope
- Retrofit with MVVM
- 레트로핏2
- 리사이클러뷰
- 안드로이드
- DataBinding
- viewBinding
- Retrofit Kotlin
- NestedScrollView
- 다이얼로그 프래그먼트
- recyclerview
- ScrollView Child View Height Programmatically
- 쉐어드
- Today
- Total
목록전체 글 (38)
안드로이드 세계
편하게 사용되던 Kotlin-extension이 Deprecated 됨에 따라(Android Studio Version 4.1.1 기준) 일반적으로 사용하던 findViewById를 사용하거나 ViewBinding, DataBinding을 사용하는 것이 좋다. 그렇기 때문에 주로 사용하던 findViewbyId는 제외하고 이번 포스팅에는 ViewBinding, 다음 포스팅에는 DataBinding을 정리할 것이다. ViewBinding? 뷰와 상호작용하는 코드를 쉽게 작성할수 있으며, 각 xml레이아웃 파일의 binding 클래스를 생성합니다. findViewById를 대체합니다. ViewBinding 사용법 build.gradle android { ... viewBinding { enabled = tr..
위치정보를 받기 위해서는 위치정보 퍼미션도 중요하지만, 기기가 위치정보를 on/off 했는지 확인하는 것도 중요하다. 아래의 방법을 사용한다면 위치정보 on/off여부를 알 수있다. fun isEnableLocationSystem(context: Context): Boolean { return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) { val locationManager = context.getSystemService(Context.LOCATION_SERVICE) as? LocationManager locationManager?.isLocationEnabled!! }else{ val mode = Settings.Secure.getInt(context...
커스텀 다이얼로그를 사용하다가 보면 원하는 크기대로 다이얼로그가 생성되지 않는다. 아래의 내용은 해당 커스텀 다이얼로그를 디바이스 크기 비율로 조절하는 법이다. 다이얼로그 프래그먼트 fun dialogFragmentResize(context: Context, dialogFragment: DialogFragment, width: Float, height: Float) { val windowManager = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager if (Build.VERSION.SDK_INT < 30) { val display = windowManager.defaultDisplay val size = Point() display...
1. SharedPreference 로컬에 데이터를 저장하기 위해서 사용하는데, 대용량은 Room, SQLite(로컬 디비)를 이용하고, 간단한 것(Key-value형태)들은 SharedPreference로 저장을 할 수 있다. 주로 간단한 설정(자동 로그인, 테마 설정, 최초 실행 여부 등)을 이용할 때 사용하면 좋다. 2. 사용법 먼저 사용할 파일의 이름을 지정하고, 모드(프라이빗, 퍼블릭)를 선택하여야 한다. 공유 파일이 여러 개일 경우는 getSharedPreferences, 하나인 경우는 getPreferences를 사용하면 된다. val sharedPref = activity?.getSharedPreferences( "파일명", Context.MODE_PRIVATE) val sharedPref..
안드로이드는 4대 컴포넌트(Activity, Service, Broadcast Receiver, Content Provider)가 있는데, 해당 컴포넌트 간의 작업을 수행하기 위한 메세징 객체를 인텐트(Intent)라고 한다. 기본적인 사용 사례는 다음과 같이 3가지가 있다. 액티비티 시작 startActivity() 서비스 시작 startService(), bindService(), jobScheduler 브로드캐스트 전달 sendBroadcast(), sendOrderedBroadcast() 인텐트 유형으로는 명시적인텐트, 암시적 인텐트가 존재한다. 명시적 인텐트 클래스의 객체나, 컴포넌트 이름을 명시적으로 지정해서 사용하는 것을 말한다. Intent(this@MainActivity, SecondAc..
안드로이드 4대 컴포넌트 안드로이드 4대 컴포넌트로는 액티비티, 서비스, 방송 수신자(BroadCast Receiver), 콘텐츠 제공자(Content Provider)가 있습니다. 이는 안드로이드 주요 구성 요소이며, 이들 간의 통신은 인텐트(Intent)를 이용합니다. 1. 액티비티(Activity) 어플리케이션 화면을 담당하는 컴포넌트입니다. 자바나 코틀린 소스에서 AppCompatActivity(안드로이드 하위 버전을 지원하는 Activity) 클래스를 상속받고 있어야 액티비티로 이용할 수 있습니다. 액티비티는 다음과 같은 생명주기를 가지며, 생명주기를 이용하여 원하는 기능을 구현합니다. 1) 생명주기 (출처 : https://kairo96.gitbooks.io/android/content/ch2..