안드로이드 프로그래밍[Kotiln Code]/안드로이드 초기 강좌 21

[안드로이드] 스피너3 (콤보박스) with Mutable list

안녕하세요. 훈츠 입니다. 안드로이드 스피너(콤보박스) 에 MutableList 를 적용하는 방법에 대해 포스팅합니다. 스피너 (spinner) : SpinnerAdpter = ArrayAdater : AdapterView 스피너 2편에 이어, dataArray 가 아닌 MutableList 를 적용 하는 방법입니다. 동적으로 리스트를 변경할때 사용하시면 됩니다. 1편과 2편을 참조 하시면 어떻게 구성하는지 알테니 코드만 공유 하도록 하겠습니다. 코드 실행 화면 https://youtu.be/vrxRQSZpCM8

[안드로이드] 스피너2 (콤보박스) with 모델클래스

안녕하세요. 훈츠 입니다. 안드로이드 스피너(콤보박스) 에 모델 클래스를 적용하는 방법에 대해 포스팅합니다. 스피너 (spinner) : SpinnerAdpter = ArrayAdater : AdapterView 스피너 1편에 이어, dataArray 가 아닌 ModelClass 를 적용 하는 방법입니다. ModelClass 만드는 방법과 적용시 유의 사항에 대해 말씀 드리겠습니다. 순 서 ModelClass.kt 만들기 Model Class 에 toString 함수를 override 하여 Spinner에서 최초로 선택하고 보여줄 값을 설정 합니다. dataArray type 으로 제너릭 선언 후, dataArray 를 arrayAdapter에 할당합니다. arrayAdapter 를 제너릭 선언 합니다...

[안드로이드] 스피너 (콤보박스)

안녕하세요. 훈츠 입니다. 안드로이드 스피너(콤보박스) 조작하는 기본적인 방법에 대해 포스팅 합니다. 스피너 (spinner) : SpinnerAdpter = ArrayAdater : AdapterView 스피너는 배열이나 리스트 또는 데이터베이스 등에서 가져온 데이터 목록을 화면에 보여주고 사용자의 선택을 받는 UI 입니다. 목록을 표시 하기 위해서는 데이터를 직접 Spinner 에 할당 하지 않고 데이터를 관리하는 SpinnerAdpter 에 Adapter 를 할당 해야 합니다. Spinner Adpter 는 데이터의 전체 목록 중에서, 화면에 표시할 목록의 View를 Spinner에 제공해주는 역활을 합니다. 전체 데이터를 모두 Spinner에 직접 할당할 경우 메모리 사용량과 속도에 문제가 생기기..

[안드로이드] Radio 버튼 & Check 박스

안녕하세요. 훈츠 입니다. 안드로이드 Radio 버튼 과 Check 박스버튼을 조작하는 기본적인 방법에 대해 포스팅 합니다. 라디오 버튼 (Radio button) : RadioGroup. 그림과 같이 라디오 그룹안에 라디오 버튼을 넣는 방식으로 구성 가능합니다. 라디오 버튼 뿐만 아니라, 안드로이드에서 제공 해주는 View를 사용 할때 어떤 리스너를 상속받아야 하는지 아는것도 중요합니다. 라디오 그룹 아이디 할당 라디오 버튼 아이디 각각 할당 익명객체에 RadioGroup 상속 // 아래와 같이 옵저버 패턴에 익명 함수를 통해서 익명 클래스를 구현하여 사용 할수있습니다. colorOptionGroup.setOnCheckedChangeListener(object : RadioGroup.OnCheckedC..

[안드로이드] Image View 이미지 뷰

안녕하세요. 훈츠 입니다. 안드로이드 이미지 View를 조작하는 기본적인 방법에 대해 포스팅 합니다. 이미지 뷰 (Image View) Image View에는 'Drawable' 이라는 리소스를 표시 할수 있습니다. 안드로이드에서는 화면에 그릴수 있는 모든 종류의 그래픽 리소스를 통칭하여 드로어블 (Drawable) 이라고 부릅니다. 이미지 파일 포맷 (BitMap Drawable) Image View 속성 ▶ ImageView.setImageResource(Drawable 의 ID) 이미지 뷰의 소스를 지정 합니다. ▶ scaleType 이미지뷰의 영역내에서 이미지를 스케일하는 방식을 지정 (8 가지 방식) *원본이미지(소스), 배경이미지(이미지뷰) center : 소스 크기를 중심으로 배치하고, 이미..

