분류 전체보기
-
Android Google Map 등록하기 ( API Key )Android/LBS 2019. 7. 29. 12:50
구글 맵을 사용하기 위해 API Key를 얻는 방법을 소개 해보도록 하겠습니다. Site : https://console.cloud.google.com Google Cloud Platform 하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요. accounts.google.com Google Cloud Platform에 접속 좌측 상단에 프로젝트 선택을 누른뒤 새 프로젝트를 눌러 필요한 정보를 입력한 뒤 만들기 좌측 매뉴에서 "API 및 서비스" -> "라이브러리" 선택 후 "Maps SDK for Android' 선택 "사용 설정" 버튼 클릭 사용자 인증 정보 탭으로 이동 후 "사용자 인증 정보 만들기" 버튼 클릭 후 API 키 선택 키 제한 선택..
-
Android Google Map 구현하기Android/LBS 2019. 7. 26. 17:56
휴대폰에서 주소를 표기할때 그냥 "서울시 동대문구 OOO" 이런식으로 표시하면 근처 거주나 지역을 알고 있는 사람외에는 쉽게 알기 어려워 따로 지도앱을 키고는 한다. PC에서의 경우에는 워낙 화면이 넓어 이동이 자유롭지만 태블릿이 아닌이상 휴대폰에서는 고것이 참... 그래서 문자보다는 이미지가 좋은 만큼 지도를 보여주기 위해 Google Map을 사용해보도록 하겠다. Gradle Dependency implementation 'com.google.android.gms:play-services:12.0.1' 1. API Key 흭득하기 Site : https://dundun-dev.tistory.com/25 2. AndroidManifest.xml 파일 준비 kr.co.s1.myapplication 이부분..
-
Android Fused LocationAndroid/LBS 2019. 7. 26. 17:56
유저 디바이스의 위치를 획득하기 위해서는 API는 표준 라이브러리에 있는 LocationManager를 이용하여 LocationProvider 지정을 통해 getLastKnownLocation 함수를 이용해서 위치 획득이 가능하다. 하지만 LocationProvider를 지정하는 부분이 실제 작업 시 여러 가지를 고려하다 보니 개발자 코드 양이 비대해진다. 이런 작업을 쉽게 하기 위해 Google Play Service에서 제공하는 Fused Location을 사용하면 된다. Fused Location의 목적은 Reduce Power ( 저전력 ) Improve accuracy ( 정확도 향상 ) Simplify the APIs ( API 간소화 ) Expose cool new features ( 새로운..
-
Android Location ManagerAndroid/LBS 2019. 7. 26. 16:06
LBS는 Location Based Service의 약자다 기본적인 모바일 디바이스에 위치를 흭득 할때에는 위, 경도를 사용해서 계산한다 이러한 LBS 프로그래밍을 위한 라이브러리는 아래와 같다 1. 표준 Library "Location Manager" ( 1 -> 28 ) System Service가 제공한다. 2. Fused Location API 3. Map 딱 무엇을 선택해야 한다는 표준 라이브러리는 없다. 어떤 벤더의 지도를 사용할껀지 개발자가 선택 하여야 한다. 위 경도 계산은 기본적으로 위/경도는 도/분/초/로 표시되는데 일반적인 시스템에서는 실수로 사용한다. * 위도 : 90 ~ 0 ~ -90 ( 0 : 적도 ) * 경도 : 180 ~ 0 ~ -180 ( 0 : 그리니치 천문대 ) 소숫점 ..
-
Android NotificationAndroid/Component 2019. 7. 25. 17:57
Notification은 앱의 각종 상황을 사용자에게 알릴 목적으로 이용된다. support 라이브러리에서 NotificationCompat 클래스를 이용하여 하위 호환성을 확보한다 NotificationManager : 알림을 시스템에 발생시키는 SystemService Notification : 알림 구성 정보를 가지는 객체 NotificationCompat.Builder : 알림을 다양한 정보로 생성 NotificationChannel : 알림의 관리 단위 ( Android Oreo에서 추가 ) NotificationManager 객체 얻는 방법은 간단하다 val notificationManager = getSystemService(Context.NOTIFICATION_SERVICE) as Noti..
-
Android JobSchdulerAndroid/Component 2019. 7. 25. 17:04
JobSchduler는 Job(특정 업무)를 시스템에 등록시켜 실행시키는 방법이다. Network, Battery 조건 등을 등록하고 이 조건에 맞았을 때 Background 업무를 실행시키기 위한 목적으로 사용한다 해당 기능은 API Level 21 부터 제공이 되었고, background 실행 제한이 강화되기 시작하면서 필요성 증가되었다. 두 가지의 클래스를 사용하는데 아래와 같다. JobInfo : Job 이 실행될 조건 및 조건이 맞을 떄 실행시킨 JobService 정보 JobScheduler : JobInfo를 시스템에 등록시키는 역할 1. JobSchedulerService 클래스 생성하기 @RequiresApi(Build.VERSION_CODES.LOLLIPOP) class MyJobSch..
-
Android Background LimitsAndroid/Component 2019. 7. 25. 15:25
안드로이드 8.0에서 부터 Background에 대해서 제약을 가하기 시작하였다. BroadcastReceiver 제약 Service 제약 이 두가지에 대하여 어떤 제약이 가해졌는지에 대해서 알아보도록 하자 BroadcastReceiver 제약 - 내부 app의 receiver를 암시적 intent에 의해 실행시키는 것을 금지 - 명시적 intent에 의한 실행은 이전과 동일하게 잘 수행된다. - receiver가 특정 component의 코드에서 intent filter로 등록시키고 암시적 intent에 의해 실행되는건 잘 된다. - manifest 파일에 static하게 등록 된 receiver를 암시적을 실행시키는 것이 금지. - 물론 외부 앱의 receiver인 경우 암시적 intent 실행은 잘..
-
Android Component - ServiceAndroid/Component 2019. 7. 24. 23:59
Service는 장시간 background 작업 이라고 정의 할 수 있다. 백그라운드에서 실행되면서 ContentProvider를 업데이트 시키거나 Intent를 발행 혹은 알림을 만들어 내는 역할을 한다. 눈에 보이는 인터페이스 없이 다른 서비스, 액티비티 그리고 브로드케이스트 리시버 수신자를 포함한 다른 어플리케이션 컴포넌트로 부터 시작 중지를 한다. 시작된 서비스는 비활성 액티비티 나 눈에 보이지 않는 액티비티 보다 높은 우선 순위를 받아 런타임의 리소스 관리에 의해 종료될 가능성을 낮춘다. 컴포넌트의 우선순위는 아래의 순서와 같다. (1) 활성 상태 액티비티 (2) pause 상태 액티비티 (3) 움직이고 있는 서비스 (4) 비활성 상태 액티비티 (5) 시작 했지만 아무짓도 안하는 서비스 규칙적으..