Software/Android2015. 2. 2. 18:01

참고하고 기억해야할 계층표입니다.

저작권 때문에 PPT로 다시 만들긴 했는데, 어떨지 모르겠네요.


1.위젯




2.뷰그룹




'Software > Android' 카테고리의 다른 글

리니어 레이아웃과 배치  (0) 2015.02.04
앱의 전체적인 화면 방향의 설정과 고정  (0) 2015.02.04
setContentView()  (0) 2015.01.29
짤막한 tip. 인수 생략  (0) 2015.01.29
용어  (0) 2015.01.29
Posted by 십자성군
Software/Android2015. 1. 29. 17:50

setContentView는 MainActivity에서 제일 처음 볼 수 있다. 이 메서드를 호출하여 액티비티에 내용물을 채우게 되는데, 단독으로 뷰가 존재하기도 하지만, 차일드 뷰를 거느리는 경우가 많다. 이런 차일드로 구성된 레이아웃을 액티비티에 채우게 되는데 이를 위한 setContentView는 두 가지 호출법이 있다.


void Activity.setContentView(int layoutResID)

void Activity.setContentView(View view [, ViewGroup.LayoutParams params])


첫째 방법은 xml에 레이아웃을 만들고 이에 부여된 ID를 setContentView에 전달하여 호출한다.

둘째 방법은 뷰 객체를 동적으로 생성한 후 메서드를 통해 호출하는 방법이다.

'Software > Android' 카테고리의 다른 글

앱의 전체적인 화면 방향의 설정과 고정  (0) 2015.02.04
위젯와 뷰그룹의 계층  (0) 2015.02.02
짤막한 tip. 인수 생략  (0) 2015.01.29
용어  (0) 2015.01.29
일단 한번 돌려보기  (0) 2015.01.29
Posted by 십자성군
Software/Android2015. 1. 29. 17:45

Java는 디폴트 인수를 지원하지 않습니다. 따라서 인수의 개수에 따라서 이에 대한 메서드가 일일이 중복 정의되어 있습니다.

생략 가능한 인수는 []로 표기하기로 하기 때문에 아래와 같은 선언이 가능합니다.


void Activity.setContentView(View view [, ViewGroup.LayoutParams params])

'Software > Android' 카테고리의 다른 글

위젯와 뷰그룹의 계층  (0) 2015.02.02
setContentView()  (0) 2015.01.29
용어  (0) 2015.01.29
일단 한번 돌려보기  (0) 2015.01.29
안드로이드 새 프로젝트 만들기  (0) 2015.01.29
Posted by 십자성군
Software/Android2015. 1. 29. 15:38

개발이든 이론공부든 모두 기본적인 용어, 개념을 알아야 대화가 통합니다. 프로그래밍의 기본적인 용어를 다루지는 않지만 안드로이드 개발중에 자주 사용하게 될 용어, 개념들을 다루겠습니다.


안드로이드 응용프로그램의 4가지 주요 구성요소

Activity(액티비티)

사용자 인터페이스를 구성하는 기본단위입니다.

우리가 보는 '화면 하나'가 액티비티인데, 하나의 액티비티가 스크롤이나, 레이아웃, 뷰 등으로 구성됩니다.

우리가 만드는 응용프로그램은 하나 이상의 액티비티를 가지게 되며 이 액티비티 사이들 넘나들게 됩니다.


Service(서비스)

UI없이 백그라운드에서 무한히 실행되는 컴포넌트라고 합니다. 미디어 플레이어, 네트워크 감시 등 UI가 없지만 '사용자의 명령을 받아들일 수 있는 액티비티'와 연결해서 사용됩니다.


Content Provider(콘텐츠 제공자): CP

안드로이드의 보안에 의해, 다른 프로그램의 데이터에 함부로 엑세스 하지 못합니다. 이러한 데이터 공유를 위한 합법적인 장치가 CP입니다.(데이터베이스 등)


Broadcast Receiver(방송수신자): BR

배터리 방전, 네트워크 전송 완료 등의 신호를 받습니다. 즉, 시스템에서 전달되는 방송을 대기하고 수신합니다.

방송 수신 시 이를 해석하고 적절한 액티비티나 서비스를 띄웁니다.

-----------------






