안드로이드/깡샘의 안드로이드 앱 프로그래밍

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부32

리사이클러 뷰- 목록화면 구성 리사이클러 뷰 – 목록 화면 구성 리사이클러 뷰 기초 사용법 리사이클 뷰는 여러 가지 항목을 나열하는 목록 화면을 만들 때 사용합니다. 리사이클 뷰는 RecyclerView클래스를 이용하지만 이것만으로는 화면에 아무것도 출력되지 않습니다. 다음과 같은 구성요소를 이용해야 합니다. 구성요소 설명 ViewHolder(필수) 항목에 필요한 뷰 객체를 가집니다. Adapter(필수) 항목을 구성합니다. LayoutManager(필수) 항목을 배치합니다. ItemDecoration(옵션) 항목을 꾸밉니다 참고 https://developer.android.com/guide/topics/ui/layout/recyclerview?hl=ko RecyclerView로 동적 목록 만들기 | ..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부31

프래그먼트 – 액티비티처럼 동작하는 뷰 프래그먼트 소개 프래그먼트는 액티비티 화면을 구성하는 뷰인데, 그 자체만으로는 화면에 아무것도 출력되지 않습니다. 프래그먼트가 다른 뷰와 다른 점은 액티비티처럼 동작한다는 것입니다. 즉, 액티비티에 구현되는 모든 내용은 프래그먼트 클래스에도 작성할 수 있습니다. 탭을 예로 들면 한 개의 액티비티에서 탭의 여러 항목별로 각각의 화면을 프래그먼트로 구현할 수 있다는 말입니다. 참고 https://developer.android.com/guide/fragments?hl=ko 프래그먼트 | Android 개발자 | Android Developers 프래그먼트 Fragment는 앱 UI의 재사용 가능한 부분을 나타냅니다. 프래그먼트는 자체 레이아웃을 정의 및 관리하고 자체 ..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부30

액션 뷰 이용 액션 뷰는 액션바에서 특별한 기능을 제공하며 대표적으로 androidx.appcompat.widget.SearchView가 있습니다. 서치 뷰는 액션바에서 검색 기능을 제공합니다. 액션 뷰를 메뉴에 적용할 때는 actionViewClass 속성을 이용합니다. 이 속성에 이용할 액션 뷰 클래스를 등록하면 됩니다. 이렇게 등록하는 것만으로도 액션바에 검색 버튼이 생기고 버튼을 클릭하면 검색어를 입력받는 뷰가 나옵니다. 코드에서 검색과 관련된 기능을 구현하려면 SearchView 객체를 얻어야 합니다. 서치 뷰가 메 뉴로 제공되므로 SearchView를 등록한 MenuItem 객체를 얻고 MenuItem 객체에 등록된 SearchView 객체를 구하면 됩니다. override fun onCrea..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부29

메뉴 구성 메뉴는 액션바의 중요한 구성 요소로 액티비티 화면에서 사용자 이벤트를 사용할 수 있도록 합니다. 액티비티에 메뉴를 추가하면 액션바 오른쪽에 오버플로 버튼이 나타나고 이 버튼을 누르면 메뉴가 아래로 확장되어 나타납니다. 그리고 오버플로 메뉴 중에 몇몇은 액션바에 아이콘으로 나오게 할 수 있습니다. 이를 액션 아이템(혹은 액션 버튼)이라고 합니다. 결국 오버플로 메뉴와 액션 아이템 모두 메뉴입니다. 액티비티에 메뉴를 추가하고 싶다면 onCreateOptionsMenu()와 onPrepareOptionsMenu() 함수를 이용할 수 있습니다. 함수 설명 onCreateOptionsMenu() 액티비티가 실행되면서 처음에 한 번만 호출(정적) onPrepareOptionsMenu() 액티비티가 실행되..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부28

appcompat 라이브러리 androidx 라이브러리에서 가장 많이 사용하는 appcompat 라이브러리는 안드로이드 앱의 화면을 구성하는 액티비티를 만들며 API 레벨의 호환성 문제를 해결해 줍니다. appcompat 라이브러리를 사용하려면 그래들 파일의 dependencies 항목(의존성 설정)에 다음처럼 선언해 야 합니다. 그런데 이 선언은 안드로이드 스튜디오에서 모듈을 만들 때 자동으로 추가됩니다. implementation 'androidx.appcompat:appcompat:1.3.1' appcompat 라이브러리를 이용해서 액티비티를 만들 때는 플랫폼 API의 Activity가 아니 라 다음처럼 appcompat의 AppCompatActivity 클래스를 상속받아 작성합니다. import ..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부27

