SPECIALIZED/Android 12

12. 머터리얼 라이브러리

0. 머터리얼 라이브러리란?구글에서 지원모바일과 데스크롭, 그 밖에 다양한 장치를 아우르는 일관된 애플리케이션빌드 글레드에 포한되어 있어야 한다. 1. 확장된 프로팅 액션 버튼1. 화면에 떠 있는 듯한 버튼버튼을 클릭하면 무언가 더해진다.ExtendedFloatingActionButton클릭 리스너로 핸들러 추가 가능2. 버튼 배치 - fragment_one.xml 3. 버튼 기능 처리 - neFragment// 프레그먼트가 구성하는 화면 override fun onCreateView( (...) // 이벤트처리 binding.fab.setOnClickListener { datas.add("Item 100")..

SPECIALIZED/Android 2025.05.07

10. 액티비티 컴포넌트

0. 새로 모듈 만들기, 제공하는 액티비티 앱 1. 인텐트 이해하기1. 인텐트란?main이 아닌 다른 앱을 호출 할 수 있다.컴포넌트를 실행하려고 시스템에 전달하는 메세지개발자가 생성하는 것이 아니라 시스템에서 인텐트의 정보를 분석해서 그에 맞는 컴포넌트를 실행해 준다.startActivity(): 액티비티를 만들고, 그 얘를 불러줘 (A에서 B로 전달, B에서돌려 받는 값이 없다.)Intent 생성자의 매개변수는 클래스 타입 레퍼런스 정보 2. 인텐트 엑스트라 데이터 AvtivityResultLauncher(B에서 다시 값을 받는다.) 2. 실습화면이 두개다 == 액티비티 컴포넌트가 두개다.1. Activity 만들기 2. 연결하기 3. 데이터 연결..

SPECIALIZED/Android 2025.04.30

9. 다이얼로그 이용하기

1. 다양한 다이얼로그잔깐 보였다가 사라지는 문자열1. 토스트 메세지 띄우기 -하단 메세지makeText()매개변수로 튜스트가 화면에 출력되는 시간val LENGTH_LONG:intval LENGHT_SHORT:int 선택할 때마다 토스트 메시지 바꾸기 2. 날짜 또는 시간 입력 받기날짜: DatePickerDialog시간: TimePickerDialog 3. 알림 창 띄우기AlertDialog: 제목, 내용, 버튼 목록을 출력하는 알림창: setltems(), setMultiChoiceItems(), setSingleChoiceItems() 2.0 새로운 모듈 생성 2. 날짜 또는 시간 입력받기1. 날짜 - 사용자 입력 받고 로그창에 출력하기 binding.btnDa..

SPECIALIZED/Android 2025.04.13

8. 안드로이드 프로그래밍 사용자 이벤트 처리하기

0.모듈 새로만들기 1. 터치와 키 이벤트콜백함수: 터치 이벤트가 언제 일어날지 모르지만, 이벤트가 발생하면 콜백함수 부름1. 터치onTouchEvent()매개변수는 MotionEvent 객체이며, 이 객체에 터치의 종류와 발색 지점(좌푯값)이 담깁니다.x: 이벤트가 발생한 뷰의 X좌표y: 이벤트가 발생한 뷰의 Y좌표rawX: 화면의 XrawY: 화면의 Y종류ACTION_DOWN: 누르는 순간의 이벤트ACTION_UP: 떼는 순간의 이벤트ACTION_MOVE: 누른 채로 이동하는 순간의 이벤트 2. 키사용자가 폰의 키를 누르는 순간에 발생매개변수는 사용자가 어떤 키를 눌렀는지 식onKeyDownonKeyUponKeyLongPress종류뒤로가기: onBackPressed(), OnBackPresedCalb..

SPECIALIZED/Android 2025.04.13

7. 리소스 활용하기

1. 리소스의 종류와 특징안드로이드 앱을 만들면 res 폴더 안에 자동을 생기는 파일입니다. 모든 리소스들을 관리함 (drawable. layout, mipmap, values)파일을 직접 추가해서 리소스 추가할 수 있음.layout 디렉터리: 레이아웃 리소스drawable 디렉터리: 이미지 리소스mipmap 디렉터리: 실행 아이콘 리소스values 디렉터리: 값 리소스대문자 사용 x"@ 경로" 1. 안드로이드에서 제공하는 리소스"@android:경로" 2. 스트링 바꿔보기Libraries - values - string 2. 리소스 조건 설정 1. minmap 똑같은 이름의 이미지 파일들이 각각 저장되어 있다.기기별로 이미지 크기를 갖고 있어서 조건에 맞춘 리소스를 가져온다...

