안드로이드

안드로이드/안드로이드

[안드로이드] context는 무었인가

Context => 애플리케이션(객체)의 현재 상태의 맥락(context) https://developer.android.com/reference/android/content/Context Context | Android Developers android.net.wifi.hotspot2.omadm developer.android.com 응용 프로그램 환경에 대한 전역 정보(global information)를 지니고 있는 인터페이스입니다 => 액티비티와 애플리케이션에 대한 정보를 얻기 위해서사용가능합니다 액티비티 객체는 컨텍스트 객체를 상속받습니다 => 액티비티는 애플리케이션의 context를 통하여 특정 리소스와 클래스, 그리고 애플리케이션 환경에 대한 정보에 대해 접근할 수 있게 해줍니다. 안드로이드..

안드로이드/안드로이드

[안드로이드]Toast 메시지

토스트(toast)는 화면 아래쪽에 잠깐 보였다가 사라지는 문자열 다이얼로그를 말합니다. Added in API level 1이기 때문에 따로 호완성을 걱정할 필요는 없습니다만 토스트의 몇몇 함수 들은 Deprecated in API level 30 되었기 때문에 사용 시 주의가 필요합니다. 평상시 토스트는 다른 언어의 alert나 Log, print함수같이 변수나 상황 등을 출력하고 싶을 때 안드로이드 환경에서 사용할 수 있습니다. 토스트는 android.widget.Toast안에있어 사용 시 임포트 해줘야 합니다. 토스트는 Toast의 함수인 makeText() 함수로 만듭니다. 자바(Java) ver // 토스트 메시지 표시 Context context = getApplicationContext()..

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

코틀린 공부42

인텐트 엑스트라 데이터 인텐트에 컴포넌트 실행을 요청할 때 데이터를 함께 전달하려면 엑스트라 데이터를 이용 해야 합니다. 엑스트라 데이터는 인텐트에 담는 부가 정보라 할 수 있습니다. 인텐트에 엑스트라 데이터를 추가하는 함수는 putExtra()입니다. public intent : Intent putExtra(String name,CharSequence value) putExtra 함수의 첫 번째 매개변수는 데이터의 식별자이며 두 번째 매개변수가 전달할 데이터입니다. putExtra() 함수는 각 타입의 데이터를 담을 수 있도록 오버 로딩으로 선언되어 있습니다. 엑스트라 데이터 추가 val intent : Intent = Intent(this,DetailActivity::class.Java) intent..

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

코틀린 공부41

인텐트 이해하기 인텐트란? 안드로이드 앱은 모두 4개의 컴포넌트로 개발하는데 이때 핵심 클래스가 바로 Intent입니다. 인텐트는 한마디로 ‘컴포넌트를 실행하려고 시스템에 전달하는 메시지’라고 정의할 수 있습니다. 즉, 기능을 수행하는 함수를 제공하는 클래스가 아니라 데이터를 담는 클래스입니다. 이 데이터는 컴포넌트를 실행하는 정보이며 이 정보가 담긴 인텐트 객체를 시스템에 전달하면 컴포넌트가 실행됩니다. 전환되는 액티비티가 안드로이드의 컴포넌트 클래스라면 개발자가 코드에서 직접 생성해서 실행할 수 없습니다. 컴포넌트 클래스는 시스템이 생성해서 실행하는 클래스이므로 개발자가 작성하는 코드로 생명주기를 관리할 수 없습니다. 결국 전환 시키려면 시스템에서 인텐트의 정보를 분석해서 그에 맞는 컴포넌트를 실행해..

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

코틀린 공부40

확장된 플로팅 액션 버튼 확장된 플로팅 액션 버튼은 화면에 떠있는 듯한 버튼을 제공하는 뷰입니다. 머터리얼 라이브러리가 처음 나왔을 때는 플로팅 액션 버튼을 제공했지만, 지금은 버튼에 문자열까지 출력할 수 있는 확장된 플로팅 액션 버튼도 제공 합니다. 확장된 플로팅 액션 버튼 확장된 플로팅 액션 버튼의 icon 속성으로 이미지를 지정하면 이 이미지를 포함해 화면에 떠 있는 듯한 버튼이 출력됩니다. 그리고 text 속성으로 문자열을 지정하면 이미지와 함께 출력됩니다. 만약 text속성을 지정하지 않고 icon 속성만 지정하면 둥근 모양으로 나옵니다. 그리고 코드에서 문자열까지 나오게 확장하거나 아이콘만 나오게 축소하는 등 버튼의 출력 형태를 조절할 수 있습니다. 확장된 플로팅 액션 버튼 조절 binding..

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

코틀린 공부39