MainActivity : 메인 액티비티의 소스 파일입니다. 앱을 시동했을 때 기동하는 중심이 되는 액티비티 입니다.

R.java : 응용프로그램 내의 각종 개체에 접근하기 위한 ID를 정의합니다. 예를들어 액티비티 내의 String, 버튼 등은 각자의 ID를 가지고 있습니다. 개발자가 편집할 일은 없습니다.

Library, lib 폴더 : 안드로이드 기본 라이브러리입니다.

bin : 컴파일의 중간 결과 파일이 저장됩니다.

asset : 비디오, 오디오 등의 리소스가 들어가는 폴더입니다.

drawable : 이미지 파일이 저장됩니다. l, m, x등 해상도별로 각각 제공됩니다.

layout/activity_main.xml : 레이아웃을 정의합니다. 즉, 버튼, 배경, 글 등을 배치하여 디자인 합니다.

menu/activity_main.xml : 메뉴를 정의합니다.

values/string.xml : 앱상에서 배치되는 문자열을 정의합니다.

AndroidManifest.xml : 프로젝트의 버전, 이름, 구성 등의 정보를 지닙니다.(최소 타겟 버전 등)


<액티비티, 뷰, 레이아웃>

Activity(액티비티)

앞에서 언급했지만 다시 언급합니다.


사용자 인터페이스를 구성하는 기본단위입니다.

우리가 보는 '화면 하나'가 액티비티인데, 하나의 액티비티가 스크롤이나, 레이아웃, 뷰 등으로 구성됩니다.

우리가 만드는 응용프로그램은 하나 이상의 액티비티를 가지게 되며 이 액티비티 사이들 넘나들게 됩니다.


View(뷰)


앞서 언급했듯이 액티비티는 화면 하나를 표현합니다. 이 설명에서 약간 오해가 생길 수 있는데, 우리 눈에 보이는 것은 액티비티가 아니라 액티비티에 포함되어 있는 '뷰' 입니다. 뷰 여러 개가 모여서 하나의 액티비티를 이루며 결국 우리들이 보는것은 뷰들의 집합인 것입니다. 그리고 액티비티가 여럿 모여서 하나의 응용 프로그램이 됩니다.


대략 아래와 같은 느낌입니다.


실제로 우리 눈에 보이는것은 액티비티 안의 뷰 인겁니다.


뷰는 크게 위젯과 뷰그룹으로 분류됩니다.

위젯

: 사용자 인터페이스를 구성하는, 직접적으로 보이는 요소입니다. 버튼, 텍스트 등을 위젯이라고 부르며 사용자에게 정보를 보여주고 명령을 받을 수 있으므로 컨트롤이라고도 합니다.

뷰그룹

: 위젯과는 달리 직접적으로 보이지는 않습니다. 여러가지 연관성 있는 뷰들을 유기적으로 결합하여 서비스를 제공하는 뷰의 집합으로 이들을 레이아웃이라고 합니다.


Layout(레이아웃)

앞서 설명했듯이 ViewGroup으로부터 파생되는 클래스로, 다른 뷰를 차일드로 포함합니다.

버튼, 텍스트 등의 기본 위젯을 모아서 하나의 레이아웃을 구성할 수 있으며 레이아웃이 여러 개 모여서 하나의 액티비티 화면이 완성됩니다.

'Software > Android' 카테고리의 다른 글

setContentView()  (0) 2015.01.29
짤막한 tip. 인수 생략  (0) 2015.01.29
일단 한번 돌려보기  (0) 2015.01.29
안드로이드 새 프로젝트 만들기  (0) 2015.01.29
안드로이드 개발환경 구축  (0) 2015.01.27
Posted by 십자성군
기타/문제해결기2015. 1. 29. 14:59

안드로이드를 개발하는 중에 AVD로 구동하다가 발생할 수 있는 에러입니다.


생성해놓은 AVD의 RAM을 512로 맞춰주시면 해결됩니다.

'기타 > 문제해결기' 카테고리의 다른 글

[Android]Noclassedeffounderror  (0) 2015.02.26
Android에서 에러가 발생했을 때.  (0) 2015.02.04
RS232통신중에 문자가 깨지거나 예상과는 다른값이 나올때  (0) 2015.01.06
관리자 권한  (0) 2013.09.06
포맷  (0) 2013.09.06
Posted by 십자성군
Software/Android2015. 1. 29. 13:45

