저번 포스팅하고 이어지는 내용입니다. Fragment에서 Google Cloud Vision 사용법에 대해서 알아보겠습니다. 구글 클라우드비전을 사용할 줄 모르는 분들은 이전 포스팅을 참고해주세요 구글 클라우드 비전 사용법 Fragment에서 구글 클라우드비전 사용하기 개발을 하다보면 Fragment안에서 Google Cloud Vision을 적용시키고 싶은 경우가 있는데요. Acitivty랑 Fragment가 서로 문법이 많이 달라 고생을 좀 많이 했습니다. uploadImage 이 3개의 자바 파일 중 Google Cloud Vision에서 우리는 MainActivity만 Fragment로 바꿔주면 됩니다. dependencies { compile fileTree(dir: 'libs', include..
구글 클라우드 비전이란? 구글 클라우드 비전이란 2016년 구글에서 공개한 기계 학습 기반 이미지 인식 API입니다. 이미지 파일에서 얼굴인식 , 텍스트 인식, 사물, 상품로고, 꽃, 랜드마크 인식 그리고 사람인 경우 기쁨, 슬픔, 분노 등 다양한 감정 식별도 가능합니다. 제가 직접 사용해본결과 인식률이 완벽하지는 않았으나 애플리케이션을 개발할 경우 굉장히 유용한 API인 것만은 틀림없는 듯합니다. 그럼 Google Cloud Vision API를 사용하는 방법에 대해서 한번 알아보도록 하겠습니다. 구글 클라우드비전 API 키 발급 1. 구글 클라우드 플랫폼 API를 사용하면 먼저 API 키를 발급받아야 합니다. 구글 클라우드 API받기 링크 바로가기 위 사이트에 들어가셔서 위에 보이시는 빨간색 박스 안..
안녕하세요 이번에는 리스트뷰에 EditText를 넣어보는 작업을 한번 해보도록 하겠습니다. 개발을 하다가 보면 사용자에게 정보를 입력하고 싶을 때 리스트 뷰안에 EditText를 넣고 싶은 경우가 생깁니다. 하지만 EditText를 ListView안에 집어넣으면 포커스가 뒤죽박죽이 되어버려 굉장히 곤란한 상황에 빠지게 되는데요. 그 이유는 ListView는 목록을 스크롤할 때 메모리를 아끼기 위해 ListItem의 뷰를 재사용하기 때문입니다. 그래서 포커스가 바뀌기 전에 입력한 값을 다른 변수에 저장을 해줘야 하는데 TextWatcher라는 함수를 통해서 이 방법을 구현할 수 있습니다. ListView에 EditText 넣기 예제 파일 올려드립니다. 예제 파일은 동적으로 추가 삭제되는 EditText리스..
안녕하세요 이번에는 리스트뷰를 팝업으로 만드는 방법에 대해서 한번 알아보도록 하겠습니다. 리스트뷰를 팝업창으로 만들어 UI를 구성하시면 좀 더 사용자가 사용하기 편리한 앱을 만들 수 있습니다. 생각보다 굉장히 간단한 방법이니 쉽게 따라 하실 수 있을 것입니다. ListView를 팝업창으로 만들기 바로 예제 소스 올려드리겠습니다. 먼저 팝업창으로 만들 리스트뷰를 간단하게 만들어주도록 하겠습니다. activity_main.xml MainActivity package com.example.user.popup_listview; import android.app.Activity; import android.os.Bundle; import android.widget.ListView; import android.wi..
이번 포스팅으로는 LayoutInflater의 사용법에 대해서 한번 알아보도록 하겠습니다. 보통 LayoutInflater은 동적으로 뷰를 컨트롤할 때 사용되고 ListView안에도 많이 쓰이는 기법입니다. 한번 알아두시면 여러 방면으로 응용해 사용하실 수 있으실 겁니다. LayoutInflater로 동적으로 레이아웃(뷰) 추가하기 아래 예제는 버튼을 누르면 레이아웃이 아랫부분에 계속 복제되는 토이 프로젝트입니다. MainActivity.java import android.os.Bundle; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widg..
이번에는 안드로이드 웹뷰를 통해서 자신이 만든 개인 홈페이지를 핸드폰에 띄우는 방법을 한번 알아보도록 하겠습니다. 자기가 만든 홈페이지가 아닌 네이버나 다음 같은 사이트도 띄울 수 있습니다. 우선 자신이 안드로이드 상에서 띄울 웹사이트가 있어야겠죠? 웹사이트가 반응형이라면 자신의 핸드폰 해상도에 맞게 웹사이트의 컴포넌트가 자동으로 재배치되기 때문에 반응형 웹으로 만들어 놓으시면 더더욱 좋습니다. 저는 BootStrap을 활용하여 간단하게 웹페이지를 제작해봤습니다. (BootStrap에서 반응형 웹을 지원하거든요) BootStrap을 활용하실 분들은 앞선 포스팅을 참조해주세요. 스프링에서 부트스트랩 적용하기 ※반응형웹이란? : 반응형 웹 디자인을 기반으로 다양한 디바이스(PC, 태블릿 PC, 스마트폰, 스..
공공 데이터 홈페이지라는 것이 있습니다. 국가 혹은 공공기관에서 만들어놓은 정보들을 국민들에게 개방해 둔 것인데 여기서 무료로 제공하는 공공 API를활용하여 쉽고 간단하게 유용한 앱을 만들 수 있습니다. 이번 글에서 공공기관 API를 파싱하고 검색하는 것까지 구현하는 방법에 대해 포스팅하려 합니다 공공기관 API는 아무거나 파싱 해와도 상관없는데 저는 전기차 충전소 정보를 파싱 해왔습니다. 공공 API 신청 및 파싱 & 검색 구현하기 1. 우선 위에 사진에 나와있는 것처럼 차례대로 공공기관 API를 신청해서 승인을 받습니다. 공공데이터를 신청하면 거기에 딸려있는 참고 문서가 있는데 참고 문서에 필수 요청 변수와 파싱 할 때 필요한 여러 가지 정보들이 있으니 꼭 챙겨보세요. https://www.data...
이번에는 안드로이드로 간단한 드럼을 만들어보도록 하겠습니다. 지금까지 SoundPool로 오카리나와 피아노를 만들어봤는데, Soundpool로 만드는 악기 앱 시리즈의 마지막 버전입니다. SoundPool로 만드는 드럼 앱 좌측 drawable에 드럼 이미지를 삽입합니다. 그다음 res 파일에 오른쪽 클릭하여 새로운 폴더 raw를 만들어줍니다. Directory를 클릭~! raw라고 폴더명을 입력해준 뒤 드럼 소리를 raw폴더 안에 넣어줍니다. 이까지 했으면 이제 소스코드를 입력해보겠습니다. XML 아래 사진과 같이 드럼을 배치하면 됩니다. java package com.example. user.music; import android.content.Intent; import android.media.Au..
안드로이드 SOUNDPOOL 메서드를 활용한 피아노 앱을 만들어보았습니다. 완성한 피아노 앱의 모습입니다. SoundPool로 만드는 피아노앱 먼저 좌측 res 파일에 오른쪽 클릭하여 새로운 폴더 raw를 만들어주세요. Directory를 클릭! raw라고 입력해준뒤 피아노소리를 raw폴더안에 넣습니다. 이제 소스코드를 입력할 차례입니다. XML 흰건반위에 검은건반을 올려야하기때문에 위로 중첩이 가능한 FrameLayout을 활용하였습니다.. 또한 버튼 하나하나에 onClick을 주어 자바코드에서 활용 가능하게 만들어주세요. JAVA SoundPool pool; int d1; int d2; int re; int mi; int pa; int sol; int ra; int si; @Override prote..
저번 포스팅에서는 안드로이드와 jsp와 연결/통신하는 방법을 포스팅 했었죠. 이번에는 안드로이드와 서블릿을 연결/통신하는 방법을 소개해드리고자 합니다. 저번 포스팅에서도 알려드렸다시피 안드로이드는 보안 관련 문제로 외부 DB(오라클, MYSQL, 몽고 DB 등)과의 직접적인 연결이 불가능합니다. 그래서 사진과 같은 방식으로 안드로이드와 오라클 사이에 중간다리 역할을 하는 서버가 있어야 하는데 앞선 포스팅에서는 JSP로 중간다리역할을 하는 방법을 알려드렸다면 이번 포스팅에서는 서블릿 방식으로 안드로이드와 오라클을 연결하는 방법에 대해 포스팅하겠습니다. 안드로이드의 통신 값을 서블릿에서 받고 그 통신 값을 오라클에 넣어주는 전체적인 툴은 이전 포스팅과 동일합니다. Spring Server 1. 우선 서버부터..
이번 포스팅에서는 안드로이드 스튜디오와 오라클을 연결하는 방법에 대해서 한번 알아보도록 하겠습니다. 안드로이드 스튜디오에 내부 DB인 SQLite와는 직접적으로 바로 연결이 가능하지만 Oracle과 MySQL 같은 외부 DB는 안드로이드에서 직접적으로 접근이 불가능합니다. 보안상의 이유 때문이라고 하네요. 그러므로 위 사진과 같이 JSP 혹은 서블릿등으로 오라클과 통신하기 위해서는 중간 다리를 만들어 줘야 하는데 이번 포스팅에서는 안드로이드를 JSP 서버를 이용하여 오라클과 연결할 수 있는 방법에 대해서 알아보도록 하겠습니다. 안드로이드에서 JSP로 통신 값을 보내고 그 통신 값을 JSP에서 오라클로 넣어주는 방식입니다. 먼저 안드로이드(클라이언트)부터 작업을 시작하도록 하겠습니다. Android Stu..
안드로이드에서는 SoundPool이라는 사운드 함수를 지원합니다. SoundPool이라는 함수는 간단하게 소리를 입혀주는 함수인데, 이것을 이용해 간단한 악기 앱을 만들 수 있습니다. SoundPool로 만드는 오카리나 앱 mainpage.xml StartActivity.java package com.example.samsung.ocarina; import android.app.Activity; import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.view.View; import an..
안드로이드 스튜디오란? 2013년 5월 16일 구글 컨퍼런스에서 구글의 제품 관리자인 Ellie Powers에 의해서 발표되었으며, 안드로이드 스튜디오는 안드로이드를 위한 공식 통합 개발환경입니다. 예전에는 이클립스로도 안드로이드 개발을 많이 진행했지만 요새는 많은 개발자들이 안드로이드 스튜디오를 통해 안드로이드 앱 개발을 하고 있습니다. 안드로이드 스튜디오 설치 / 다운로드 1. 안드로이드 스튜디오는 안드로이드스튜디오 설치 링크 바로가기에서 다운로드할 수 있습니다. 해당 경로에 가서 빨간 박스 안의 다운로드 버튼을 눌러주세요. 참고로 크롬으로 다운을 받아야 합니다. 익스플로러로 다운로드하면 다운이 잘 안 되니, 필히 크롬으로 다운로드하시길.. 2. 안드로이드 스튜디오 설치방법은 별거 없습니다. 계속 N..