[안드로이드] View 조작하기

안녕하세요. 훈츠 입니다. 안드로이드 View를 조작하는 기본적인 방법에 대해 포스팅 합니다. 안드로이드 Extension 패키지 Java 에서 findviewId 를 통해 view 를 찾았던것을, extension 패키지로 인해서 하지 않아도 됩니다. 자동 완성 기능 자동 픽스 기능 옵저버 패턴 & 익명 함수 https://rain2002kr.tistory.com/80?category=361958 [Kotlin] 코틀린 옵저버 패턴 리스너 안녕하세요. 훈츠 입니다. 오늘은 코틀린에서 광범위하게 사용되는 옵저버 패턴을 구현 하는 방법에 대해 설명 드리겠습니다. 옵저버 패턴을 구현하는 방법은 두가지 입니다. 한가지는 인터페이스를 상속하는 방법.. rain2002kr.tistory.com 글을 한번 읽어 보..

[안드로이드] 레이아웃

안녕하세요. 훈츠 입니다. 안드로이드 레이아웃에 대해 포스팅 합니다. DP 와 SP 개념 DP density-independent pixels density : 같은 면적에 포함되어 있는 물리적인 픽셀의 밀도 independent pixels : 독립적인 크기를 가진 픽셀 단위 디스플레이 해상도 '160dpi*' 를 기준으로 디스플레이 해상도가 높아질수록 알아서 UI를 스케일링 해줍니다. SP scale-independent pixels SP 는 DP와 개념이 같지만 글꼴에 적용하기 위해 만들어진 단위 SP 를 사용한 글꼴은 안드로이드 OS의 설정에서 영향을 받습니다. 텍스트에는 SP 사용 추천합니다. ConstraintLayout 제약 조건 View 의 표시 영역 ※ 제약조건 사용시 tip 은 기본적으..

[안드로이드] 뷰 View

안녕하세요. 금일은 뷰 내용에 대해 포스팅 합니다. View 뷰 실제 화면에 보이는 View View 의 종류 ImageView (파생) ImageButton TextView(파생) EditText : 편집 가능한 텍스트 박스 Button(파생) : 텍스트가 표시되는 버튼 RadioButton : 그룹 중 하나만 선택하는 버튼 CheckBox : 그룹에서 여러개를 선택하는 버튼 Switch : 스위치 모양으로 on/ off 를 하는 버튼 ViewGroup(파생) : View 들을 묶어 표시하는 View 레이아웃 계열 LinearLayout : 가로 또는 세로로 순서대로 View 들을 나열 ConstraintLayout : 여러가지 방법으로 View를 자유롭게 나열 리스트 계열 RecyclerLayout ..

[안드로이드] 액티비티 Activity

안녕하세요. 금일은 액티비티에 대한 내용에 대해 포스팅 합니다. Activity 액티비티 안드로이드 시스템에 의해 관리 되어지며, 사용자가 호출을 요청할수 있습니다. 시스템에 의해 관리 되어지는 액티비티는 생명주기가 있습니다. 물론 이 생명 주기로인해 데이터를 보존 하기 위해 지금도 배우기 위해 애쓰고 있는 LiveData 나 ViewModel 같은 것이 있습니다. onCreate() : activity 생성시 단 한번만 호출 되므로 공통적으로 사용되는 변수의 초기화, UI 의 초기값 설정 onStart() : activity 가 가려졌다 돌아올때, 혹은 완전히 전환되는 경우에 onStart와 onResume 차례로 동작 onResume() : 다른화면에서 입력받은 내용을 통해 바뀔 수있는 데이터를 초기..

[안드로이드] 안드로이드 시스템 Gradle

안녕하세요. 금일은 안드로이드 스튜디오 툴에 대한 내용에 대해 포스팅 합니다. 그레들 : Gradle 프로젝트에 포함된 파일과 그에 연관된 모듈들을 링크하여 앱을 컴파일하는 빌드 시스템입니다. 프로젝트에 포함되는 모듈이 추가되거나 변경될 때마다 Gradle에 의한 sync 과정이 발생합니다.