라벨이 android인 게시물 표시

모기 퇴치기 Android 모기 퇴치 앱으로 만들어 쓰자

이미지
모기가 무서워하는 주파수의 tone을 만들어 AudioTrack으로 재생하는 안드로이드 모기 퇴치 앱 소스를 싣고 있다. 여름철이면 어김없이 찾아오는 귀찮은 모기… 약이나 팔찌, 그리고 app까지 모기를 쫓기 위한 많은 방법들이 있다. 퇴치제를 뿌리거나 팔찌를 차도 모기에 많이 물리는 체질이고, 모기에 물리면 피부가 다른 사람들 보다 심하게 검붉게 변하고 가려워 힘들어 하는 사람이 있어 모기를 쫓는 app을 만들어 보기로 했다.  모기 퇴치 app의 원리 모기는 임신한 상태의 암컷이 주로 흡혈 활동을 한다. 그리고, 임신 상태의 암컷 모기를 수컷 모기가 또 임신시키면 암컷 모기는 죽을 수도 있다고 한다. 그래서 임신한 암컷 모기는 본능적으로 수컷 모기를 피하게 된다고 한다. 그래서 수컷 모기가 움직일 때 내는 소리를 내 암컷 모기를 속이는 것이 한 방법이다.   그리고, 모기들의 포식자중 하나는 잠자리다. 잠자리가 내는 소리를 내어 모기를 속이는 것도 또 하나의 방법이다.  잠자리 주파수를 구글에서 찾아봤더니, 아래와 같이 나왔다. 그 신문사라 내용은 안 봤다.   아래와 같이 모기 퇴치용 주파수의 pcm데이터를 만든 후 AudioTrack을 사용하여 플레이 하는 방법을 사용하기로 했다. private void makeTone(double freqHz, int sampleRate, byte pcm[], int sample_size) {     int pcm_i = 0;     double sigma = 0.8;     if(pcm ==null || sample_size <= 0) return;     // make signal     for(in...

Android 앱 아이콘 변경

이미지
Android studio에서 app 작성시 launcher icon이미지를 변경하는 팁이다. 모기 퇴치 앱을 만들다 글을 올려본다. - Android Studio 메뉴에서 Image Asset를 선택한다.   - icon type을 launcher icons로 두고, 원하는 아이콘 이미지 파일을 불러온다. Launcher 아이콘 이름은 기본 아이콘 이미지에 덮어쓰기를 할 경우 ic_launcher로 두고, 남겨둘 경우 다른 이름으로 정하면 된다. 만약 다른 이름으로 할 경우 AndroidManifest.xml 파일에서 android:icon="@mipmap/ic_launcher" 의 ic_launcher이름을 수정하면 된다.    - 위의 파일 조정이 끝나면, 아이콘 저장 위치를 확인하게 된다.   - 저장을 마치고 리소스를 확인해보면 아이콘 이미지가 바뀐 것을 알 수 있다.   - 앱을 폰에 올리면 기본 안드로이드 앱 아이콘에서 바뀐 것을 볼 수 있다.  

안드로이드(android) 전체 화면 시계 앱(clock app) 예제 코드

이미지
본 글은 안드로이드 전체 화면 시계 앱 예제 소스를 싣고 있다. 폰에서 기본으로 제공하는 시계app에는 초까지 나오지 않아 초가 나오는 시계를 만들기로 했다. 원하는 스타일은 아래처럼 검은 바탕에 날짜와 시간만 나오는 것이다.   먼저 android studio에서 새 프로젝트를 생성한다.    Activity는 Empty Activity를 사용했다.   팔레트에 있는 TextClock을 넣어서 빌드한 후 실행해보면 초는 안나오고 오전/오후, 시간 그리고 분이 나온다.   TextClock는 사용하지 말고, Calender에서 시간을 받아온후 TextView를 통해 시간을 보여주기로 방향을 전환했다. Activity_main에 날자를 보여줄 TextView와 시간을 보여줄 TextView두개를 만든다. 그리고 배경은 검은색으로 설정한다.   Runnable을 사용하여 Thread 내부에서 Calendar에서 받아온 시간을 TextView에 업데이트 하도록 코드를 구성했다. 안드로이드 앱 실행 중 화면이 꺼지지 않도록 아래 코드도 추가했다. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON) ; MainActivity.java package com.example.r.myclock; import android.graphics.Color; import android.graphics.Point; import an...