Programming/안드로이드
-
[안드로이드] NDK 기본 예제Programming/안드로이드 2014. 1. 27. 04:02
NDK를 이용한 기본 예제이다. 간단한 프로그래밍은 기본예제의 변형으로 가능할 것이다. 더 깊은 내용은 나중에 포스팅 하도록 하겠다. NDK 설치 완료후 제대로 설치가 되었는지 이 예제를 통해서 확인해보길 바란다. 먼저 프로젝트를 하나 생성한다. 프로젝트명은 HelloJNI로 하였다. 프로젝트 생성후 jni라는 이름의 폴더를 하나 생성한다. 이 폴더안에 2개의 파일을 생성할 예정이다.2개의 파일 이름은 Android.mk와 hello-jni.c 이다. jni폴더 생성후 [마우스 오른쪽 클릭] -> [New] -> [File] 을 눌러 파일을 생성한다. 위의 그림의 방식처럼 hello-jni.c 와 Android.mk 파일을 만들었다면 두 파일에 내용을 넣는다. 먼저 hello-jni.c 파일부터 내용을 ..
-
[안드로이드] 안드로이드 NDK 설치방법Programming/안드로이드 2014. 1. 25. 23:08
안드로이드 프로그래밍에서 C나 C++ 언어를 사용하기 위해서는 NDK를 설치하여야 한다. NDK 설치 방법에 대해 알아보도록 하자. Cygwin 설치NDK를 설치하기 위해서는 Cygwin을 먼저 설치하여야 한다. 다운받기 각자 컴퓨터 사양에 맞는 파일을 다운받는다. 다운이 완료된 설치파일을 실행한다. 인터넷에서 파일을 받는 항목 선택 경로는 C:\cygwin 으로 설정한다. 패키지 파일을 다운로드할 폴더를 지정한다. 어느 경로를 지정하던지 상관없다. 인터넷 연결 선택 다운로드 사이트를 선택한다. 전세계적으로 사이트가 있는데 한국사이트는 없는듯 하다 ㅠㅠ 가까운 일본 사이트를 선택하도록 하자 다음을 누르면 아래와 같은 화면이 뜨는데 항목중에 Devel 항목이 Default로 표시되어 있을것이다. 클릭하여 ..
-
[안드로이드] Activity전환 없이 구글 음성인식(STT) 사용하기Programming/안드로이드 2013. 12. 29. 21:41
안드로이드에서 음성인식 기능을 구현하기 위해서는 구글의 Speech-To-Text(이하 STT)기능을 사용하면 됩니다. SST기능을 사용하는 방법은 2가지가 있습니다. 구글에서 지원하는 UI를 사용하거나, 나만의 커스텀 UI를 만드는 방법이 있습니다. 이 두가지 방법을 사용하는 예제는 인터넷에서 충분히 구할 수 있으나 이 두가지 방법은 제 맘에 드는 방법이 아니었습니다. 저는 현재 음성녹음 시작과 함께 음성인식(STT)이 가능한 앱을 개발해야 했는데, 저 두가지 방법은 액티비티 전환이 필요하기 때문에 액티비티 전환 없이 음성인식을 하도록 만들어 보았습니다. 음성녹음의 경우 어렵지 않게 예제를 보고 구현할 수 있기 때문에 음성녹음 시작시 액티비티 전환 없이 음성인식을 하는 기능만 구현하면 되겠거니 생각해서..
-
[안드로이드] 뒤로가기(Back 버튼) 두번 눌러 앱 종료하기Programming/안드로이드 2013. 12. 27. 00:37
요즘 많은 어플들이 뒤로가기 버튼을 두번 눌러 앱을 종료시킨다. 종료하시겠습니까? 라는 확인창이 뜨고 확인을 눌러야 되는 번거로움이 없고, 잘못 종료버튼을 눌렀을 경우에도 토스트 알림창만 뜰뿐 별다른 방해요소가 없어서 참 좋은것 같다. 요즘 대부분의 앱이 이러한 종료 방식을 선택하고 있기때문에 한번 구현을 해보자. 구현방법은 간단하다 뒤로가기 버튼 클릭시 현재시간을 저장하며 토스트 알림창을 띄워주고 한번더 눌렀을때 일정시간(예를들면 2초)가 지났는지 확인하고 일정시간이 지나지 않았을 경우 종료, 지났을 경우 알림창을 다시 띄워주면 된다.0. 시간을 저장하는 변수(t) = 0; 1. 뒤로가기 버튼 (처음)클릭시 시간을 저장하는 변수(t) + 2000(2초)가 현재 시간보다 작다. 2-1. 알림창을 띄운다...
-
[안드로이드] 블루투스 프로토콜 UUID 리스트Programming/안드로이드 2013. 12. 26. 22:13
안드로이드 블루투스통신 예제는 인터넷에 많이 있을 것이다. 예를들면 블루투스통신 채팅 같은 예제.. 그러나 예제를 수정하여 블루투스 통신을 구현하려고 할 때 연결이 잘 안될수도 있다. 블루투스 프로토콜 종류가 많이 있기 때문에 프로토콜이 맞지 않아서 생기는 원인같다. 아래 리스트에서 사용하는 블루투스 통신의 성격에 맞는 프로토콜을 찾아서 사용하도록 하자. 블루투스 통신을 찾다보면 BluetoothChat이라는 예제 프로젝트를 볼 수 있는데 이 예제는 스마트폰끼리 채팅하는 예제이기 때문에 다른 블루투스 기기와 연결이 안될것이다. BluetoothChatService.java에 들어가서 UUID를 바꿔주면 아마 될 것이다. private static final UUID MY_UUID = UUID.fromSt..
-
[안드로이드] 액티비티 생명주기(Activity Lifecycle)Programming/안드로이드 2013. 12. 20. 02:56
클릭하면 크게 보실 수 있습니다. 안드로이드 앱을 만들기 전에 가장 기본적으로 이해하고 넘어가야 되는 것이 액티비티의 생명주기이다. 생명주기를 이해하지 못하면 좋은 앱을 만들수 없다. 각 기능이 언제 실행될지 적당한 위치에 코드를 삽입할 수 없기 때문에 앱이 이상하게 작동되는 경우가 생기기 때문이다. 그렇기 때문에 액티비티 생명주기에 대해서 자세히 알아보도록 하겠다. Activity의 4가지 주요 상태Activity에는 크게 4가지 주요 상태가 있다.1. Active/Running 상태 MainActivity가 화면의 가장 앞(foreground)에 있어서 사용자가 직접 볼 수 있고, focus를 가지고 있는 상태다. MainActivity에서 입/출력이 가능한 상태 2. Pause 상태 활동중인 Mai..