일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- NDK
- RxAndroid
- 안드로이드
- Django REST
- 프로그래머스
- Flutter TextField
- Django REST framework
- 코틀린
- Android P
- android push
- Rxjava2
- Kotlin
- C/C++
- UWP
- android architecture component
- flutter firestore
- Django REST Android
- C
- livedata
- Android
- Java
- mfc
- RxJava
- Python
- 안드로이드 구글맵
- FLUTTER
- C++
- dart
- kodility
- 알고리즘
- Today
- Total
목록Java,Android (120)
개발하는 두더지
화면회전이 발생하면 onCreate()가 호출되면서 UI를 새로 그리게 됩니다.UI를 새로 그리지 않고 가로 모드, 세로 모드에 따라서 UI를 어떻게 변경할 수 있을까요? 우선 configChanges에 orientation과 screenSize 값을 설정해줍니다. 그러면 화면 전환시 onCreate()가 호출되지 않습니다. 화면 전환시 발생하는 이벤트 콜백에서 화면 모드에 따라 다른 동작을 진행하면 됩니다.@Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if(newConfig.orientation == Configuration.ORIENTATION_P..
디바이스 맨 위에 시간, 배터리등을 표시하는 상태바(Status Bar)를 없애는 방법은 간단합니다.간단하게 Style을 지정해서 적용할 수 있습니다. styles.xml AndroidManifest.xml
github에 프로젝트를 관리하면서 gitignore에 들어있는 내용중 .idea 폴더 중 일부가 github에 등록되지 않게되는 것을 보았습니다. 그러다가 .idea 폴더에는 어떤 파일들이 들어있는 것인지 검색하고 정리한 내용입니다. 1. assetWizardSettings.xml - 예를들어 Vector Asset 에서 icon을 추가했다면 마지막으로 추가한 아이콘의 정보를 저장함2. build_file_checksums.ser - build.gradle, settings.gradle, gradle.properties, .gradle/ 의 환경설정 관련 파일들이 변경되었는지 여부를 파악하는 파일. 즉, 이 값이 변경되면 sync가 필요하다는 뜻.3. codeStyles 폴더 - 프로젝트 코드스타일 정..
안드로이드 프로젝트를 진행할 때 모바일 로컬 데이터베이스로 어떤 것을 선택해야 하나요?아래의 내용을 참고해보세요 RoomGoogle I/O 2017 안드로이드 아키텍쳐 컴포넌트에 소개됨모바일 데이터베이스인 SQLite를 통해 추상화 레이어를 제공하므로 SQLite의 모든 기능을 사용 가능함SQLite를 감싼 레이어 계층으로 보면되기때문에 많아야 64KB정도의 용량만 차지함. Realm에 비해 아주 적은 용량메서드의 수가 적기때문에 DEX 크기 제한에도 고민하지 않아도됨.SQL Query문을 작성할 줄 알아야 함LiveData 를 몇가지 단계만 거치면 쉽게 연결할 수 있음Rx 지원 Realm모바일 데이터베이스 솔루션임대부분 C++로 작성되있음SQL Query를 몰라도되기때문에 사용하기 편함. ORM 개념으..
Android Oreo 적용시 확인해야될 사항 1. 서비스 백그라운드 제한- 백그라운드에서 어떤 동작을 하는 서비스를 만들때 startService 메서드를 포그라운드 상태를 제외하면 사용하지 못함.대신, startForegroundService 를 사용하면 되는데, 5초 가량 백그라운드에서 작업이 진행된다는 알림이 보여줘야 함.액티비티의 onCreate에서 startForegroundService로 백그라운드 서비스를 실행시키고 5초안에 백그라운드 서비스의 onCreate에서 startForeground 메서드를 통해 현재 백그라운드 작업이 진행중임을 Notification을 띄워서 보여주면 ANR이 발생하지 않음.주의할 점은 서비스가 종료할때 Notification도 stopForeground로 가능..
[Effective Java 규칙75] 사용자 지정 직렬화 형식을 사용하면 좋을지 따져보라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 기본 직렬화 형식에는 객체 안에 담긴 데이터와 객체를 통해 접근할 수 있는 모든 객체를 담긴 데이터가 들어있다. 즉 외부로 공개하지 않으려고 했던 private으로 선언한 필드들도 직렬화에 담긴다. 가장 효과적인 직렬화 형식은 논리적 데이터만 들어있어야 하며, 물리적 표현과는 무관해야 한다. 그래서 기본 직렬화 형식은 그 객체의 물리적 표현이 논리적 내용과 동일할 때만 적절하다. 예를들어, 사람의 이름을 표현하는 클래스의 경우 기본 직렬화 형식을 그대로 이용해도 된다.어떤 사람의 이름은 성, 이름, 중간 이름을 나..
[Effective Java 규칙74] Serializable 인터페이스를 구현할 때는 신중하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 클래스 선언부에 implements Serializable 만 붙이면 직렬화 가능한 객체를 만들 수 있다. 지금까지 이 키워드를 사용해서 직렬화 객체를 만들고 intent에 데이터를 보내는 용도로 사용해 왔다. 바이트 스트림으로 변경해서 전송하는 직렬화 기능에는 문제는 없다. Serializable을 구현하면 클래스의 private, package-private 객체 필드도 공개가 되어서 정보 은닉을 위해 필드의 접근 권한은 최소화해야 한다는 규칙이 깨져버리게 된다. 그리고 모든 직렬화 가능 클래스에는 고유한..
[Effective Java 규칙71] 초기화 지연은 신중하게 하라Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 초기화 지연(lazy initialization)은 클래스, 필드 등을 사용하는 시점에 초기화를 하는 기법입니다. 대부분의 경우에는 초기화 지연보다는 일반적으로 클래스를 생성하면서 초기화 하는 것이 좋습니다. 초기화 비용이 크고, 내부적으로 필드 사용 빈도가 적다면 초기화 지연이 적절합니다. 초기화 지연을 위해 안정적인 방법을 사용해야 합니다. 1.초기화 지연 담당 클래스 숙어( lazy initialization holder class = Initialization-on-demand holder idiom ) 는 스레드에 안전하고 동시..