프로그래밍 156

안드로이드 Fragment 이해하기

안드로이드 Fragement 이해하기 조대협 (http://bcho.tistory.com) 안드로이드에서 하나의 화면은 하나의 Activity로 대변된다.이러한 Activity를 View등을 이용해서 여러개로 쪼갤 수 있지만, 타블렛이나 팬블릿과 같이 스마트 폰과 다른 해상도를 사용할때 일일이 View를 다시 디자인 해야 하며, 또한 해당 화면 레이아웃이나 배치등을 다른 Activity에서 사용하고자 하면 매번 다시 만들어야 한다. 왼쪽은 타블렛 화면 레이아웃으로, 좌측에 메뉴와 오른쪽에 다른 형태의 컨텐츠가 나타난다.이를 스마트 폰에서 볼때는 화면이 작기 때문에, 한 화면에서는 메뉴를 출력하고, 메뉴를 클릭하면 컨텐츠 화면으로 이동하도록 하는 형태인데, 이를 그냥 각각 구현하려면, 각 Activity에..

안드로이드에서 동영상 재생하기

안드로이드에서 비디오 플레이 하기 조대협 (http://bcho.tistory.com) 동영상 서비스를 하다보니, 실제로 비디오 플레이어를 어떻게 구현하는 지가 궁금해서 찾아봤는데, 생각보다 안드로이드의 비디오 플레이어 구현은 간단해 보인다. 내부적으로 MediaPlayer라는 컴포넌트를 사용하는데, 이 MediaPlayer는 조금 더 미세한 컨트롤이 가능하고 이를 한단계 더 쌓아 놓은 VideoView라는 것이 사용방법이 쉽다. 또한 구버전의 안드로이드에서는 MediaPlayer 기능이 잘 작동하지 않는 부분이 있기 때문에, VideoView를 사용하는 것이 조금 더 안정적일 수 있다. 내장된 플레이어로 지원되는 프로토콜은 다음과 같다.•RTSP•HTTP/HTTPS Progressive Streamin..

SharedPreference를 이용한 데이타 저장 및 애플리케이션간 데이타 공유

SharedPreference를 이용한 데이타 저장 및 애플리케이션간 데이타 공유 조대협 (http://bcho.tistory.com) 안드로이드에서는 데이타를 저장할때 여러가지 방법을 사용할 수 있다.대표적인 방법으로는 일반적으로 파일을 생성해서 저장하는 방법, 그리고 안드로이드에 내장된 데이타 베이스인 SQLite 데이타 베이스를 활용하는 방법이외에 SharedPreference라는 클래스를 사용하여 데이타를 저장하는 방법이 있다. SharedPreference SharedPreference는 간단하게 Key/Value 형태로 데이타를 저장할 수 있는 데이타 구조로 내부적으로는 XML 파일로 저장이 된다. 사용법이 매우 간단해서 일반적인 설정값이나 세션 정보, 사용자 정보와 같은 값들을 저장하거나 주..

안드로이드 웹뷰(Webview)의 이해와 성능 최적화 방안

간단한 웹뷰 컴포넌트의 이해와 최적화조대협(http://bcho.tistory.com) 들어가기에 앞서서 이글은 안드로이드 프로그래밍 개발을 공부하면서 공부한 내용을 정리한 글입니다. 제가 아직 안드로이드에는 전문성이 없는 초보자 수준이기 때문에, 수준이 높지 않으니, 내용을 참고만 하시기를 바라며, 더 나은 프로그래밍 방법등이 있음을 미리 알려드립니다. Webview(웹뷰) 컴포넌트에 대해서 웹뷰는 안드로이드 프레임웍에 내장된 웹 브라우져 컴포넌트로 뷰(View)형태로 앱에 임베딩이 가능하다. 비교해서 생각하자면, 안드로이드 앱안에, HTML iframe을 넣어놓은 것이라고나 할까?단순하게, 웹 페이지를 보기위해도 사용하지만, 안드로이드 앱 안에서 HTML을 호출하여 앱을 구현하는 하이브리드 형태의 앱..

안드로이드에서 REST API 호출하기

REST API를 이용하여, 날씨를 조회하는 간단한 애플리케이션 만들기 조대협 (http://bcho.tistor 네트워크를 통한 REST API 호출 방법을 알아보기 위해서, 간단하게, 위도와 경도를 이용하여 온도를 조회해오는 간단한 애플리케이션을 만들어보자이 애플리케이션은 경도와 위도를 EditText 뷰를 통해서 입력 받아서 GETWEATHER라는 버튼을 누르면 네트워크를 통하여 REST API를 호출 하여, 날씨 정보를 받아오고, 해당 위치의 온도(화씨) 출력해주는 애플리케이션이다. 날씨 API 는 http://www.openweathermap.org/ 에서 제공하는데, 사용법이 매우 간단하고, 별도의 API인증 절차가 필요하지 않기 때문에 쉽게 사용할 수 있다. 사용 방법은 다음과 같이 쿼리 스..

안드로이드 주요 레이아웃

안드로이드 주요 레이아웃 (메모) 원본 : https://www.udacity.com/course/viewer#!/c-ud853/l-1395568821/m-1645248621 다른 종류의 레이아웃도 있으나 일반적으로 사용하는 레이아웃은 다음과 같다. FrameLayout : 보려는 항목이 하나만 있을 경우. (ListView 하나만 넣는 경우와 같은 케이스)LinearLayout : 수직 또는 수평으로 차례로 View를 출력할때RelativeLayout : 다른 View에 비한 상대적 위치를 표현하는 반응형 UI에 적합

안드로이드 기초 - 컴파일,설치,실행 (커맨드라인)

안드로이드에 애플리케이션 컴파일,설치해서 실행하기 (에뮬레이터 실행 포함) 조대협 (http://bcho.tistory.com) 다음은 개발된 애플리케이션을 단말이나 또는 에뮬레이터에서 실행하는 방법이다.이 방법은 안드로이드 스튜디오 1.2.2 을 맥북에 설치한 기준으로 설명한다.안드로이드 스튜디오 IDE가 좋아서, 필요는 없겠지만. 몰 하던간에 IDE 없이도 할 수 있는 방법이 있어야 하기에 테스트 해놓은 내용을 기록해놓는다. 1. 애플리케이션 컴파일 하기 디렉토리에서 ./gradlew assembleDebug명령을 실행하면, 디버깅 모드로 컴파일이 되고 apk 파일이 생성된다. 위와 같은 에러가 발생할 수 있는데, 이 경우는 ANDROID_HOME이 설정되지 않은 경우이다.~/bash_profile에..

안드로이드 리소스파일 (Resource)

안드로이드 리소스 파일 개요 조대협 (http://bcho.tistory.com) 안드로이드 프로젝트에서 소스 코드 이외에 이미지나 디자인 레이아웃등의 기타 리소스등을 코드와 분리해서 취급한다. 이렇게 리소스를 코드와 분리해서 사용하는 이유는, 조금 더 유연하게 애플리케이션을 개발하게 하기 위함이다. string과 같은 문자열을 별도의 리소스 파일에서 관리함으로써, 애플리케이션 수정 없이 string 리소스 파일에만 문자열을 추가함으로 간단하게 다국어를 지원할 수 있다. 리소스는 크게 7가지 타입의 리소스가 있고, “/res” 디렉토리에 저장된다. Layout Resource (뷰 리소스)애플리케이션 UI의 배치 에 대한 내용을 XML 형태로 정의하여 저장한다. res/layout 아래와 XML 형태로 ..

안드로이드 인텐트를 통해서 새로운 액티비트에 데이타 전달하기

안드로이드 인테트를 통해서 액티버티 생성하기 조대협(http://bcho.tistory.com) 요즘 일이 바쁘고 하는 역할도 바뀌어서 기술보다는 관리나 스크럼에 대한 글들을 읽고 공부하다보니, 반대적으로 기술에 대한 포스팅이 줄었다. 이래서는 안되겠다 싶어서, 어떤 부분을 봐야 할까 고민하다 보니 빅데이타와 앱 개발 기술쪽을 봐야겠다가 시작은 했는데, 막상 진도는 잘 안 나가고 있어서. 앱팀을 운영하고 있으니, 말이라도 통할려면 기본이라도 알아야 겠다 해서 안드로이드 앱쪽을 공부하고 있는데, 일단 해놓은 내용이라고 까먹지 않으려면 정리해놔야겠다는 생각에 간단하게 포스팅한다. 본 문서의 내용은 https://developer.android.com/training/index.html 를 기반으로 작성하였다..

안드로이드 기초-뷰와 뷰그룹의 개념

Android View와 ViewGroup의 개념 View와 ViewGroup 객체를 이용해서 만듬.View는 버튼이나 텍스트필드와 같은 UI Widget 이다. ViewGroup은 여러개의 View 또는 ViewGroup을 포함할 수 있는 컨테이너의 개념이며, ViewGroup을 상속하여 화면 배치 속성을 갖는 Layout을 가지고 있는 ViewGroup이 있다. ex)LinearLayout 등 출처 : https://developer.android.com/training/basics/firstapp/building-ui.html 이 ViewGroup은 res/layout/*.xml 에 XML 형태로 정의할 수 있다.다음은 LearLayout 을 선언한 예이다.View의 경우에는 보통 다음과 같은 형태..