프로그래밍
-
[Android] TTS 기능 사용하기프로그래밍/Android 2017. 12. 27. 15:09
이번 포스팅은 안드로이드의 TTS 기능에 대해 살펴보려 합니다.TTS가 무엇인지, 어떻게 사용하는 것인지 한번 보도록 하겠습니다. TTS란?TTS(Text To Speech)란 텍스트로 된 문자를 자동으로 읽어주는 기능을 말합니다.기기의 설정에 보시면 접근성 메뉴의 글자 읽어주기 또는 TTS 기능 등으로 설정화면을 확인하실 수 있습니다. TTS 기능 설정화면 기기에 따라 지원이 되는 것도 있고 안되는 것도 있지만 요즘 나오는 최신 기종들을 보면 대부분 지원하고 있습니다. 그렇다면 내 프로젝트에 어떻게 적용해야 하는지 알아보도록 하겠습니다. TTS 사용하기TTS를 사용하기에 앞서 우선 프로젝트를 생성하여 레이아웃을 먼저 구성하겠습니다. activity_main.xml 간단하게 읽을 텍스트를 입력할 Edit..
-
[Android] 안드로이드 스튜디오에서 JNI 사용하기프로그래밍/Android 2017. 12. 15. 11:41
이번 포스팅은 제가 이번에 프로젝트를 진행하면서 JNI를 사용해야 할 상황이 생겨 구현하면서, 알게 된 것들을 기록하는 목적으로 작성합니다. JNI?JNI란 Java Native Interface의 약자로서, 자바 외의 다른 언어들(C/C++ 등)과 자바 사이에 연결을 위한 인터페이스를 뜻합니다. 말 그대로, 자바에서 C/C++를 사용할 수도 있고, 반대로 C/C++에서 자바를 사용할 수도 있습니다. 안드로이드에서 NDK(Native Development Kit)를 제공하여 Native언어를 사용할 수 있도록 지원하고 있습니다.그럼 사용 방법을 간단하게 알아보겠습니다. NDK 설치 및 환경설정일단 안드로이드 스튜디오를 실행하신 뒤에, 아래 그림과 같이 Tools > Android > SDK Manager..
-
[Android] ListView 이해하기프로그래밍/Android 2017. 10. 23. 14:56
안녕하세요. 요즘 날씨가 많이 쌀쌀해졌네요. 겨울만 되면 콧물에 기침을 달고 사는 저로서는 겨울이 매번 반갑지만은 않네요ㅠ다들 감기 조심하시길 바랍니다. 이번 포스팅 주제는 ListView입니다.이미 많은 분들이 사용하고 계시고, 어찌보면 가장 기초적인 내용일 수 있습니다. 다만, 간혹 ListView의 특성을 이해하지 않고 사용법에 따라 사용만 하다가 원하는 대로 결과가 나오지 않아 원인을 찾지 못하고 헤메시는 분들이 계시기에 이번 주제로 다뤄볼까 합니다. 그럼 부족하나마, 이번 포스팅 시작하겠습니다. 좌 - 구글 Play 스토어 우 - 설정창 만약 위와 같은 화면을 위해 레이아웃을 구성해야 된다면 어떻게 하시겠습니까? 방법은 여러가지가 있겠죠.. xml에 하나하나 그려가며 잡아줄 수도 있고, 코드로 ..
-
[Android] 무선으로 ADB 사용하기프로그래밍/Android 2017. 10. 23. 11:37
개발을 하다 보면 특정 상황에서는 유선 디버깅을 할 수가 없는 상황이 생기기도 하는데요.이번 제 프로젝트가 그랬습니다. 단말기와 주변기기를 연결하여 통신을 해야했기 때문에 컴퓨터와 연결을 할 수가 없어,디버깅모드는 커녕 로그조차 볼 수가 없어 너무나도 답답하고 새삼 디버깅모드가 얼마나 소중한지 알게 되었습니다.어떻게든 진행은 해야되니, 이걸 매번 Toast로 찍어서 봐야하나, 로그를 파일로 저장해서 봐야하나 고민하던 차에 두가지 방법 모두 한계가 있다는 생각에 검색해보니, Wi-fi를 이용해서 무선으로 ADB를 연결하여 사용하는 방법이 있어, 소개해드리려고 합니다. 무선 ADB 사용하기앞서 말씀드린 바와 같이, 무선으로 ADB를 사용하기 위해서 Wi-fi를 사용한다고 했습니다. 그렇다면 당연히 같은 Wi..
-
[Android] Activity와 Fregment의 생명주기프로그래밍/Android 2017. 6. 2. 14:29
이번에 다룰 내용은 Activity와 Fregment의 생명주기 입니다.안드로이드 개발에 있어서 생명주기는 굉장히 중요합니다. Activity의 생명주기 먼저 Activity의 생명주기에 대해 알아보겠습니다. Activity 생명주기 onCreate()- Activity가 처음 생성될 때 호출됩니다. 매개변수인 savedInstanceState를 통해 이전 상태를 불러오거나, Activity에 필요한 구성 요소들을 초기화하며, UI 레이아웃을 정의하는 구간입니다. 또한 저장되었던 데이터에 의해 화면을 이전상태로 복원하는 역할을 합니다. onRestart()- Activity가 중단되었다가 다시 시작되기 전에 호출됩니다. onStart()- Activity가 화면에 보이기 바로 직전에 호출됩니다. onRe..
-
[Java] Call by value와 Call by reference프로그래밍/Java 2017. 5. 31. 17:20
이번에 다룰 주제는 Call by value, Call by reference 입니다. 함수의 호출 방식에는 Call by value와 Call by reference가 있습니다.말 그대로 '값에 의한 호출'이냐, '참조에 의한 호출'이냐 라고 할 수 있는데요, 그럼 어떤 차이가 있는지 예제를 통해 알아보겠습니다. Call by value Call by value와 Call by reference의 설명으로 자주 등장하는 swap 예제입니다.일단 먼저 예제를 보겠습니다. Class CallByValue{public static void swap(int x, int y) {int temp = x;x = y;y = temp;} public static void main(String[] args) {int a..
-
[Java] 메모리 구조프로그래밍/Java 2017. 5. 30. 15:29
첫 포스팅 입니다. 언제나 처음은 두근두근 거리네요.저 스스로의 발전과 자그마한 지식의 공유를 위해 시작했는데요,처음 시작하시는 분들께 조금이라도 도움이 되셨으면 좋겠습니다.저 또한 프로그래밍 공부를 시작한 지 얼마 되지 않아,틀린 점이 있을 수 있습니다.만약, 그런 부분들이 보이신다면 언제든지 태클 걸어주세요.언제든지 환영입니다.! 그럼 시작하겠습니다. 이번에 다룰 내용은 자바의 메모리 구조에 대해서 입니다. 자바를 맨 처음 시작하게 되면 배우는 내용 중에 하나 인데요,"개발자가 코딩만 잘하면 되지, 왜 메모리까지 알아야 되지?" 라고 하시는 분이 계실지도 모르겠습니다.물론 코딩 실력이 중요한 건 부인할 수 없지만, 메모리 구조를 아는 것 또한 굉장히 중요하다고 생각합니다. 그렇다면, 왜 메모리가 중요..