본문 바로가기

모바일프로그래밍8

[모바일 프로그래밍] 9. Event Event Android에는 사용자와 애플리케이션의 상호작용에서 이벤트를 가로채는 방법이 여러 가지 있다. Input Events 특정 View 인스턴스에서 이벤트를 캡처 사용자의 이벤트를 가로채는 방법 이벤트 리스너 단일 콜백 메소드를 포함하는 인터페이스 item과 사용자 상호작용에 의해 트리거 예: onClickListener(), onLongClickListener(), onFocusChangeListener(), onKeyListener(), onTouchListener(), nonCreateContextMenuListener() 이벤트 핸들러 이벤트를 처리하는 단일 콜백 메서드 예: onClick(), onLongClick(), onFocusChange(), onKey(), onTouch(), .. 2023. 11. 9.
[모바일 프로그래밍] 8. Drawable Drawable public abstract class Drawable extends Object "그릴 수 있는 것"에 대한 일반 추상화 다양한 형태를 취할 수 있는 기본 시각적 리소스를 처리하기 위한 일반 API를 제공 예: 비트맵, 나인 패치, 레이어 등. BitmapDrawable 비트맵 그래픽 파일(PNG, WEBP, JPG, GIF) NinePatchDrawable 콘텐츠에 따라 이미지 크기를 확장 가능한 영역 존재, PNG 파일(.9.png) LayerDrawable 배열 순서로 그려진 다른 드로어블 배열을 관리하는 드로어블 StateListDrawable 다양한 상태(예: 버튼 탭)에 대해 다양한 비트맵 그래픽 참조, XML 파일 LevelListDrawable 최대 숫자 값을 갖는 대체 .. 2023. 11. 9.
[모바일 프로그래밍] 6. Layout Layout 어떻게 배치할 것인가 activity 같은 앱의 유저 인터페이스 구조를 정의 레이아웃의 모든 요소는 View 및 ViewGroup 개체의 계층 구조를 사용하여 구축된다. Layout 5가지 Constraint(제약 레이아웃) 제약조건 설정, 설정 안하면 디폴트 값 Linear(리니어 레이아웃) 방향을 지정하고 차례대로 뷰를 추가 Relative(상대 레이아웃) 규칙을 지정하여 다른 뷰 대비 상대적인 위치 Frame(프레임 레이아웃) 하나에 여러 뷰를 놓고 우선순위를 지정하여 중첩된 뷰를 전환하며 보여줌 Table(테이블 레이아웃) 격자 형태 Constraint Layout(제약 레이아웃) 크기나 위치에 제약을 설정 최소한 하나 이상의 제약조건을 걸어둔다. 부모 레이아웃에 제약, 주변의 다른 .. 2023. 11. 8.
[모바일 프로그래밍] 5. View View 유저 인터페이스를 구성하는 구성요소 버튼, 텍스트, 위젯 등... public class View extends Object implments Drawable.Callback, KeyEvent.Callback, AccessibilityEventSource View Group : 여러 뷰들로 구성되어 있는 컨테이너 Layout : 뷰를 정렬하는 뷰 그룹 뷰를 어떻게 분배시킬 것인지, 뷰를 상속받아서 구성된다. Widget : 제어 역할을 하는 뷰 뷰를 기능적인 부분으로 바라봄 View Group 여러 뷰(자식)를 가지고있는 특별한 뷰 뷰를 상속받아서 구현된다. java.lang.Object > android.view.View > android.view.ViewGroup 뷰를 묶어서 뷰 그룹이라고 .. 2023. 11. 8.
[모바일 프로그래밍] 4. 버튼 기능 이전 포스터에서 안드로이드 스튜디오와 애뮬레이터 설치 및 실행을 완료했다. 이어서 누르면 동작하는 버튼 기능을 추가해보자 (1) activity_main.xml의 Design 화면에서 Button을 화면으로 드래그 혹은 클릭된 상태로 Enter를 누른다. (2) Split 혹은 Code 화면으로 전환하여 Button의 text를 수정한다. android:text="Go to NAVER" (3) MainActivity.java에 버튼 액션을 추가한다. 버튼을 클릭하면 네이버로 이동한다. // 버튼 위젯 import 추가 import android.widget.Button; ... // id로 버튼 지정 Button urlButton = findViewById(R.id.button); // 버튼 액션 추가 .. 2023. 11. 8.