내비게이션 뷰 – 드로어 화면 구성 내비게이션 뷰는 드로어 레이아웃으로 열린화면애 출력되는 내용을 구성할 때 사용 하는데, 보통은 메뉴 항목을 나열하는 형태로 구성합니다. 내비게이션 뷰 등록 (... 생략 ...) 메뉴를 구성한 XML 파일을 menu 속성에 지정만 해도 실행 결과처럼 항목이 자동으로 출력됩니다. 항목 선택 이벤트는 DrawerLayout의 setNavigationItemSelectedListener() 함수로 이벤트 핸들러를 지정하여 처리 합니다. 항목 선택 이벤트 핸들러 binding.mainDrawerView.setNavigationItemSelectedListener { Log.d("kkang", "navigation item click... ${it.title}") true }

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

코틀린 공부38

탭 레이아웃 – 탭 버튼 구성 탭 레이아웃은 탭으로 구분하는 화면에서 탭 버튼을 배치하는 레이아웃입니다. 탭 레이아웃 등록 FrameLayout위치에 탭의 내용을 출력합니다. 코트에서 탭 버튼정의 val tab1: TabLayout.Tab = tabLayout.newTab() tab1.text="Tab1" tabLayout.addTab(tab1) val tab2: TabLayout.Tab = tabLayout.newTab() tab2.text="Tab2" tabLayout.addTab(tab2) val tab3: TabLayout.Tab = tabLayout.newTab() tab3.text="Tab3" tabLayout.addTab(tab3) 탭 버튼을 코드에서 정의하지 않고도 레이아웃 XML 파일의 ..

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

코틀린 공부37

컬랩싱 툴바 레이아웃 – 앱바 접히는 형태 설정하기 컬랩싱 툴바 레이아웃(CollapsingToolbarLayout)은 앱바 레이아웃 하위에 선언하여 앱바가 접힐 때 다양한 설정을 할 수 있는 뷰입니다. 앱바 레이아웃 하위에 CollapingToolbarLayout을 추가하여 앱바가 스크롤되어 접히거나 나타날 때 어떻게 동작해야 하는지 설정합니다. 컬랩싱 툴바 레이아웃 등록 컬랩싱 툴바 레이아웃 title 속성으로 앱바의 제목을 설정했으며 expandedTitleMarginStart, expandedTitleMarginBottom 속성으로 앱바가 접히지 않았을 때 제목의 위치를 설정했습니다. 그리고 앱바가 접히면서 내용이 정상으로 출력되지 못하는 상황이라면 contentScrim 속성에 지정한 색상으로 ..

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

코틀린 공부36

앱바 사용하기 머티리얼 라이브러리란? 구글의 머티리얼 디자인은 모바일과 데스크톱, 그리고 그밖에 다양한 장치를 아우르는 일관된 애플리케이션 디자인 지침입니다. 머터리얼 라이브러리를 사용하려면 빌드 그래들 파일의 dependencies 항목에 선언해 줘야 합니다. 머터리얼 라이브러리 선언 implementation 'com.google.android.material:material:1.4.0' 스튜디오의 4.1버전 이후부터는 자동으로 머터리얼 라이브러리가 선언됩니다. 앱바 레이아웃 – 화면 위쪽 영역 꾸미기 앱바란 화면 위쪽의 꾸밀 수 있는 영역을 의미합니다. 앱바를 이용해 화면 위쪽 영역의 크기만 늘릴 수도 있지만 메뉴를 출력 하는 툴바 포함할 수도 있습니다. 머터리리얼 라이브러리에서는 이러한 앱바를 구..

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

코틀린 공부 35

드로어 레이아웃 – 옆에서 열리는 화면 구성 드로어 레이아웃은 액티비티 화면에 보이지 않던 내용이 왼쪽이나 오른쪽에서 손가락의 움직임에 따라 밀려 나오는 기능을 말합니다. 그래들 파일의 dependencies항목에 드로어 레이아웃 선언 implementation 'androidx.drawerlayout:drawerlayout:1.1.1' 드로어 레이아웃을 액티비티에 적용시키려면 레이아웃 XML 파일에서 드로어 메뉴가 출력되어야 하는 부분의 태그를 DrawerLayout으로 선언해줘야 합니다. DrawerLayout 아래에는 뷰를 2개 선언해줘야 합니다. 이렇게 해주면 자동으로 첫 번째 하위 태그 부분을 액티비티 화면에 출력해주고 두 번째 하위 태그 부분이 안 보이다가 끌려 나옵니다. 드로어 레이아웃 구성..

감자씨앗
'안드로이드' 카테고리의 글 목록 (4 Page)