본문 바로가기

전체 글

(142)
[안드로이드] 캔버스(Canvas) ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(239p~255p) 참조 1. 커스텀 뷰 게임 캐릭터를 커스터마이징 한다고 하면 자기 입맛대로 캐릭터를 만드는 것을 뜻한다. 커스텀 뷰(Custom View)는 말 그대로 뷰(View)를 상속(extends)받아 사용자 입맛에 맞게 만드는 것이다. 캔버스에 직접 출력하려면 View를 상속 받아 커스텀 뷰를 정의해야 한다.맨 위를 살펴보면 MyView 객체를 생성하고 있다. 이 뷰를 setContentView로 전달하여서액티비티..
[안드로이드] 그리드 레이아웃(Grid Layout) ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(220p~238p) 참조 오늘 우리가 공부할 파트이다. Grid : 격자무늬란 뜻으로, Grid Layout이라 함은 격자 모양의 표에 차일드를 배치한다. 셀의 위치와 크기를 다양하게 변형할 수 있고, 셀끼리 병합도 가능해 응용 가능성이 많다. 프로그래밍 공부를 하면서 느끼지만 항상 영어 단어와 친숙해져야 한다는 생각을 한다. 테이블 레이아웃(Table Layout)과 비슷하지만, 차일드를 순서대로 배치한다는 점에서 Linea..
[안드로이드] 레이아웃 파라미터(Layout Parameter) ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(207p~216p) 참조 일반속성은 text, gravity, src 등 뷰 자체의 성질을 지정함. 즉, 텍스트, 이미지, 여백, 텍스트 색상, 텍스트 크기 등 외부와는 상관없는 뷰 "혼자만의 속성"을 의미한다. 반면에, 레이아웃 파라미터(Layout Parameter)는 뷰가 배치되는 부모, 즉 레이아웃에 소속되는 속성이며 부모에게 차일드 뷰를 배치할 방법을 지시한다. 1. 소속2. 적용시점3. 변경방법 일반 속성(text,..
[안드로이드] 레이아웃 전개(Layout Inflation) ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(196p~207p) 참조지금 공부한지 약 5일정도 되가는데 자바를 하다가 너무 재미없어서 "안드로이드를 통해서 만들어보면서 하자!"라는 생각에 뛰어들었다. 자바 진도는 객체지향 하다가 때려쳤는데 여기까지 배운 내용만으로도 진도 나가는데 아직까지 큰 무리는 없다. 오히려 재밌다. 1. 전개(Inflation) : XML 문서에 정의된 레이아웃과 차일드 뷰의 속성을 읽어 실제 뷰 객체를 생성하는 것. 2. 전개 메서드 : setC..
[안드로이드 실행오류] cannot find symbol class "~~~" .java 파일에 새로운 메서드를 정의했으나 빌드시 cannot find symbol class Button(EditText) 가 발생한 상황 이래저래 찾아보니 https://teamtreehouse.com/community/i-am-getting-errors-when-i-run-the-program 여기서 힌트를 얻음 버튼, 텍스트뷰, 뷰 클래스들이 적절하게 imported 되지 않았다는 것인데 그냥 import 선언문만 설정해주면 되는 것 같다. 이렇게 두 개를 선언해주니 깔끔하게 해결 됨. 더 쉬운 방법은, 저렇게 빨간색 텍스트를 누른 뒤, 파란색 창이 뜨고나서 Alt+Enter을 누르면 자동으로 Import 선언문이 생긴다. 그러면 이렇게 일일이 import 해줘야 할까? 자동으로 import 하..
[안드로이드] 레이아웃 관리(실행중에 속성 바꾸기) ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(191p~196p) 참조 위젯을 실행중에(동적일 떄) 사용자의 입력이나 출력할 정보의 양에 따라 필요한 위젯의 종류가 개수가 달라지는 경우 실행중에 속성을 바꿔줘야 할 필요가 있다. 속성값을 변경 : 속성 이름 앞에 set을 붙이고, 속성의 첫자를 대문자로 시작하는 것이 관례 속성값을 읽기 : 속성 이름 앞에 get을 붙이고, 속성의 첫자를 대문자로 시작하는 것이 관례 EX) void TextView.setGravity (in..
[안드로이드] 레이아웃 중첩 ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(181~187p) 참조 ※ 개략적으로 살펴보면 클래스의 계층 구조는 다음과 같다 Ojbect ↓View : TextView, ImageView 등 ↓ViewGroup : FrameLayout, RelativeLaout, LinearLayout, AbsouluteLayout 즉, ViewGroup은 View로부터 파생된 ViewGroup의 서브 클래스로부터 다른 뷰를 차일드로 포함하여 차일드를 정렬하는 기능이 있다. 위 코드를 ..
[안드로이드] 기타 레이아웃(Absolute, Frame, Table) ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(173p~180p) 참조 Absoulte Layout(173p~175p) 1. RelativeLayout과 반대 속성을 가지는 레이아웃 2. 굉장히 직관적이고 자유도가 높음 3. But, 화면이나 방향이 수시로 바뀌는 경우 유연하지 못하고 관리가 어렵다. 4. 공식문서에서는 제공되지 않는 레이아웃(그림을 보면 밑줄이 그어져 있는 것을 볼 수 있다.) 5. 절대좌표가 꼭 필요하다면 "마진"을 사용한다. layout_x, layo..