SPECIALIZED/Android 2025.04.03

6. 뷰를 배치하는 레이아웃

1. 선형으로 배치 - LinearLayoutLinearLayout: 뷰를 가로나 세로 방향으로 나열하는 레이아웃1. 배치 규격좌측 상단을 기준으로 선언한 순서대로 차곡차곡 보여주겠다.수평으로 차곡차곡: android:orientation="horizontal"수직으로 차곡차곡: android:orientation="vertical" 2. LinearLayout 중첩레이아웃 클래스도 뷰이므로 다른 레이아웃 클래스에 포함할 수 있습니다. 3. 정렬: gravity, layout_gravity 속성레이아웃에 있는 속성들을 센터 정렬gravity: 정렬대상이 콘텐츠layout_gravity: 뷰 자체를 정렬하는 속성 4. 여백을 채우는 layout_weight 속성뷰 여러개로 전체 여백 ..

SPECIALIZED/Android 2025.03.27

5. 뷰를이용한화면구성

1. 화면을 구성하는 방법 1. 액티비티 -뷰 구조화면을출력하는컴포넌트는액티비티화면에내용을표시하려면뷰클래스를이용 2. 레이아웃XML로화면구성하기 각각의 속성들로 구분한다. 버튼에 대한 element를 만들고 기능은 속성(attribute)가 만든다. View 를 LinearLayout으로 바꿈 2. 뷰 클래스1. 뷰클래스의 기본구조뷰 객체의 계층 구조View: 뷰 클래스의 최상위 클래스 ( 액티비티는 View의 서브 클래스만 화면에 출력 )ViewGroup: 다른 뷰 여러 개를 묶어서 제어할 목적으로 사용TextView: UI 출력 목적 ViewGroup클래스의하위인레이아웃클래스는 다른뷰(TextView,ImageView등)객체여러개를담아서한꺼번에제어할목적으로사용 뷰의표시여부설정 ..

SPECIALIZED/Android 2025.03.27

4. XML소개

1. XMLeXtensible Markup Language요소는 계층적 구조를 가짐 - XML DOM 트리 생성1. 요소와 트리최상위 요소는 하나만 가져야 한다.요소명은 이름 부여 규칙에 적합하다.시작 태그가 있으면 종료 태그가 있어야 한다. a>/a>=a/>: 한번에 사용도 가능 (내용이 없다.)대소문자 구분태그를 겹쳐서 쓰는 것을 허용하지 않는다. (먼저시작한 애가 제일 마지막에 끝난다: 트리 구조)요소와 텍스트 데이터를 함께 나타낼 수 있다. 2. 속성속성은 반드시 속성값을 가져야 한다. (빈문자열도 가능 alt ="")속성값은 큰 따옴표(")나 작은 따옴표(')사용속성명 부여 방법은 요소명 부여 방법과 동일대소문자 구별, 숫자로 속성명 시작 x한 요소에 같은 이름의 속성을 두 개 이상 선언 할 ..

SPECIALIZED/Android 2025.03.24

3. 안드로이드 프로그래밍 - 안드로이드앱의 기본구조 및 세팅

1. 안드로이드 소개 1. 안드로이드의 특징리눅스 기반자바, 코틀린 언어운영체제, 라이브러리, 구글 에서 만든 앱 등의 코드가 대부분 공개되어 있다.구글 + 여러 제조업체에서 만들 수 있다.구글 플레이 스토어 뿐만 아니라 다양한 방법으로 배포할 수 있다.모바일에 탐재된 앱과 개발가자 만든 앱이 똑같은 환경에서 똑같은 API를 이용합니다. 2. 안드로이드 운영체제의 구조시스템 앱에서 만들어 준것을 가져다 쓸 수 있다. (자바기반)c나 c++은 화면구성의 대부분이다.안드로이드 런파이: 모바일에서 실행하는것 -> pc보다 성능이 떨어짐 -> 컴파일한것을 그대로 실행하면 모바일이 실행이 어려움 -> 모바일에 맞게 바꿔줘야 함 이것이 ARTAndroid runtine(ART 앱 실행 역할)임.100줄을 10줄..

SPECIALIZED/Android 2025.03.19