본문 바로가기

프로그래밍/안드로이드

(38)
[안드로이드] 그리기 객체 ※ 저는 안드로이드 프로그래밍 정복(김상형 著, 한빛미디어) 책을 이용해 공부하고 있으며예제와 코드는 이 책을 통해 공부중임을 밝힙니다.개인적인 공부를 하면서 정리한 형식이기 때문에 심각한 오류가 있을 수 있습니다. 피드백 주시면 정말 감사하겠습니다. ※ 안드로이드 프로그래밍 정복(255p~270p) 참조 1. 그리기 객체 1.1 Bitmap Resources 객체를 얻기 위한 메서드 Resources ContextWrapper.getResources()Resources View.getResources() 객체를 얻은 후 리소스의 드로블(Drawable)을 읽는다. Drawable Resources.getDrawable (int id) 인수로 리소스의 ID를 전달하면 해당 리소스를 리턴한다.비트맵을 읽는..
[안드로이드] 캔버스(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의 서브 클래스로부터 다른 뷰를 차일드로 포함하여 차일드를 정렬하는 기능이 있다. 위 코드를 ..