분류 전체보기
-
FCM Android Backgroud (feat. app launch)LANGUAGE/ANDROID 2019. 7. 26. 16:38
1. Notification만 있는 경우 잠자기 상태나 절전상태인 경우에도 알림창에 표시됨 백그라운드 상태인 경우 시스템을 통해 알림 표시 포그라운드 상태인 경우 onMessageReceived를 통해 처리 2. Notification과 data가 함께 있는 경우 포그라운드 상태는 1번과 동일. 백그라운드 상태인 경우 시스템을 통해 알림은 표시되지만 onMessageReceived 통해 data가 전달되지 않음. Notification을 터치하면 앱이 실행되며 getIntent를 통해 data 수신. * Notification을 터치 시 앱은 Main 액티비티를 실행. 특정 액티비티를 실행 하기 위해서는 FCM 페이로드 부분에 "click_action" 추가한다. ex) "click_action":"OP..
-
[Flutter] 설치 및 Android SDK Custom path 사용시 에러LANGUAGE/ANDROID 2019. 4. 8. 14:14
요즘엔 비용절감을 위해서라도 Cross Platform으로 개발하려는 경우가 많은것 같다. 그래서 자그마한 호기심으로 최근 구글에서 나온 Flutter를 한번 실행해보기로 했다. 하지만 한번에 되지 않아서 그 과정을 기록한다. - 아래 내용은 블로깅을 위해 준비하며 진행했던 것이 아니라, 스샷을 다 찍진 못했고 기억을 되새기면서 진행된것임을 염두해두자. Flutter 다운로드 https://flutter.dev/docs/get-started/install Install Select the operating system on which you are installing Flutter: flutter.dev 위 페이지에서 SDK를 다운받고 옆 카테고리에 나와있는 튜토리얼을 따라하면 된다. 안드로이드 스튜디오..
-
ERR_CERT_COMMON_NAME_INVALID 오류WEB/etc 2019. 4. 3. 15:08
모바일 개발자이지만 현 회사에서는 MacOS 프로그램 개발을 병행하고 있다. PC쪽 개발은 처음이라 로직상의 문제보다는 설치파일 생성 및 환경 세팅에서 무한 삽질과 넘어짐의 반복이다. 관련 경험들은 이후에 소소하게 포스팅 할 생각이다. 오늘 내용은 그중 하나인 인증서 관련이다. 히스토리를 짦게 말하면 웹페이지에서 자바스크립트를 통해 만들어놓은 로컬 웹서버(localhost)를 호출해야 했다. HTTPS가 가능해야 했기에 OpenSSL을 통해 사설 인증서를 만들었다. 윈도우의 경우는 아래 링크에서 OpenSSL 다운로드하면 된다. http://slproweb.com/products/Win32OpenSSL.html Win32/Win64 OpenSSL Installer for Windows - Shining ..
-
기존 Android Studio 프로젝트에 .so 파일 추가 및 사용 과정기!LANGUAGE/ANDROID 2019. 1. 29. 19:11
Android Library 프로젝트에 외부 오픈소스를 사용하게 되면서 해당 오픈소스의 .so 파일을 사용해야 하는 경우가 생겼다. 라이브러리가 jar파일 형태로 나와야 하기에 Gradle dependencies에 추가하지 않고 직접 오픈소스 파일을 추가하였다. 아래는 Test프로젝트에 .so파일을 추가하는 과정이다. 해당 글은 단순 기록의 의미이며 so파일 적용만을 위한 글이다. 그래서 실제 ndk, jni 사용법과 내용이 다를수 있다. 추후 ndk 관련 공부를 하게 되면 수정을 할 예정이다. 사용한 오픈소스는 루팅 체크하는 기능이다 https://github.com/scottyab/rootbeer 1. SDK의 ndk 관련 tool을 설치한다.(CMake, LLDB, NDK) (CMake는 이번 내용..
-
NotificationLANGUAGE/ANDROID 2015. 2. 2. 18:19
알림이 중복으로 겹치지 않고 하나씩 나타내려고 한다. 안드로이드 이전 버전에서는 Notification을 띄우기 위해 Notification 인스턴스를 만들어 사용했지만 지금은 Notification.Builder를 통해 생성하도록 권장하고 있다. android.support.v4.app 패키지의 NotificationCompat.Builder 객체를 이용하면 예전버전과 호환성 있게 사용 할 수 있다. NotificationManager mNotificationManager; intent = new Intent(ctx, TestActivity.class); intent.putExtra("contentId", contentId); PendingIntent contentIntent = PendingInten..
-
invalid project descriptionLANGUAGE/ANDROID 2015. 1. 30. 19:01
google-play-services_lib 라이브러리를 프로젝트에 임포트 해서 사용 중인데 갑자기 라이브러리에서 에러가 나면서 라이브러리가 임포트 된 모든 곳에서 에러가 났다. google-play-services_lib를 지우고 새로운 google-play-services_lib 폴더를 workspace에 붙여 넣고 다시 이클립스에서 import 했더니 invalid project description 라는 에러를 내뿜었다. 해결책으로 다른 곳에서 라이브러리를 불러오니 해결되었다. 기존에 있던 라이브러리와 어떤 충돌이 일어나는것 같은데... 퇴근을 해야하니 메모만 살짝...
-
디미터의 법칙(Law of Demeter)LANGUAGE/etc 2015. 1. 29. 11:45
데메테르는 그리스 신화에 나오는 추수의 신이다. 로마신화에서는 세레스 Ceres 라고 불리는 바로 그 신. 하지만, 그 데메테르하고 이 법칙하고는 상관없다는 것이 함정. [위키피디아]1에서는 데메테르의 법칙을 아래와 같이 정의하고 있다. 데메테르의 법칙에서는 어떤 객체 O의 메소드 m는 다음과 같은 종류의 객체에 있는 메소드들만 실행시킬 수 있다. O 자체 m 의 변수 m 안에서 만들어진 객체 O가 직접 관리하는 콤포넌트 객체 m의 스코프 안에서 O가 접근 가능한 전역변수 좀 말이 어려운데, Richard Carr의 [The Law of Demeter]2 포스트에 좀 더 쉬운 설명이 있다. 어떤 클라스의 멤버 – 메소드 또는 속성 – 는 반드시 다음과 같은 객체들의 멤버들만을 실행시켜야 한다: 해당 메소..