일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- programmers
- Retrofit Kotlin
- 다이얼로그 프래그먼트
- DataBinding
- dialog resize
- 레트로핏 MVVM
- recyclerview
- java
- viewBinding
- ScrollView Child View Height Programmatically
- dialogfragment singleton
- 프로그래머스
- Android
- 다이얼로그 크기조절
- lifecycleScope
- ScrollView with ConstraintLayout
- 위치정보확인
- 레트로핏2
- NestedScrollView
- 데이터바인딩
- 쉐어드
- 스크롤뷰 자식 뷰 높이 동적조절
- dialog fragment
- 리사이클러뷰
- Retrofit with MVVM
- 안드로이드
- 뷰바인딩
- 레트로핏 코틀린
- 인텐트란?
- location System
- Today
- Total
목록안드로이드(Android) (28)
안드로이드 세계
백그라운드에서 작업을 실행하면 RAM 및 배터리와 같은 제한된 리소스가 소모됩니다. 따라서, 배터리 수명을 개선하고 더 나은 사용자 경험을 제공하기 위해 백그라운드 실행에 대한 제한을 설정합니다. 잠자기 및 앱 대기 화면이 꺼져있고, 기기가 유휴 상태이고 충전중이 아닌 경우 백그라운드 위치제한 백그라운드 앱이 사용자의 현재 위치를 검색할 수 있는 빈도를 제한 백그라운드 서비스 제한 백그라운드 서비스가 실행되고 숨겨지거나 보이지 않는 방식으로 소비하지 못하도록 제한 응용프로그램 제한 개요 지연 가능한 비동기 작업을 쉽게 예약할 수 있는 API 작업을 즉시 실행할 필요가 없는 경우 분석 데이터를 서버로 보내는 경우, 백그라운드에서 데이터베이스 동기화 작업 등등.. 보장된 실행을 제공 앱이 종료되거나 기기가 ..
ScrollView를 이용하거나, NestedScrollView를 이용할 때 자식 뷰그룹으로 ConstraintLayout을 지정할 때가 있다. ConstraintLayout의 자식 뷰의 높이를 0dp로 준후에 layout_constraintHeight_percent를 이용해서 크기를 지정할때에는 자식 뷰그룹인 ConstraintLayout의 높이는 0dp이기 때문에 뷰가 그려지지 않는다. 검색을 하게되면 ScrollView 또는 NestedScrollView에 android:fillViewport="true"로 설정 하라는 글들이 많다. 실제로 사용해보면 ScrollView 또는 NestedScrollView의 크기만큼 먼저 그려주기때문에 자식 뷰들은 그려진다. 하지만 percent를 이용해서 크기를 ..
오늘은 안드로이드 네트워크 통신에 일반적으로 사용하는 Retrofit에 대해서 알아볼 것이다. Retrofit이란? - Retrofit is a networking library used to implement a type-safe REST client for Android. 직역을 하면, Android용으로 Type-Safe REST 클라이언트를 구현하는 데 사용되는 라이브러리이다. 사용법은 처음 사용하게 된다면 조금 복잡할 수 있는데, 몇 번 사용하다 보면 이해가 될 것이다. Setp 1. 라이브러리 Gradle에 추가 아래의 코드를 모듈 그래들단의 dependencies에 추가해준다. def retrofit_version = '2.9.0' implementation "com.squareup.retr..
SimpleDateFormat은 Date -> String 형태로 변환할 때 사용되어진다. 예시로 현재시간을 구할 때 다음과 같이 사용되어진다. fun getCurrentTime(): String{ val formatter = SimpleDateFormat("yyyyMMdd HH:mm:ss", Locale.getDefault()) return formatter.format(Calendar.getInstance().time) } 여기에서 주목할점은 format형태로 주어지는 "yyyyMMdd HH:mm:ss" 인데, 해당내용은 다음과같다. y year M Month in year d Day in month H Hour in day (0-23) m Minute in hour s Second in minute..
구글링을 해보면 여러 방면으로 해당에러가 발생하는 것 같다. Room, Intent.ACTION_GET_CONTENT 등을 이용할 때 발생하는 문제인것 같은데, 해결방법은 아주간단하다. 에뮬레이터를 껏다가 켜보았는데도 안된다면, 지웠다가 다시설치하면 정상적으로 동작한다. 단. 해당 에러관련 다른에러가 없는경우만 가능하다.
최신 버전(Android Studio 4.1.2)으로 올라오면서 버튼 백그라운드로 색상을 변경하게 되면 변경되지 않는 문제점이 발견되었다. 이전까지의 적용방법으로 적용을 해본다. 라운드 처리를 하고 버튼의 색을 빨간색, 윤곽선을 흰색으로 해보겠다. button_round.xml activity_main.xml 이전에는 이렇게 사용하면 라운드된 버튼과 색이 변경된 것을 볼 수 있었다. 하지만 최신 버전으로 들어오게 되면 라운드 처리는 되었지만 색의 변경이 전혀 이루어지지 않은 것을 확인할 수 있다. 해결방법은 다음과 같다. backgroundTint = "@null" background = "@drawable/button_round"적용 Button -> AppCompatButton으로 변경 Theme에서..
유저 아이디, 유저 이름, 체크박스를 가지는 리사이클러뷰를 간단하게 구성해본다. 이번 포스팅에는 편하게 만들기 위해서 뷰 바인딩을 사용하였다. 뷰 바인딩이란? [Android] ViewBinding (뷰바인딩) 편하게 사용되던 Kotlin-extension이 Deprecated 됨에 따라(Android Studio Version 4.1.1 기준) 자바에서 사용하던 findViewById를 사용하거나 ViewBinding, DataBinding을 사용하는 것이 좋다. 그렇기 때문에 주.. ryan94.tistory.com 간단하게 버튼을 누르면 리사이클러뷰 아이템이 추가되고, 체크박스를 선택할 수 있는 기능이 있는 것이다. (샘플이기 때문에 삭제 구현은 하지 않았다.) 다음과 같이 구성한다. 메인 clas..
BlueTooth가 앱이 켜진 후 연결되는건 잘감지가되지만, 이미 연결된 장치가 있는지 여부에 대해서 알 필요가 있었다. 구글링을 통해 알게되었는데, Method방식을 이용하였다. public boolean isConnected(BluetoothDevice device) { try { Method m = device.getClass().getMethod("isConnected", (Class[]) null); boolean connected = (boolean) m.invoke(device, (Object[]) null); return connected; } catch (Exception e) { throw new IllegalStateException(e); } } 연결되어있는 장치가 있다면 true를..