안드로이드란? 안드로이드는 구글에서 서비스하고 있는 스마트폰용 운영체제입니다. 운영체제와 미들웨어, 사용자 인터페이스, 어플리케이션, MMS 서비스 등을 하나로 묶어 서비스를 제공하며 다양한 어플리케이션을 만들어 설치하면 실행될 수 있도록 구성된 운영체제 입니다. 현 시간 기준으로 안드로이드는 세계 모바일 시장에서 가장 성공한 OS라는 평가를 받고있습니다. 안드로이드는 리눅스(Linux)를 기반으로 제작되었고 언어는 자바를 사용합니다. 안드로이드 스튜디오란? 안드로이드 어플리케이션을 개발하는 방법은 다양한 방법이 있지만 가장 많이 사용하고 대중화 되어있는 방법은 바로 안드로이드 스튜디오를 활용하여 어플리케이션을 개발하는 방법입니다. 안드로이드는 기본적으로 자바를 필요로 하기 때문에 Java SDK를 먼저..
안드로이드 개발을 하다보면 리스트뷰안에 세부 리스트뷰를 넣고 싶을때가 있습니다. 예를들면 카테고리 메뉴나 게시판 댓글기능구현 같은 기능들이죠. 이럴때 유용하게 사용할 수 있는 기능이 있습니다. 바로 ExpandableListView입니다. ExpandableListView는 단순히 아이템을 나열하는 일반 리스트뷰와는 달리 아이템을 그룹으로 묶어 Display할 수 있기에 좀 더 깔끔한 UI를 구성할 수 있게끔 도와줍니다. 확장 리스트뷰 만들기(ExpandableListView) ※ ExpandableListView의 특징 1. ExpandableListView는 기본적으로 스크롤을 지원합니다. 2. ExpandableListView의 아이템은 원하는 모양으로 변경하는 것이 가능합니다. 3. 그룹명 왼쪽에..
프로그램을 혼자 개발할려고 하면 힘들죠. 특히 개발을 하면서 디자인도 같이 병행해야 하는 어플리케이션을 만들어야 할 경우에는 더 그렇습니다. 기능보다 디자인이 더 암걸려요. 하지만 오픈소스를 사용하면 개발과 디자인을 쉽게 만들고 개발시간도 짧게 만들어줍니다. 소프트웨어가 꾸준히 발전하고 있는 이유는 바로 이런 오픈소스 덕이 아닐까요? 이번 포스팅에서는 제가 주로 사용하는 안드로이드 오픈소스 사이트에 대해서 알려드리고자 합니다. 오픈소스 라이브러리 1. Android 개발자 포털 안드로이드 라이브러리 오픈소스 무료/유료/데모 버전이 있습니다. 오래된 사이트임에도 불구하고 최근까지도 계속 업데이트되고 있는 사이트입니다. 2. 초보 개발자를 위한 안드로이드 오픈소스 라이브러리 Best27 aedi님께서 정리해..
물건은 많은데 보관할 공간이 없다면 어떻게 할까요? 수납장을 하나 장만해서 정리를 하면 될것입니다. 스마트폰의 화면은 작습니다. 대부분 한뼘크기도 안되는 화면을 가지고 있죠. 하지만 스마트폰의 어플리케이션에는 생각보다 다양한 기능이 들어가야만 합니다. 공간은 없는데 기능은 많이 들어가야하니 어플리케이션에도 수납장을 하나 장만해야겠군요. 안드로이드에 네비게이션 드로어라는 기능이 있습니다. 줄여서 네비바라고 부르는 기능입니다. 위 사진은 네비게이션 드로어의 기본화면입니다. 작동법은 화면에서 왼쪽에서 오른쪽으로 쓸던지 액션바의 네비바 버튼을 누르면 튀어나옵니다. 어플리케이션 어느곳에서나 작동한다는 특징이 있기때문에 로그인이 필요한 어플리케이션일 경우 프로필정보를 주로 넣습니다. 네비게이션 드로어(Navigat..
어플리케이션을 만들때 가장 중요시 생각해야 할 문제가 효율적인 UI구성이 아닌가 싶습니다. 컴퓨터보다 불편한 디바이스인 핸드폰 어플리케이션의 UI는 그 중요성이 특히 강조됩니다. 카카오톡은 국민 채팅 어플리케이션입니다. 카카오톡이 국민 어플리케이션이 된 계기는 시장의 빠른선점과도 같은 이유도 있겠지만 편리한 UI도 한몫을 했다고 생각합니다. 바로 이 카카오톡의 UI가 TabLayout + ViewPager형식으로 이루어져 있습니다. 카카오톡의 UI입니다. 위와같은 구조를 이루고 있죠. 카카오톡을 사용하다보면 위의 메뉴를 눌러서 페이지를 전환할수도 있지만 손가락으로 쓸어서 페이지를 넘길수도 있죠. ViewPager를 사용하면 손가락으로 쓸어서 페이지를 넘기는 기능을 사용할 수 있게됩니다. 사용해보면 알겠지..
안드로이드란? 안드로이드는 구글에서 만든 스마트폰용 운영체제입니다. 운영체제와 미들웨어, 사용자 인터페이스, 어플리케이션, MMS 서비스 등을 하나로 묶어 서비스를 제공하며 다양한 어플리케이션을 만들어 설치하면 실행될 수 있도록 구성된 어플리케이션 플랫폼이라고도 볼 수 있습니다. 많은 사람들이 iOS(애플 운영체제)에 견주어 스마트폰과 태블릿으로 안드로이드 운영체제를 사용하면서, 안드로이드는 세계 모바일 시장에서 가장 성공한 OS라는 평가를 받고있습니다. 안드로이드는 리눅스(Linux)를 기반으로 제작되었고 언어는 자바를 사용합니다. 안드로이드의 등장 안드로이는 2005년 구글이 앤디 루빈이라는 사람이 설립한 안드로이드라는 회사를 인수하면서 시작합니다. 작은 소프트웨어 회사에 불과했던 안드로이드사는 구글..
저번 포스팅에서는 MpAndroidChart 라이브러리를 활용해 원그래프(PieChart)를 만드는 방법을 알아봤습니다. 이번에는 MpAndroidChart 라이브러리를 활용하여 안드로이드 꺾은선 그래프(LineChart)를 만드는 방법에 대해서 알아보겠습니다. 안드로이드 꺽은선 그래프 만들기 build.gradle repositories{ maven {url "https://jitpack.io"} } dependencies { compile 'com.github.PhilJay:MpAndroidChart:v3.0.2' } 먼저 MpAndroidChart 라이브러리 사용을 위해 build.gradle에서 아래에 있는 두줄을 추가해주도록 하겠습니다. XML JAVA public class MainActivi..
개발 도중 차트를 만들일이 있어 쉽게 만드는 방법을 알아보다가 재미있는 라이브러리를 발견하였습니다. 바로 MpAndroidChart이라는 라이브러리인데요 이 라이브러리를 사용하면 차트를 굉장히 쉽게 만들 수 있습니다. 이번 포스팅에서는 MpAndroidChart를 이용하여 원그래프(PieChart)를 만드는 방법에 대해 알아보겠습니다. 안드로이드 원 그래프 만들기 build.gradle repositories{ maven {url "https://jitpack.io"} } dependencies { compile 'com.github.PhilJay:MpAndroidChart:v3.0.2' } 라이브러리 사용을 위해 build.gradle에서 아래에 있는 두줄을 추가해주도록 하겠습니다. XML Java p..
저번 포스팅하고 이어지는 내용입니다. Fragment에서 Google Cloud Vision 사용법에 대해서 알아보겠습니다. 구글 클라우드비전을 사용할 줄 모르는 분들은 이전 포스팅을 참고해주세요 구글 클라우드 비전 사용법 Fragment에서 구글 클라우드비전 사용하기 개발을 하다보면 Fragment안에서 Google Cloud Vision을 적용시키고 싶은 경우가 있는데요. Acitivty랑 Fragment가 서로 문법이 많이 달라 고생을 좀 많이 했습니다. uploadImage 이 3개의 자바 파일 중 Google Cloud Vision에서 우리는 MainActivity만 Fragment로 바꿔주면 됩니다. dependencies { compile fileTree(dir: 'libs', include..
이번 포스팅으로는 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..
공공 데이터 홈페이지라는 것이 있습니다. 국가 혹은 공공기관에서 만들어놓은 정보들을 국민들에게 개방해 둔 것인데 여기서 무료로 제공하는 공공 API를활용하여 쉽고 간단하게 유용한 앱을 만들 수 있습니다. 이번 글에서 공공기관 API를 파싱하고 검색하는 것까지 구현하는 방법에 대해 포스팅하려 합니다 공공기관 API는 아무거나 파싱 해와도 상관없는데 저는 전기차 충전소 정보를 파싱 해왔습니다. 공공 API 신청 및 파싱 & 검색 구현하기 1. 우선 위에 사진에 나와있는 것처럼 차례대로 공공기관 API를 신청해서 승인을 받습니다. 공공데이터를 신청하면 거기에 딸려있는 참고 문서가 있는데 참고 문서에 필수 요청 변수와 파싱 할 때 필요한 여러 가지 정보들이 있으니 꼭 챙겨보세요. https://www.data...
안드로이드 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. 우선 서버부터..