728x90
반응형

안드로이드 8

Gradle 빌드 에러 Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.10 (org.jetbrains.kotlin:kotlin-stdlib:1.8.10) and kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21) 안드로이드 앱 빌드시에 해당 에러가 발생. 해당 오류는 라이브러리 내의 코틀린 플러그인이 중복이 되면서 발생 되는 에러. 구글링 통해서 얻은 해결법은 라이브러리를 하나씩 확인을 해서 범인을 '색출(?)' 하는 것이라고 한다. 나 같은 경우는 꼭 써야하는 라이브러리의 최신버전이 해당 오류를 발생시키는 것으로 확인되었다. ..

Android 2023.12.13

[Kotlin] DataBinding 사용하기

데이터 바인딩 데이터 바인딩의 주목적은 UI 레이아웃의 뷰를 앱 코드에 저장된 데이터와 연결하는 간단한 방법을 제공하는 것. 데이터 바인딩은 또한, 버튼과 같은 UI 컨트롤을 UI컨트롤러 또는 ViewModel 인스턴스와 같은 다른 객체의 이벤트나 리스너 함수에 연결 시키는 편리한 방법도 존재ㅐ. 특히 LiveData 컴포넌트와 같이 사용 될 때 이점이 배가 된다. 구글 공식문서(https://developer.android.com/topic/libraries/data-binding?hl=en) 에는 아래와 같이 설명 되어있다. 레이아웃에 있는 UI 구성요소를 선언적으로 사용하는 방식이라는 건데.. 아직도 잘 모르겠다. 일단 시도해보자 Gradle 추가 android{ buildFeatures { dat..

Android 2021.12.23

[Kotlin] Viewbinding 뷰바인딩 사용하기

안드로이드 공부 기록하기 대부분의 안드로이드 앱에서는 이 뷰와 코드 간의 상호작용을 구현해야 한다. 예를 들어, 사용자가 EditText 뷰에 입력한 값을 읽거나, TextView 에 보여 줄 데이터를 변경할 때다. 기 경우 코드에서 레이아웃 뷰를 참조할 수 있어야 하며 그동안 여러 가지 방법이 사용. 가장 오래되고 대중적인 방법은 'findViewById() 함수를 사용하는 것이다 val myTextView:vTextView = findViewById(R.id.myTextView) 이렇게 뷰의 참조를 얻으면 다음과 같이 뷰의 속성을 사용 myTextView.text = "Hello" findViewById() 함수는 레이아웃 뷰를 사용할 수 있는 방법이지만 제약이 존재한다. findViewById() ..

Android 2021.12.07

[Android] 안드로이드 12 바뀐 점을 살펴보자! part.2

이번에는 SDK 31 을 타겟팅 하는 앱에서는 변경되는 사항 과 새로운 기능을 정리해보자 커스텀 노티피케이션 변경사항 Android12에서는 커스텀 노티피케이션의 외관과 행동이 완전히 변경됨. 이전 커스텀 노티피케이션에서는 전체 노티피케이션 영역을 사용하고 노티피케이션에서 레이아웃과 스타일을 제공했지만 이로 인해 사용자를 혼란스럽게하거나 다른 장치에서 레이아웃 호환성 문제를 일으킬 수 있는 안티 패턴이 발생했다. 표준 템플릿은 커스텀 노티피케이션이 확장 및 축소된 상태에서 노티피케이션의 앱아이콘 이나 이름 등 모든 상태에서 다른 노티피케이션과 동일한 양식을 갖도록 한다. 일관성 있고 쉽게 접근할 수 있는 친숙한 UI/UX를 사용자에게 제공한다. 노티피케이션을..

Android 2021.12.02

[Android]그라데이션 적용 -JAVA

안드로이드 앱을 만들다보면 Splash 화면을 구성하거나 다른 UI 를 구성할때 그라데이션을 적용하는 일이 종종 있다. 그라데이션을 만드는 법을 정리해보자 res - > drawable 폴더에 그라데이션.xml 파일을 만든다 gradient.xml 의 내용이다. 위처럼 설정하게되면 이런식으로 색이 표현되는데. 현재는 startColor / endColor 만 구현했다. centerColor 도 추가 가능 angle 은 화면에 보여지는 각도 라고 생각하면 되면 45도 단위로 방향이 전환된다. 이렇게 그라데이션 파일은 만든 후 해당되는 그라데이션을 적용할 layout.xml 로 이동하여 background 색상을 방금 만들어둔 drawable 파일로 지정하게 되면 된다. 다음에는 위의 그라데이션을 적용한 S..

Android 2021.09.18

안드로이드 4대 컴포넌트

안드로이드 어플리케이션을 구성하는 4가지의 구성요소 Activity (액티비티) Service (서비스) Broadcast Recevier (방송수신자) Content Provider (콘텐츠제공자) 위의 컴포넌트 들로 구성이 되있으며 각각의 독립된 형태로 존재하면서, 서로 상호작용을 하게된다. 단, 앱을 구현하는데 4대 컴포넌트가 항상 필요한것은 아니며 필수적인 요소로는 액티비티(Activity) 는 반드시 하나 이상 존재해야한다. 1. Activity (액티비티) 액티비티는 사용자에게 UI 를 제공하기 위한 화면 단위를 구성하는 컴포넌트이다. 우리가 안드로이드 어플리케이션으로 보는 화면 즉, 뷰(View) 를 제공하는 곳이라고 할수 있다. 두 개의 액티비티를 동시에 보일 수는 없다. 프레그먼트(Fra..

Android 2021.09.13

LauncherApp 만들기 -java

Launcher App 이라는 것이 있다. 런처 앱을 간략하게 말하면 디바이스 or 서버에서 어플리케이션의 정보를 가져와서 화면에 보여주는 앱이다. 거기에 어플리케이션을 보여주는 정렬 방식, 테마 등을 설정 할 수 있게 하는 기능이 있는 것. ㅡ시중에 나와있는 런처앱은 많으니 한번 검색해보길 바랍니다. 그럼 안드로이드 디바이스에서 런처앱을 사용하려면 어느 것이 필요한가? 디바이스의 앱 정보를 가져오기 위해서는 PackageManager 기능이 필요하다 PackageManager 는 말 그대로 디바이스의 패키지와 어플리케이션의 정보를 가져오는 기능이다 PcakageManager 의 자세한 사항은 PackageManager 를 참고하시길 바랍니다. public class MainActivity extends..

Android 2021.09.07
728x90
반응형