본문 바로가기

안드로이드 코틀린145

[Kotlin][Android] ViewModel 공유하기 액티비티 위에 프래그먼트가 띄워져있는 상황에서 뷰모델을 공유할 상황이 생긴다. 기존의 viewmodel을 생성할때 private val searchViewModel: SearchViewModel by viewModels() 이렇게 생성했다. 하지만 이렇게 생성하게 되면 fragment에 종속된다. 다른 fragment와 공유하고 싶다면 viewmodels()대신 private val searchViewModel: SearchViewModel by activityViewModels() 이렇게 설정해햐 한다. 이 경우 프래그먼트들의 부모가 되는 액티비티의 뷰모델을 공유하게 됨으로 한 액티비티에서 파생된 프래그먼트들 끼리는 뷰모델을 공유할수 있고 데이터를 공유하게 된다. 당연히 2개의 프래그먼트에서 1개의 뷰.. 2022. 6. 10.
[Kotlin][Android] 도움말 도움말은 사용자가 보기를 길게 누르거나 마우스를 올려놓으면 보기 근처에 표시되는 작은 설명 메시지입니다. 이 기능은 레이아웃의 공간을 절약하기 위해 앱에서 아이콘을 사용하여 작업이나 정보를 표시할 때 유용합니다. 이 페이지에서는 Android 8.0(API 수준 26) 이상의 도움말을 추가하는 방법을 설명합니다. 생산성 앱과 같은 시나리오에서는 아이디어와 작업을 교환하는 설명적인 메서드가 있어야 합니다. 그림 1에 표시된 대로 도움말을 사용하여 설명 메시지를 표시할 수 있습니다. 일부 표준 위젯에서는 title 또는 content description 속성의 콘텐츠를 기반으로 도움말을 표시합니다. Android 8.0부터 다른 속성의 값에 관계없이 도움말에 표시되는 텍스트를 지정할 수 있습니다. 위와 같.. 2022. 6. 7.
[Kotlin][Android] 2개의 배열 하나로 합치기 코틀린에서 2개 이상의 배열을 하나로 합칠 때 다음 방법들을 사용할 수 있습니다. Plus Operator Spread Operator Java의 System.arraycopy() 예제를 통해 2개의 배열을 하나로 합치는 방법을 소개하겠습니다. 1. Plus 연산자로 배열 합치기 다음과 같이 + 연산자를 이용하면 두개 배열을 하나로 합친 배열을 생성할 수 있습니다. fun main(args: Array){ val array1 = intArrayOf(1, 2, 3) val array2 = intArrayOf(4, 5, 6) val result = array1 + array2 println("result : ${result.contentToString()}") } Output: result : [1, 2, .. 2022. 6. 3.
[Kotlin][Android] fragment navigation 라이브러리 처음에 module gradle 에 'kotlin-android-extensions' 를 추가해준다. plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-android-extensions' } MainActivity class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) } } FirstFragment class FirstFragment : Fragment() {.. 2022. 5. 31.
[Kotlin][Android] 버튼 눌렀을 때 전화걸기로 연결하기 Uri.parse()안에 꼭 tel: 이걸 붙여줘야 인식을 한다. button.setOnClickListener { var intent = Intent(Intent.ACTION_DIAL) intent.data = Uri.parse("tel:0537207900") if(intent.resolveActivity(packageManager) != null){ startActivity(intent) } } 2022. 5. 29.
[Kotlin][Android] 라디오 버튼 오늘은 라디오 버튼에 대해서 알아볼게요 우선 라디오 버튼을 아래처럼 생겼습니다. 라디오 버튼을 사용하면 세트에서 한 가지 옵션을 선택할 수 있습니다. 사용 가능한 모든 옵션을 사용자에게 나란히 표시하려면 상호 배타적인 옵션 세트에 라디오 버튼을 사용해야 합니다 클릭 이벤트에 응답 사용자가 라디오 버튼 중 하나를 선택하면 상응하는 RadioButton 객체가 클릭 시 이벤트를 수신합니다. 버튼의 클릭 이벤트 핸들러를 정의하려면 XML 레이아웃의 요소에 android:onClick 속성을 추가합니다. 이 속성 값은 클릭 이벤트에 응답하여 호출하려는 메서드의 이름이어야 합니다. 그런 다음 레이아웃을 호스팅하는 Activity가 상응하는 메서드를 구현해야 합니다. 예를 들어 다음은 RadioButton 객체입니.. 2022. 5. 25.
[Android][Kotlin] gif 이미지로 스플래시(Splash) 화면 만들기 1. gradle 설정 아래 코드 블럭을 추가해준다. implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.19' 2. gif 이미지를 다운받아서 drawable 에 저장한다. 3. SplashActivty를 만들어준다. class SplashActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_splash_activty) // Actionbar 제거 supportActionBar?.hide() val handler = Handl.. 2022. 5. 19.
[Kotlin][Android] 상태바 - Status bar 다루기 (색깔 바꾸기) 안녕하세요. 이번 시간에는 상태바에 관한 몇 가지를 살펴보겠습니다. 상태바라함은, 앱 최상단에 위치한 이것을 뜻합니다. Theme.xml에서 statusBarColor 값을 바꾸면, 맨 위 상태바의 색깔을 원하는 색깔로 바꿀 수 있습니다. 만약 배경색이 밝다면, windowLightStatusBar를 true로, 아니라면 false로 설정해주시면 됩니다. false @color/black 이런 방식으로 상태바의 색상을 변경할 수 있습니다. 상태바를 감추고 싶다면? true Theme.xml 중 사용하는 테마 아래에 다음 사항을 입력하시면 됩니다. 이번에는 버튼을 누를 때마다 상태바의 색깔을 바뀌게 해보겠습니다. 1. 먼저, values/colors.xml에 원하는 색상을 만들어둡니다. 저는 빨강색과 파랑.. 2022. 5. 18.
[Kotlin][Android] osmdroid marker표시 및 지도 상에서 위치 얻기 https://stickode.tistory.com/461 osmdroid 사용은 위 포스터를 참고해주세요. 이번시간에는 맵뷰를 클릭시 해당 지점에 마커가 생성되게 하겠습니다. 우선, 지난 작성하셨던 포스팅까지는 진행이 되었다고 가정하겠습니다. 1. Main Activity Layout에 마지막 위치의 위경도를 텍스트로 띄워 줄 textView를 하나 추가 합니다. 2. 터치시 좌측 상단에 지도상에서 터치한 곳의 위도와 경도가 표시되고, 길게 누른 경우 마커가 표시되게 리스너를 작성하고 붙여줍니다. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(saved.. 2022. 5. 16.