안드로이드폰이 꺼진 상태에서 발생한 알람 메시지를 화면에 보여주기 위해 화면을 켜는 방법을 소개합니다. 다음 포스트에서 매일 정해진 시간에 알람이 울리도록하는 앱을 소개했었습니다. Android 알람 앱 예제(AlarmManager, NotificationManager, SharedPreferences)https://webnautes.tistory.com/1365 다음과 같은 기능이 구현되어 있습니다. 매일 설정해놓은 시간에 알람 소리가 울리고 노티피케이션을 띄웁니다. 노티피케이션을 선택시 앱이 실행됩니다. 지나간 시간에 대한 알림을 설정하면 다음 날에 울리도록 합니다.앱을 끄거나 스마트폰이 재부팅되어도 알람 시간을 기억했다가 울립니다. 문제 없이 동작하는듯했지만 화면이 꺼진상태에서는 알림 소리만 들리는..

매일 일정한 시간마다 알람이 울리는 안드로이드 앱을 만들었습니다. 구현 내용은 다음과 같습니다. 매일 설정해놓은 시간에 알람 소리가 울리고 노티피케이션을 띄웁니다. 노티피케이션을 선택시 앱이 실행됩니다. 지나간 시간에 대한 알림을 설정하면 다음 날에 울리도록 합니다. 앱을 끄거나 스마트폰이 재부팅되어도 알람 시간을 기억했다가 울립니다. 1. 동작 설명 2. 전체 소스 코드 1. 동작 설명 전체 동작은 다음과 같습니다. 1. 처음 실행시키면 TimePicker와 버튼이 보입니다. TimePicker에서 원하는 시간을 설정합니다. 2. 버튼을 클릭하면 알람이 설정됩니다. 이미 지나간 시간을 설정하면 알람이 울리는 날짜가 내일로 변경됩니다. 설정 후 앱을 종료하거나 폰을 재부팅해도 동작합니다. 단 재부팅시에는..
오레오(Oreo API 26) 이상부터는 채널을 추가해야 노티피케이션을 사용할 수 있다는 것을 알게되어 포스트를 수정합니다.안드로이드 폰에서 사용하는 운영체제 버전에 따라 실행결과가 다릅니다. 1. 노티피케이션 동작 설명 2. 전체 소스코드 3. 관련 포스트 4. 참고 2015.02.19 - 최초작성2016.10.222019.08.13 - 오레오를 위한 코드 추가 1. 노티피케이션 동작 설명 실행시키면 노티피케이션을 발생시키는 버튼을 보여줍니다. 버튼을 터치할 때마다 변수 count 값을 증가시켜주도록 했습니다. 최종적으로 노티피케이션에 의해 전달되는 값은 마지막에 전달한 값이 되는 걸 확인하기 위해서 입니다. 3번 터치한 후 결과를 보겠습니다. 노티피케이션 우선순위가 충분히 높다면 아래처럼 헤드업(he..
안드로이드 앱에 AdMob 배너 광고를 다는 방법을 설명합니다. 마지막 업데이트 : 2019. 7. 4 1. https://www.google.co.kr/ads/admob/ 에 가입후 로그인합니다. 2. 왼쪽 메뉴에서 앱을 클릭하고 보이는 창에서 앱 추가를 클릭합니다. 3. 아니오를 선택합니다. 4. 앱 이름을 입력하고 플랫폼에서 Android를 선택 후, 추가 버튼을 클릭합니다. 5. 앱 ID가 발급되었습니다. 다음 단계를 클릭합니다. 6. 앱에서 보여줄 광고 유형을 선택합니다. 본 포스트에서는 배너의 경우만 설명합니다. 배너에 있는 선택을 클릭합니다. 7. 광고 단위 이름을 적어주고 광고 단위 만들기를 클릭합니다. 8. 광고를 앱에 보여주기 위한 준비가 끝났습니다. 앱 ID와 광고 단위 ID를 따로 ..

안드로이드에서 Surf를 사용하여 이미지를 매칭하는 예제입니다. 우선 다음 포스트 내용을 진행하여 안드로이드용 OpenCV를 새로 빌드해서 사용해야 합니다. Android용 OpenCV 빌드하는 방법(contrib 포함) https://webnautes.tistory.com/1268 이후 다음 영상을 따라 진행하세요.. 1. styles.xml false true 2. activity_main.xml 3. image.svg 4. AndroidManifest.xml 5. MainActivity.java androidx라면 다음 세줄을 수정하세요. androidx의 경우에는 새로 추가된 OpenCV 4.1.1 빌드후에만 동작할 수도 있습니다. 변경전 import android.support.annotatio..

이미지뷰를 클릭하면 갤러리 또는 포토에 있는 이미지를 가져와 이미지뷰에 보여주는 예제입니다. 작성 2019. 2. 20 수정 2019. 4. 25 1. 실행시키면 이미지 뷰에 미리 지정해놓은 디폴트 이미지가 보입니다. 2. 이미지뷰를 터치하면 이미지를 불러올 앱을 물어봅니다. 포토 또는 갤러리를 선택할 수 있습니다. 3. 앞에서 선택한 앱에서 고를 수 있는 이미지를 보여줍니다. 4. 선택한 이미지를 이미지뷰에 보여줍니다. 다음 과정을 통해 이미지뷰 클릭시 이미지를 로드하는 예제를 작성해볼 수 있습니다. 1. 아래 첨부된 svg 이미지를 다운로드 받습니다. 2. svg 이미지를 프로젝트의 drawable 폴더에 추가해야 합니다. 프로젝트 창에서 app을 선택하고 마우스 오른쪽 버튼을 클릭했을 때 보이는 메..
Android Studio에서 HAXM을 설치하지 않아도 속도가 빠른 Genymotion을 사용하는 방법을 다루었습니다. 또한 사용하기 쉬운 인터페이스로 가상 디바이스에서 앱을 테스트해 볼 수있게 해줍니다. 지도를 보며 GPS 테스트하는 기능은 상당히 편합니다. 진행하기 전에 윈도우에 Hyper-V 기능이 활성화되어 있는지 확인해봐야 합니다. 활성화 되어있으면 Genymotion의 가상 디바이스를 VirtualBox에서 실행시키는 순간 파란화면(Blue Screen)이 뜨게 됩니다. Hyper-V 기능을 비활성화하는 방법은 다음 포스팅에서 다루고 있습니다. windows 10에서 Genymotion으로 가상머신 실행시킬 때 블루 스크린 뜨는 현상 해결http://webnautes.tistory.com/1..
이미지와 텍스트가 포함된 커스텀 리스트뷰를 안드로이드의 다이어로그(alertdialog)에 보여주는 예제입니다. 리스트뷰에서 항목을 선택시 액티비티의 뷰에 선택한 항목을 보여주도록 구현되었습니다. 다음처럼 실행됩니다. 1. 실행하면 텍스트뷰와 버튼을 보여줍니다. 버튼을 클릭하면 다이얼로그가 보이게 됩니다. 2. 다이얼로그에 추가된 리스트뷰상에 선택할 수 있는 항목이 보입니다. 3. 다이얼로그에서 선택한 항목이 텍스트뷰에 보여집니다. 다음처럼 예제를 테스트할 수 있습니다. 0. 프로젝트 창의 drawable 폴더에 이미지를 추가합니다. 다이얼로그의 항목 옆에 보여줄 이미지입니다. 본 글에서는 SVG 이미지를 사용하였습니다. 1. activity_main.xml다이얼로그를 보여줄때 사용할 버튼과 선택한 항목..
이미지에서 자유 영역을 지정한 부분을 자르는 예제입니다. 다음 링크에 있는 코드를 사용했습니다. https://stackoverflow.com/questions/18439246/android-free-cropping-of-image 다음처럼 동작합니다. 1. 처음 실행하면 drawable 폴더에 있는 이미지를 이미지뷰에 보여줍니다. 2. 손가락으로 영역을 그린 후 떼면 다이얼로그가 보입니다. NON-CROP을 선택하면 지정한 영역 바깥을 남기며, CROP을 선택하면 지정한 영역 내부만 남기게 됩니다. 테스트에선 CROP을 선택했습니다. 3. 지정한 영역 부분만 보여줍니다. 다음 코드를 사용하여 예제를 테스트 할 수 있습니다. 1. MainActivity.java 앱이 실행되면 먼저 실행되는 액티비티로 S..
CardView에 모서리가 둥근 ImageView를 꽉채우는 방법과 CardView에 모서리가 둥근 ImageView와 TextView를 함께 추가하는 방법을 소개합니다. RecyclerView의 아이템으로 사용하면 UI가 깔끔해지집니다. 먼저 CardView에 모서리가 둥근 ImageView(RoundedImageView)를 꽉차게 보이도록 하는 방법입니다. CardView 태그 안에 RoundedImageView를 넣고 꽉차게 하기 위해서 RoundedImageView의 android:layout_width 속성과 android:layout_height 속성을 match_parent로 합니다. 그러면 CardView 내부에 꽉차보입니다. CardView의 모서리를 둥글게 만들기 위해서 card_vie..