본문 바로가기

반응형

안드로이드

(93)
시스템 서비스 시스템 서비스는 단말이 켜졌을 때 자동으로 실행되어 백그라운드에서 동작한다 안드로이드에서는 다양한 시스템 서비스가 제공되는데 그중에서 ActivityManager, PackageManager, AlarmManager가 있다 ActivityManager는 액티비티나 서비스를 관리하는 시스템 서비스로 앱의 실행 상태를 알 수 있도록 한다 PackageManager는 앱의 설치에 대한 정보를 알 수 있도록 한다 AlarmManager는 일정 시간에 알림을 받을 수 있도록 시스템에 등록해주는 역할을 한다 activity_main.xml MainActivity package com.example.a85_manager; import androidx.appcompat.app.AppCompatActivity; impo..
센서 https://source.android.google.cn/devices/sensors/sensor-types?hl=ko 센서는 부가적으로 사용성을 높이는데 큰 도움을 주는 요소이다 안드로이드에서는 다용한 표준 센서들을 지원하고, 대표적으로 가속 센서는 다양한 기준 축(Axe)을 따라 기기가 얼마만큼의 속도로 움직이는지 측정할게 있게 한다 자이로스코프 센서(Gyroscope)는 가속 센서보다 더 많은 축을 기준으로 시간에 따라 회전하는 정보까지 확인할 수 있도록 해준다 이 외에도 다양한 센서들이 지원되는데, 센서 매니저라는 시스템 서비스를 통해 모두 같은 방식으로 사용할 수 있다 (가속, 자이로스코프, 중력, 조도, 선형 가속, 근접, 온도, 방향) 가속 센서의 경우에는 중력 정보와 선형 가속 정보가 같..
푸시 서비스 사용하기 - 메세지 전송 앱 만들기 build.gradle(Module) dependencies { ... // HTTP 라이브러리 implementation 'com.android.volley:volley:1.2.1' } AndroidManifest.xml acitvity_main.xml 서버 키 확인 MainActivity package com.example.a83_push_send; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText;..
푸시 서비스 사용하기 스마트폰을 사용하다 보면 Play 스토어나 앱 마켓에서 설치한 앱의 업데이트가 있다는 메세지를 종종 보게 된다 단말의 위쪽 부분에 보이는 상태바 부분에 업데이트에 대한 메세지가 표시되면 사용자는 업데이트를 할 것인가의 여부를 결정하게 된다 단말로 메세지를 보내는 기술적인 방법에는 세 가지가 있다 단순 SMS를 이용한 알림 - 간단하지만 비용이 발생할 수 있다 앱에서 서버에연결을 만들어 놓은 상태에서 알림 - 앱에서 서버와의 연결을 만들어 놓고 폴링하는 과정이 필요하며, 백그라운드 서비스를 이용해 연결을 유지해야 하므로 간단하지 않다 구글의 푸시 서비스(FCM - Firebase Cloud Messaging)를 사용하여 알림 - 구글의 클라우드 서버를 사용해 메세지 전송 방식을 최적화한 서비스 앱에서 서버..
상단 알림으로 알려주기 알림(Notification)은 화면 상단에 정보를 표시하여 사용자가 알 수 있도록 한다 (카톡 메세지 받은거 알림) 백그라운드에서 동작하는 서비스에서 알림을 표시하면 사용자에게 알려줄 수 있다 알림은 NotificationManager 시스템 서비스를 이용해 화면 상단에 띄울 수 있다 알림을 띄우루면 Notification 객체를 만들어야 하는데 이 객체는 NotificationCompat.Builder 객체를 이용해서 만든다 activity_main MainActivity package com.example.a81_notification; import androidx.appcompat.app.AppCompatActivity; import androidx.core.app.NotificationCompa..
진동과 소리로 알려주기 https://parkho79.tistory.com/122 안드로이드에서 진동은 얼마동안 울리도록 할 것인지 지정할 수 있으며, Vibrator라는 시스템 서비스 객체를 사용한다 public void vibrate(long milliseconds) public void vibrate(VibrationEffect vibe) 버전 26부터 VibrationEffect를 파라미터로 전달하는 메소드로 변경되었다 이 변경된 내용을 반영하기 위해서는 Build.VERSION.SDK_INT 상수를 이용해 현재 단말의 버전을 체크하는 과정이 필요하다 public void play() Ringtone 객체의 play 메소드를 호출하면 소리가 울리게 된다 만약 API에서 제공하는 소리가 마음에 들지 않는다면 직접 음원 파..
지도에 아이콘 추가, 오버레이 일반적으로 지구상의 현실 공간을 표현할 때는 레이어로 분리하고 각각의 레이어에는 유사한 속성을 가진 객체들을 넣어두게 된다 구글맵에서는 이런 레이어들을 오버레이라고 부른다 구글맵의 지도 전체가 레이어로 구성되어 있는 것은 아니다 구글맵은 지도의 가장 기본적은 정보들은 타일 모양의 이미지로 만들어 놓고 이 이미지들을 보여주게 되며, 내 위치, 카페의 위치, 경로를 표현하는 선 등을 별도의 오버레이로 정의하여 추가할 수 있도록 한다 메인액티비티에 MarkerOptions 변수 추가 // 지도 위에 표시되는 아이콘인 마커를 사용하도록 하는 객체 // GoolgleMap의 setMyLocationEnable 메소드를 안써도 됨 MarkerOptions myLocationMarker; private void sh..
현재 위치의 지도 보여주기 안드로이드에서는 앱 화면 안에 지도를 넣을 수 있도록 맵프래그먼트가 제공된다 맵프래그먼트는 새로운 방식의 구글맵 서비스 v2 기능을 사용할 수 있도록 추가된 기능으로 Google Play service 모듈을 사용한다 Google Play services 라이브러리 사용 설정 xml 레이아웃에 맵프래그먼트 추가 소스 코드에서 내 위치로 지도 이동시키기 매니페스트에 설정 추가하기 지도 api 키 구글에 라이브러리를 검색하여 추가하는 방법이 제일 흔히 쓰이지만, 안드로이드 스튜디오에서 직접 추가할 수도 있다 17.0.1 사용 AndroidManifest.xml activity_main.xml MainActivity package com.example.a78_locationmap; import android...

반응형