좋은 프로그램은 사용하기 편리해야합니다. 좁은 핸드폰 화면에 많은 기능을 넣어야하는 어플리케이션일 경우 그 중요성이 더더욱 커지죠. 특히 복잡한 스마트폰을 사용하는데 익숙치 않은 연배가 있으신 중장년층을 타겟으로 할 경우에는 어플리케이션 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..
저번 포스팅하고 이어지는 내용입니다. 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리스..