이것저것 짜기전에 일단 돌아가는지 확인해 봅시다!


앱의 동작을 확인하려면 debugging을 하거나 run해야 합니다.

이를 AVD(Android Virtual Device)로 구동해 볼 수 있고, 실제 스마트폰으로 구동해 볼 수 있습니다.


우선 AVD를 설정해 봅시다.

ADT를 eclipse에 설치했다면 eclipse의 window 메뉴에 활성화 SDK업데이트나 AVD가 있겠지만 필자의 경우는 그렇지 않았기에

C:\Program Files\Android\android-sdk

에서 AVD Manager를 실행시켰습니다.


AVD Manager에서 가상머신을 추가한 예가 아래의 사진입니다.




그럼 우리가 만든 기본 프로젝트를 실행시켜 봅시다.

Run의 Run configuration 에서

Android Application을 더블클릭 하면 새로운 Run 환경이 생성됩니다. 대상 프로젝트를 선택할 수 있으며 Target메뉴에서 항상 실제 디바이스에서 실행할 것인지, 가상머신을 사용할 것인지 등을 선택할 수 있습니다.




위 사진에서와 같이 Device, VD를 선택할 수 있습니다. 다만, Device에서 실행하려면 개발자모드를 활성화 시켜놓고, 이를 위한 드라이버를 설치해야 합니다.




제대로 동작함을 확인할 수 있습니다.


'Software > Android' 카테고리의 다른 글

setContentView()  (0) 2015.01.29
짤막한 tip. 인수 생략  (0) 2015.01.29
용어  (0) 2015.01.29
안드로이드 새 프로젝트 만들기  (0) 2015.01.29
안드로이드 개발환경 구축  (0) 2015.01.27
Posted by 십자성군
Software/Android2015. 1. 29. 11:26

참조 : http://blog.naver.com/vitaminsense/220184872899


최신 SDK로 업데이트 했을 경우 새 프로젝트를 만들면 appcompat_7에 에러가 발생합니다.




위와 같이 되도록 최신 버전으로 프로젝트를 생성하고, 매니페스트에서 minSdkVersion을 수정해 줍시다.

그런데 최신버전으로 하면 appcompat이 생성안되기도 합니다.



'Software > Android' 카테고리의 다른 글

setContentView()  (0) 2015.01.29
짤막한 tip. 인수 생략  (0) 2015.01.29
용어  (0) 2015.01.29
일단 한번 돌려보기  (0) 2015.01.29
안드로이드 개발환경 구축  (0) 2015.01.27
Posted by 십자성군
Software/StarUML2015. 1. 28. 11:55

실험실에서 제작하는 모든 프로젝트에 공통적으로 적용하기 위한 App을 만들게 되어 이를 위한 설계과정에서 UML을 다루고자 합니다.


본인의 Programming 실력이 뛰어나지 않기에, 수준이 낮을 수 있지만 StarUML이라는 소프트웨어를 사용하기 위한 글이라는 점에 이해바랍니다.


StarUML은 아래 사이트에서 받을 수 있습니다.

http://staruml.io/


아래 사이트에서 구버전 사용자 가이드를 확인할 수 있습니다. 한글이기 때문에 읽기 편합니다.

http://staruml.sourceforge.net/


실질적인 사용은 제가 만들어야 하는 App을 기준으로 진행하겠습니다.

Posted by 십자성군
Mechatronics/동역학2015. 1. 27. 16:11

-게시예정

'Mechatronics > 동역학' 카테고리의 다른 글

모터에 의한 부하질량관성모멘트  (0) 2015.04.17
Posted by 십자성군
생활/일기2015. 1. 27. 14:07

오늘의 키워드


-카네기멜론

-CMU


-하지말것 : 유공압 제어, singularity


-석사의 중요한것

:무엇을 해보았나

:만들기 < 논문(만들어 놓고 발표 내용이 없으면 곤란)

-시작전에 계획부터

:나는 어디로 진출할 것인가

:이를 위해서는 무엇을 할 줄 알아야 하는가

:어떤 논문을 어떤 내용으로 제출할 것인가?

'생활 > 일기' 카테고리의 다른 글

일본어 공부법, JLPT N1(2012, 2017) 성적인증  (1) 2017.08.23
Posted by 십자성군