제트팩과 androidx 구글에서는 안드로이드 앱을 개발하는 데 필요한 다양한 라이브러리 모음을 제트팩이라는 이름으로 제공합니다. 제트팩은 안드로이드 플랫폼이 기본으로 제공하는 플랫폼 API 외에 따로 추가된 라이브러리입니다. 플랫폼 API 플랫폼 API는 ART(Android Run Time)에서 제공하는 안드로이드 앱의 핵심 라이브러리입니다. ART는 대부분 android나 java로 시작하는 패키지명을 사용합니다. java.lang.String, java.util.Date 등의 자바 클 래스부터 android.app.Activity, android.widget.TextView 등의 안드로이드 클래스는 모두 플랫폼 API입니다. 안드로이드 앱은 런타임 때 ART에 의해 실행되므로 ART에서 제공하는 ..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부26

알림 띄우기 알림 띄우기 프로그레스 프로그레스 앱에서 어떤 작업이 이루어지는 데 시간이 걸린다면 보통 알림을 이용해 일의 진행 상황을 프로그레스에 바로 알려 줍니다. 대표적인 예가 앱에서 서버로 파일을 올리거나 내려받는 경우입니다. 알림의 프로그레스 바는 화면을 따로 준비하지 않고 빌더에 setProgress() 함수만 추가해 주 면 자동으로 나옵니다. open fun setProgress(max: Int, progress: Int, indeterminate: Boolean): Notification.Builder // max: 프로그레스 바의 최댓값 // progress: 진행값 // indeterminatedml 값이 true이 면 프로그레스 바는 왼쪽에서 오른쪽으로 계속 흘러가듯이 표현 현잿값을 지..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부25

알림 띄우기 알림 구성 액션 알림에는 터치 이벤트 외에도 액션을 최대 3개까지 추가할 수 있습니다. 알림에서 간단한 이벤트는 액션으로 처리합니다. 알람 앱의 알람 취소, 전화 앱의 전화 수신이나 거부 등이 대표적인 예입니다. 액션도 사용자 이벤트 처리가 목적입니다. 따라서 알림 터치 이벤트와 마찬가지로 사용자가 액션을 터치할 때 실행할 인텐트 정보를 PendingIntent로 구성해서 등록해야 합니다. 실제 사용자가 액션을 터치하면 등록된 인텐트가 시스템에서 실행되어 이벤트가 처리되는 구조 입 니다. 액션을 등록할 때는 addAction() 함수를 이용합니다. 액션 등록 함수 open fun addAction(action: Notification.Action!): Notification.Builder 매..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부24

알림 띄우기 알림 객체 알림 객체 알림 빌더를 만들었으면 이 빌더를 이용해 Notification 객체를 만들어야 합니다. 이 객체에 출력할 이미지, 문자열 등의 정보를 담습니다. 앱에서 알림이 발생하면 상태 바에 이미지가 출력됩니다. 이를 스몰 아이콘이라 부릅니다. 상태 바의 알림 이미지 그리고 상태 바를 끌어내린다면 알림 정보를 확인할 수 있습니다. 알림은 스몰 아이콘과 발생 시각, 제목 내용 등으로 구성되며, 이러한 알림 정보를 Noti fication 객체에 설정해야 합니다. 빌더의 세터 함수를 이용해 알림의 구성 정보를 설정 builder.setSmallIcon(android.R.drawable.ic_notification_overlay) builder.setWhen(System.currentT..

안드로이드/깡샘의 안드로이드 앱 프로그래밍

코틀린 공부23

알림 띄우기 알림 채널 상태바는 화면 상단의 한 줄을 의미 하며 이곳에 배터리, 네트워크, 시간 등 시스템의 상태 정보가 출력됩니다. 상태 바에 앱의 정보를 출력하는 것을 알림 notification이라고 합니다. 상태바는 시스템에서 관리하는 곳이며 앱이 직접 제어할 수 없습니다. 그렇지만 앱에서 시스템에 의뢰히면 시스템에서 관리하는 상태 바에 앱의 알림을 출력할 수 있습니다. 그렇기 때문에 지금까지 배워 왔던 화면을 구성하거나 사용자 이벤트를 처리하는 프로그래밍과는 구조가 다르며 알림을 위해 제공하는 API를 이용해야 합니다. NotificationChannel로 알림 채널을 만들고 이 채널 정보를 대입해 Notification Compat.Builder를 만든 다음, 이 빌더로 Notification..

감자씨앗
'안드로이드/깡샘의 안드로이드 앱 프로그래밍' 카테고리의 글 목록 (2 Page)