어젯밤이죠 2017-10-29일 오후 8시에 부산 불꽃축제가 시작되었습니다. 이번 포스팅은 어제 다녀온 부산 불꽃 축제에 대한 후기를 써보려고 해요. 부산 불꽃축제는 매년 있는 행사고 어제 다녀온 것 까지 합치면 4번째가 되는군요. 갈 때마다 느끼는 거지만 인파가 정말 장난이 아녔습니다. 후.. 사람들 보세요.. 매년 느끼는 거지만 부산 불꽃축제가 하는 날이면 모든 부산사람들이 광안리로 다 모이는 것 같아요.... 나름 이른 시간에 움직였는데도 불구하고 사람들한테 끼여서 겨우겨우 광안리로 갔습니다. 광안리 해수욕장으로 가면 너무나 미련한 짓이겠죠? 거기로 가면 사람들한테 깔려 죽어요 ㅠㅠㅠ 저는 저만의 불꽃놀이 명당인 금련산 전망대 쪽으로 갔습니다. 하....... 등산 진짜 싫어하는데 ㅠㅠㅠ 한 시간 ..
이번에는 안드로이드 스튜디오 설치 아이콘을 바꾸는 방법에 대해서 한번 알아보도록 하겠습니다. 안드로이드 앱을 다운로드할 경우 생기는 아이콘을 바꾸는 방법입니다. 이 아이콘을 바꾸지 않았을 경우에는 아래 사진의 왼쪽과 같은 아이콘이 나오는데요. 이 아이콘을 사진의 오른쪽처럼 바꾸는 방법입니다. 앞선 포스팅과 같이 이번에도 아주 간단한 방법이니 쉽게 따라 하실 수 있을 거라고 생각됩니다. 안드로이드 설치 앱 아이콘 바꾸기 1. 먼저 설치아이콘을 그림판이나 포토샵으로 한 땀 한 땀 만들어줍니다. 저는 이렇게 한번 만들어봤습니다. 2. 그다음 이 파일을 drawable에 icon.png라는 이름으로 넣어주도록 하겠습니다. Manifest.xml 3. Manifest.xml로 가셔서 위에 있는 소스 처럼 바꾸어줍..
모든 앱은 처음 실행시킬 때 초기 세팅 시간이 꼭 필요합니다. 이 초기 세팅 시간을 활용하여 로딩 화면(스플래쉬 액티비티)을 보여줌으로써 사용자는 기다리는 지루함을 덜 수 있고 개발자는 이 앱의 로고나 간단한 설명 등을 스플래쉬 액티비티에 넣어 사용자에게 정보를 전달할 수 있습니다. 안드로이드 로딩 화면 구현하기 그럼 안드로이드 로딩 화면 스플래쉬 액티비티를 구현해보도록 하겠습니다. 굉장히 간단한 방법이니 쉽게 따라 하실 수 있을 것입니다. activity_loading.xml 1. 먼저 로딩 화면을 만들어야겠죠?? 로딩 화면 XML입니다. 이렇게 자신이 띄워줄 로딩 화면을 만들어줍니다. LodingActivity public class LoadingActivity extends Activity { @O..
저번 포스팅하고 이어지는 내용입니다. 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, 스마트폰, 스..
이번 포스팅에서는 스프링 프로젝트에서 BootStrap을 연동하는 방법에 대해서 한번 알아보도록 하겠습니다. BootStrap이란 웹 사이트나 웹 응용 프로그램을 작성하기 위해 사용하는 무료 소프트웨어 도구 모음입니다. 기본적인 디자인이 다 되어있는 오픈소스로 되어있기 때문에 디자인 능력이 부족한 개발자이거나 단기간에 웹사이트를 만들어야 하는 경우 요긴하게 사용할 수 있습니다. 스프링에서 BootStrap적용하기 1. BootStrap을 쓰기 위해서는 자신이 원하는 소스코드를 다운로드하아야 합니다. BootStrap을 다운로드하는 홈페이지를 두 군데 소개해드리겠습니다. 부트스트랩 무료 오픈소스 링크 바로가기 1 부트스트랩 무료 오픈소스 링크 바로가기 2 위에 링크된 사이트에서 자신이 원하는 오픈소스를 다..
공공 데이터 홈페이지라는 것이 있습니다. 국가 혹은 공공기관에서 만들어놓은 정보들을 국민들에게 개방해 둔 것인데 여기서 무료로 제공하는 공공 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..