핸드폰 디바이스는 크기가 작습니다. 고로 한 화면에 많은 기능을 넣기가 굉장히 힘이 드는데요. 자취방에 많은 물건을 가져다놓기위해 옷장안에 옷을넣고 수납장안에 물건을 넣고 하는 것처럼 어플리케이션도 한 페이지에 최대한 많은 기능을 넣기 위해서는 UI를 효율적으로 구성할 필요가 있습니다. 자취방의 서랍장처럼 한 액티비티에 모든기능을 다 띄워놓는것 보다는 사용자가 필요한경우에 액션을 취하면 숨겨졌던 기능이 나오는 방식으로도 생각해볼 수 있습니다. 그렇게하면 액티비티의 공간이 훨씬 절약되니까요. 애니메이션을 활용한 슬라이드 메뉴 만들기 프로젝트의 구성은 다음과 같습니다. FrameLayout 에는 Layout을 중첩해서 사용할 수 있습니다. FrameLayout안에 SubLayout을 만들고 android:v..
안드로이드 개발을 하다보면 리스트뷰안에 세부 리스트뷰를 넣고 싶을때가 있습니다. 예를들면 카테고리 메뉴나 게시판 댓글기능구현 같은 기능들이죠. 이럴때 유용하게 사용할 수 있는 기능이 있습니다. 바로 ExpandableListView입니다. ExpandableListView는 단순히 아이템을 나열하는 일반 리스트뷰와는 달리 아이템을 그룹으로 묶어 Display할 수 있기에 좀 더 깔끔한 UI를 구성할 수 있게끔 도와줍니다. 확장 리스트뷰 만들기(ExpandableListView) ※ ExpandableListView의 특징 1. ExpandableListView는 기본적으로 스크롤을 지원합니다. 2. ExpandableListView의 아이템은 원하는 모양으로 변경하는 것이 가능합니다. 3. 그룹명 왼쪽에..
프로그램을 혼자 개발할려고 하면 힘들죠. 특히 개발을 하면서 디자인도 같이 병행해야 하는 어플리케이션을 만들어야 할 경우에는 더 그렇습니다. 기능보다 디자인이 더 암걸려요. 하지만 오픈소스를 사용하면 개발과 디자인을 쉽게 만들고 개발시간도 짧게 만들어줍니다. 소프트웨어가 꾸준히 발전하고 있는 이유는 바로 이런 오픈소스 덕이 아닐까요? 이번 포스팅에서는 제가 주로 사용하는 안드로이드 오픈소스 사이트에 대해서 알려드리고자 합니다. 오픈소스 라이브러리 1. Android 개발자 포털 안드로이드 라이브러리 오픈소스 무료/유료/데모 버전이 있습니다. 오래된 사이트임에도 불구하고 최근까지도 계속 업데이트되고 있는 사이트입니다. 2. 초보 개발자를 위한 안드로이드 오픈소스 라이브러리 Best27 aedi님께서 정리해..
좋은 프로그램은 사용하기 편리해야합니다. 좁은 핸드폰 화면에 많은 기능을 넣어야하는 어플리케이션일 경우 그 중요성이 더더욱 커지죠. 특히 복잡한 스마트폰을 사용하는데 익숙치 않은 연배가 있으신 중장년층을 타겟으로 할 경우에는 어플리케이션 UI가 더 중요해지겠죠. UI (User Interface)란? 휴대폰, 컴퓨터, 내비게이션 등 디지털 기기를 작동시키는 명령어나 기법을 포함하는 사용자 환경을 뜻한다. 이용자들이 IT기기를 구동하기 위해서 접촉하는 매개체로 컴퓨터를 조작할 때 나타나는 이른바 '아이콘'이나 텍스트 형태 구동화면도 포함된다. 스마트폰의 경우 애플리케이션 아이콘 형태 및 화면 구성을 가리킬 때가 많다. - 네이버 백과사전 - 어플리케이션 UI 만들기(사용하기 편리한 인터페이스) 앞선 포스팅..
물건은 많은데 보관할 공간이 없다면 어떻게 할까요? 수납장을 하나 장만해서 정리를 하면 될것입니다. 스마트폰의 화면은 작습니다. 대부분 한뼘크기도 안되는 화면을 가지고 있죠. 하지만 스마트폰의 어플리케이션에는 생각보다 다양한 기능이 들어가야만 합니다. 공간은 없는데 기능은 많이 들어가야하니 어플리케이션에도 수납장을 하나 장만해야겠군요. 안드로이드에 네비게이션 드로어라는 기능이 있습니다. 줄여서 네비바라고 부르는 기능입니다. 위 사진은 네비게이션 드로어의 기본화면입니다. 작동법은 화면에서 왼쪽에서 오른쪽으로 쓸던지 액션바의 네비바 버튼을 누르면 튀어나옵니다. 어플리케이션 어느곳에서나 작동한다는 특징이 있기때문에 로그인이 필요한 어플리케이션일 경우 프로필정보를 주로 넣습니다. 네비게이션 드로어(Navigat..
어플리케이션을 만들때 가장 중요시 생각해야 할 문제가 효율적인 UI구성이 아닌가 싶습니다. 컴퓨터보다 불편한 디바이스인 핸드폰 어플리케이션의 UI는 그 중요성이 특히 강조됩니다. 카카오톡은 국민 채팅 어플리케이션입니다. 카카오톡이 국민 어플리케이션이 된 계기는 시장의 빠른선점과도 같은 이유도 있겠지만 편리한 UI도 한몫을 했다고 생각합니다. 바로 이 카카오톡의 UI가 TabLayout + ViewPager형식으로 이루어져 있습니다. 카카오톡의 UI입니다. 위와같은 구조를 이루고 있죠. 카카오톡을 사용하다보면 위의 메뉴를 눌러서 페이지를 전환할수도 있지만 손가락으로 쓸어서 페이지를 넘길수도 있죠. ViewPager를 사용하면 손가락으로 쓸어서 페이지를 넘기는 기능을 사용할 수 있게됩니다. 사용해보면 알겠지..
안드로이드의 4대 컴포넌트는 액티비티, 서비스, 콘텐트제공자, 방송수신자 이렇게 4가지를 말합니다. 어플리케이션을 만들때 주요 구성요소이자 안드로이드의 사실상의 모든 구성요소입니다. 각각의 구성요소는 인텐트를 통해서 상호 통신을 합니다. 즉 액티비티에서 다른 구성요소를 호출할때는 인텐트를 거쳐야 한다는 것입니다. 1. Activity(액티비티) 액티비티는 UI 화면을 담당하는 컴포넌트입니다. 액티비티 역할을 하기 위해서는 자바소스에서 Activity클래스를 상속해야 하며 액티비티가 기본적으로 가지고 있는 생명주기 메소드를 재정의하여 원하는 기능을 구현하는 방식으로 제작합니다. 가장 많이 쓰이는 컴포넌트 이기때문에 굉장히 중요하다고 볼 수 있습니다. Activity(액티비티)의 특징 1. 안드로이드 어플리..
어플리케이션을 만들때 하나의 화면을 가지고 어플리케이션을 만들지는 않죠. 하나의 화면에 모든기능을 담기란 불가능합니다. 대부분의 어플리케이션은 많은 View를 모으고 모아서 만든 결과물입니다. 그래서 안드로이드에서는 화면간 이동과 화면간 데이터 전달이 무척이나 빈번하고 중요합니다. 안드로이드에서 페이지 전환과 페이지간 데이터 전달은 Intent를 통해서 구현할 수 있습니다. ※ 인텐트란 인텐트는 앱 컴포넌트가 무엇을 할 것인지를 담는 메시지 객체입니다. 메시지는 의사소통을 하기 위해 보내고 받는 것이지요. 메시지를 사용하는 가장 큰 목적은 다른 액티비티, 서비스, 브로드캐스트 리시버, 컨텐트 프로바이더 등을 실행하는 것입니다. 인텐트는 그들 사이에 데이터를 주고 받기 위한 용도로도 쓰입니다. 화면 전환 ..
안드로이드란? 안드로이드는 구글에서 만든 스마트폰용 운영체제입니다. 운영체제와 미들웨어, 사용자 인터페이스, 어플리케이션, 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..
이번에는 안드로이드 스튜디오 설치 아이콘을 바꾸는 방법에 대해서 한번 알아보도록 하겠습니다. 안드로이드 앱을 다운로드할 경우 생기는 아이콘을 바꾸는 방법입니다. 이 아이콘을 바꾸지 않았을 경우에는 아래 사진의 왼쪽과 같은 아이콘이 나오는데요. 이 아이콘을 사진의 오른쪽처럼 바꾸는 방법입니다. 앞선 포스팅과 같이 이번에도 아주 간단한 방법이니 쉽게 따라 하실 수 있을 거라고 생각됩니다. 안드로이드 설치 앱 아이콘 바꾸기 1. 먼저 설치아이콘을 그림판이나 포토샵으로 한 땀 한 땀 만들어줍니다. 저는 이렇게 한번 만들어봤습니다. 2. 그다음 이 파일을 drawable에 icon.png라는 이름으로 넣어주도록 하겠습니다. Manifest.xml 3. Manifest.xml로 가셔서 위에 있는 소스 처럼 바꾸어줍..
모든 앱은 처음 실행시킬 때 초기 세팅 시간이 꼭 필요합니다. 이 초기 세팅 시간을 활용하여 로딩 화면(스플래쉬 액티비티)을 보여줌으로써 사용자는 기다리는 지루함을 덜 수 있고 개발자는 이 앱의 로고나 간단한 설명 등을 스플래쉬 액티비티에 넣어 사용자에게 정보를 전달할 수 있습니다. 안드로이드 로딩 화면 구현하기 그럼 안드로이드 로딩 화면 스플래쉬 액티비티를 구현해보도록 하겠습니다. 굉장히 간단한 방법이니 쉽게 따라 하실 수 있을 것입니다. activity_loading.xml 1. 먼저 로딩 화면을 만들어야겠죠?? 로딩 화면 XML입니다. 이렇게 자신이 띄워줄 로딩 화면을 만들어줍니다. LodingActivity public class LoadingActivity extends Activity { @O..