목록Android/개념 (10)
nueijeel
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cs03Kk/btsl6NdXPQ8/xqm5rcvCI5R6VOUoakvh50/img.png)
안드로이드 애플리케이션은 컴포턴트로 구성되고 컴포넌트는 Activity, Service, Content Provider, Broadcast Receiver의 4가지 요소로 구분된다. 그 중 Activity는 화면 UI 구성하는 컴포넌트에 해당한다. Activity는 눈에 보이는 독립적인 실행 단위로 생명주기가 있어 생성되고 소멸되기까지의 과정 속에서 상태가 계속 변한다. Activity 클래스는 액티비티의 상태 변화를 알아차릴 수 있는 onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()의 6가지 콜백 함수를 제공한다. 이 콜백 함수들을 구현함으로서 사용자가 앱 이용 중 발생할 수 있는 예외적인 상황(앱 사용 도중 전화가 와서 실행 중이..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dxMrOC/btsn27bGOBd/4R7hfU96boW3CQA7XyksN1/img.png)
안드로이드에서는 xml 문서와 json 문서의 데이터를 파싱해 가져올 수 있다. 1. XML 데이터 가져오기 xml은 마크업 언어이고 문서 내용이 태그로 구성되어 있다. xml 문서를 파싱하는데는 DOM, SAX, XmlPullParser의 3가지 방법이 있다. DOM 방식은 우선 문서를 처음부터 끝까지 읽어온 후 데이터를 트리구조로 만든 다음 필요한 처리를 하기 때문에, 모든 데이터가 메모리에 존재하고 있어 사용이 용이하고 속도도 빠르다. 여기서는 간단하게 DOM 방식을 이용한 예제를 소개하려고 한다. 1) AndroidManifest.xml에 인터넷 사용 권한 추가 해당 안드로이드 앱에서 인터넷 접속을 할 수 있도록 권한을 추가해준다. 2) 접속할 주소로 변수 선언 val serverAddress =..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/6UYvD/btslZOKw0ym/jCOnhn2mJksyfPXkW6onHK/img.png)
RecyclerView : 화면에 목록을 동적으로 표출하는 컨테이너 RecyclerView는 화면에 목록을 보여주는 뷰지만, Adapter와 ViewHolder가 없이는 목록을 표출 할 수 없다. ViewHolder는 하나의 목록을 구성하는 뷰들의 객체를 보관하는 역할을 하고, Adapter는 뷰 홀더에 있는 뷰 객체에 표출할 데이터를 연결하는 역할을 한다. 목록이 표출되는 화면에서 스크롤을 하면 상단에 위치해있던 목록들은 하단에 항목들이 새로 나타남과 동시에 보이지 않게 된다. 이때 새로 표출되는 항목의 뷰를 일일이 생성하지 않고, 기존에 상단 목록을 표출할 때 사용했던 뷰 객체를 재사용하여 데이터만 새로 담아 사용할 수 있게 해주는 것이 ViewHolder이다. ViewHolder를 사용하면 뷰 객체..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bUWBb2/btslqh2eDAA/IzIkLe0w8UkFgp8GubeXek/img.png)
1. Button - 화면 구성 Button 태그로 버튼을 생성한다. id : 뷰의 id값 지정 layout_width : 뷰의 가로 길이 layout_height : 뷰의 세로 길이 text : 뷰에 표시될 문자열 지정 사진처럼 버튼을 클릭했을 때 발생하는 이벤트를 설정할 수 있는데, 이를 뷰 이벤트라고 한다. 2. 뷰 이벤트 안드로이드에서 View의 이벤트 처리는 다음과 같은 역할로 나뉜다. - 이벤트 소스 : 이벤트가 발생한 객체 - 이벤트 핸들러 : 이벤트 발생 시 실행할 로직이 구현된 객체 - 이벤트 리스너 : 이벤트 소스에 대해 특정 이벤트가 발생됐을 때 해당 이벤트를 감지하고 처리하는 인터페이스 이벤트 소스에 해당 이벤트가 발생했을 때 등록된 핸들러를 통해 이벤트가 처리된다. 위 예제에서 버..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/Ns9lV/btskK2wISHx/it1GF6ycKUk2vZikcZDvFk/img.png)
ImageView는 화면 상에 이미지를 출력하는 뷰다. ImageView 속성 ImageView에는 srcCompat 이라는 속성이 있는데, 뷰에 나타낼 이미지를 이 속성에 지정해주면 된다. 이미지 지정에는 src 속성도 있는데 두 속성의 차이점은 아래 링크를 통해 알게 됐다. https://ammff.tistory.com/100 src와 srcCompat의 차이 안드로이드 ImageView를 사용하다보면 두 개의 설정(attribute)을 볼 수 있는데 src와 srcCompat이다.보통 srcCompat에 이미지를 넣어보고 안되면 src에 이미지를 넣는데, 이 두 개의 차이가 무엇인지 살펴본 ammff.tistory.com 요약하자면 srcCompat 은 모든 버전을 지원하는 이미지 지정 속성이고, ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bg0sKF/btsj5u9WgKx/kYDpE7Gp7zlOScKtiUGqGK/img.png)
ScrollView는 레이아웃에 배치된 뷰가 화면을 벗어날 경우 스크롤을 할 수 있도록 제공되는 View이다. ScrollView와 HorizontalScrollView는 각각 수직, 수평 방향의 스크롤바가 생긴다. 레이아웃 편집기에서 ScrollView는 Common > ScrollView 또는 Containers > ScrollView로 접근해 사용 가능하고, HorizontalScrollView는 Containers > HorizontalScrollView로 접근해 사용 가능하다. 이 두 스크롤 뷰를 겹치면 상하좌우 스크롤이 가능하다. ScrollView 프로퍼티 - scrollY : ScrollView에서 현재 스크롤의 Y좌표 (좌상단 기준) - scrollX : HorizontalScrollVi..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/d9Ql1X/btsj0deNITX/TBlJl0ngB4FsztuiVH98mk/img.png)
1. TextView TextView는 문자열을 화면에 출력하는 뷰이다. 레이아웃 편집기에서는 Common > TextView 또는 Text > TextView 로 접근할 수 있다. xml 코드로 작성하려면 태그를 써준다. 이때, layout_widthㅘ layout_height 속성이 자동으로 작성된다. 코틀린 파일에서 뷰에 접근할 때 뷰 바인딩을 이용하려면 textView 뿐만 아니라 사용하는 모두 뷰의 id 속성을 반드시 지정해야 한다. TextView 속성 - text : TextView에 출력할 문자열 - textAppearance : text가 보여질 형식 - textSize : text의 크기 - textColor : text의 색상 TextView의 프로퍼티 - textView.text :..