일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- livedata
- UWP
- RxJava
- Java
- android architecture component
- C++
- 코틀린
- Android P
- Python
- Django REST Android
- 알고리즘
- Django REST framework
- Android
- Django REST
- C/C++
- 안드로이드
- android push
- C
- RxAndroid
- kodility
- Flutter TextField
- NDK
- 프로그래머스
- 안드로이드 구글맵
- dart
- Rxjava2
- Kotlin
- mfc
- FLUTTER
- flutter firestore
- Today
- Total
목록Java,Android (120)
개발하는 두더지
Effective Java 2/E 책과 구글링을 통해 내용을 정리하고 개인적인 견해가 포함된 글입니다. 보통 객체를 만들 때 Car car = new Car(); 처럼 생성자를 이용하여 만든다.생성자 대신 정적 팩터리 메서드로 만든다면 장점은 무엇이 있을까? 1. 정적 팩터리 메서드에는 이름이 있다. 무슨말일까?..생성자와 파라미터만 가지고는 어떤 객체가 생성되는지 설명할 수 없지만 정적 팩터리 메서드는 이름을 잘 지어놓으면어떤 객체가 생성되는지 설명할 수 있다.Car car = Car.newInstance();Car car = Car.newInstanceWithWheel("금호"); 2. 호출할 때마다 새로운 객체를 만들지 않는다.싱글톤 클래스처럼 static 객체가 만들어지므로 동일한 객체가 요청되는..
CPU가 메모리에 데이터를 저장할 때 어느 순서로 저장하는가에 따라서 리틀엔디안과 빅엔디안으로 나뉘게 됩니다.리틀엔디안(Little Endian)은 메모리의 첫 주소에 하위 데이터(데이터의 맨 오른쪽)부터 저장하고 빅 엔디안(Big Endian)은 메모리의 첫 주소에 상위 데이터(데이터의 맨 왼쪽)부터 저장합니다. 예를들어 int a = 0x12345678 을 저장한다고 할 때 아래와 같이 저장됩니다. 타입 메모리 ( int는 4byte 이므로 1byte씩 저장 ) 리틀엔디안 0x78 0x56 0x34 0x12 빅엔디안 0x12 0x34 0x56 0x78 리틀엔디안의 경우 저장할 때 뒤집혀서 저장했기때문에 가져올 때는 다시 되돌려서 가져옵니다.- 1byte를 가져오는 경우 0x78- 2byte를 가져오는..
Error:Cannot fit requested classes in a single dex file.Try supplying a main-dex list. # methods: 72477 > 65536 안드로이드 빌드할 때 위와 같은 에러가 발생한다면? minSdkVersion 이 21 이상인 경우build.gradle 파일에서 multiDexEnable 를 true로 설정하면 됩니다.android { defaultConfig { ... minSdkVersion 21 targetSdkVersion 26 multiDexEnabled true } ... } minSdkVersion 이 20 이하인 경우build.gradle 파일에서 multiDexEnable 을 true로 설정하고 multidex 지원 라이브..
NDK의 경우 LP64 를 사용해서 타입의 크기가 아래와 같다 리눅스 계열에서 x64 컴파일러로 LP64를 사용하고, Visual Studio에서 x64 컴파일러로 LLP64 를 사용한다.32bit 64bit (LP64 vs LLP64)int 4byte int 4bytelong 4byte long 8byte vs 4bytesize_t 4byte size_t 8bytepointer 4byte pointer 8byteoff_t 4byte off_t 8bytelong long 8byte long long 8byteoff64_t 8byte off64_t 8yte Target API Set Higher Than Device APIThe target API level in the NDK has a very diff..
Android Architecture Components ViewModel이란? ViewModel 클래스는 UI 관련 데이터를 저장하고 관리하기 위해 설계되었습니다.즉, 스크린 회전 같은 상태 변화에도 데이터가 보존될 수 있도록 허용해줍니다. 안드로이드 프레임워크는 UI 컨트롤러인 액티비티와 프래그먼트의 생명주기를 관리합니다.프레임워크는 특정 사용자 동작 또는 완전히 제어할 수 없는 디바이스 이벤트에 대한 응답으로UI 컨트롤러를 destroy하거나 다시 re-creates 하도록 결정합니다. 만약 시스템이 UI 컨트롤러를 destory하거나 re-creates한다면 별도로 저장되지 않은 데이터를 잃게 됩니다.여러분의 앱이 사용자의 리스트를 포함하고 있다고 생각해봅시다. 만약 액티비티가 상태 변경으로 재 ..
요약안드로이드 스튜디오의 기본 빌드 툴은 CMake안드로이드 스튜디오는 이미 사용 중인 기존 프로젝트가 너무 많아서 NDK-Build를 지원만약 새 프로젝트를 만들 경우엔 CMake를 쓰는 것이 좋음 CMake- Android, Linux, Windows, IOS 등 모든 타겟에서 빌드 가능- 크로스 플랫폼을 사용한다면 CMake가 가장 좋음- CMakeLists.txt 파일을 만들어줘야함 - CMake 빌드 스크립트 파일은 자동으로 생기지 않음# Sets the minimum version of CMake required to build your native library. # This ensures that a certain set of CMake features is available to # yo..
Postman으로 Push Notification 보내기 Postman에서 보낼 URL은 아래와 같습니다.https://fcm.googleapis.com/fcm/send 헤더에 데이터를 보낼 타입과 인증키를 세팅합니다. 인증키는 파이어베이스 콘솔에서 프로젝트 세팅 -> 클라우드 메시징 -> 서버키를 복사하여 붙여넣습니다. POST로 데이터를 전달하므로 Body raw를 선택하고 아래에 데이터를 넣습니다. to : 받을 대상 ( 단일기기 / 주제 등) data : 알림 데이터{ "to": "cCUg0OPRzD8:APA91bE8P12z7sS-hL1Egwic7Ut4FVnGbKDEeywZZxcwa4R9zbmJfjS_FpGFqW...", "data" : { "body" : "First Notification", ..
Android O [ 8.0 API 26 ] 버전부터 모든 알림은 할당되야합니다. 사용자가 환경설정 -> 앱 정보에서 직접 채널에서 세부 알림 기능들을 설정할 수 있습니다. ( 예 : 중요도, 소리, 진동, 중복 알람 없애기 등 )하지만 Android N [ 7.1.1 API 25 ] 이하 버전 기기에서는 단순히 앱 정보에서 알람을 받을 것인지 말 것인지정도만 설정합니다.앱은 여러개의 알림 채널을 가질 수 있으며, 그룹으로 설정할 수도 있습니다. 핵심은targetSdkVersion 25 : 알림(Push Notification) 정상 동작targetSdkVersion 26 : 알림 채널을 설정하지 않으면 알림이 정상적으로 오지 않음즉, 반드시 채널을 설정해줘야합니다. NotificationChannel ..