반응형

Android 76

[Kotlin] Depreciated된 "registerForActivityResult" 해결 방법

오랜만에 안드로이드 개발을 하려고 보니, startActivityForResult가 Deprecated가 되었습니다. 그러면 어떻게 동일한 결과를 받아 와야 할까 하고 찾아보니 registerForActivityResult를 선언하여 사용하는 방법입니다. 1. Callback 변수 생성 // Callback 변수 private val callback = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result -> when (result.resultCode) { RESULT_OK -> { // TODO } } } registerForActivityResult로 callback 변수를 생성해줍니다. 2. Acti..

[Kotlin] "Floating Action Button" 사용하는 방법

1. Floating Button이란? 앱에서 흔히 보이는 화면 위에 둥둥 떠있는 버튼을 보곤 합니다. 앱 위에 둥둥 떠있어서 그런지 Floating Button이라고 하기도 하는데, 이는 Material Design을 이용해서 쉽게 지정해 줄 수 있습니다. 2. build.gradle (app) 설정 ... dependencies { ... implementation 'com.google.android.material:material:' ... } material을 연결해 줍니다. 3. layout xml에 호출 ... 여기서 주의할 부분이 xmlns에서 정의한 app 부분입니다. 기본적으로 생성 시에 아래와 같이 정의되어있다 보니, 그냥 FloatingActionButton 속성에 app 속성을 넣으..

[Kotlin] "For Loop"를 사용하는 방법

// 기본 문법 #1 for (i in 1..n) { // TODO } // 기본 문법 #2 for (item in list) { // TODO } 1. 기본 문법 #1 특정 숫자까지의 반복문을 사용하고 싶은 경우 아래와 같이 사용 가능합니다. 만약 2000년부터 2023년까지의 연도를 출력하고 싶은 경우 for (year in 2000..2023) { Log.d("TAG", "this year is $year") } 위와 같이 2000년부터 2023년까지 출력됨을 확인할 수 있습니다. 만약 역순으로 출력하고 싶다면 아래와 같이 출력 가능합니다. for (year in 2023 downTo 2000) { Log.d("TAG", "this year is $year") } 또한, 2년 단위로 출력하고 싶은 ..

[Kotlin] 배열에서 자주 사용 되는 함수

1. 함수 메서드 내용 first() 목록의 첫 번째 항목 last() 목록의 마지막 항목 indexOf(항목) 항목을 포함하는 인덱스 위치 (0부터 시작, 없으면 -1) count() 목록 내 항목의 개수 contains(항목) 해당 항목이 목록 내에 포함되어있는지 여부 (true:있음 / false:없음) joinToString() 목록을 구분자(def. 콤마(,))로 묶어줌 reserve() 목록 내 항목을 역순으로 정렬 average() 목록 내 항목 들의 평균 값 sum() 목록 내 항목 들의 합계 min() 목록 내 최소값 항목 max() 목록 내 최대값 항목 val array = arrayListOf("서울", "경기", "강원", "충북", "충남", "전북", "전남", "경북", "경..

[Kotlin] "Vibrator" 사용하는 방법

1. AndroidManifest.xml 설정 ... ... 어플에서 진동을 사용하기 위해 권한을 추가해 줍니다. 2. Vibrator 객체 생성 /** * @description 진동 객체 반환 * @param context 해당 컨텍스트 */ fun getVibrator(context:Context):Vibrator{ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { return context.getSystemService(Vibrator::class.java) }else{ @Suppress("DEPRECATION") return context.getSystemService(Context.VIBRATOR_SERVICE) as Vibrator } } Andr..

[Kotlin] 네이버 맵 api에서 지도 이동하는 방법

val cameraUpdate = CameraUpdate.scrollTo(LatLng(위도, 경도)) naverMap.moveCamera(cameraUpdate) Kotlin에서 NaverMap을 사용하는 경우, 지도의 위치 이동은 카메라 객체를 통해서 이동하게 됩니다. naverMap은 아래와 같이 onMapReady를 통해서 가져올 수 있습니다. class CustomActivity : AppCompatActivity(), OnMapReadyCallback { ... private lateinit var naverMap : NaverMap ... /** * @description Naver Map이 준비된 경우 */ override fun onMapReady(naverMap: NaverMap) { t..

[Kotlin] View 보이지/감추기 (visible/invisible)

fun fnToggle() { // myView 라는 View가 있는 경우 val v = findViewById(R.id.myView) // view가 지금 화면에 보이는 경우 if (v.isVisible()) { // view를 화면에서 숨김 v.visibility= View.INVISIBLE v.height= 0 // view가 지금 화면에 보이지 않는 경우 } else { // view를 화면에 보여줌 v.visibility= View.VISIBLE v.height= 60 } // visibiile에 따라 화면이 크기가 조정되어야 하는 경우 runOnUiThread{ val vg = findViewById(R.id.myGroup) vg.invalidate() vg.requestLayout() } }..

[Flutter] minSdkVersion

# project > android > local.properties ... flutter.minSdkVersion=버전코드 # project > app > build.gradle > minSdkVersion 설정 변경 ... // minSdkVersion flutter.minSdkVersion minSdkVersion localProperties.getProperty('flutter.minSdkVersion').toInteger() ... 특정 api를 사용할 때, 안드로이드 최소 버전에 따른 오류가 발생하곤 합니다. 이 경우 android의 최소 버전 정보인 minSdkVersion을 올려주어야 하는데, flutter project 내에서 minSdkVersion을 찾아보면 아래와 같이 아주 많은 부..

[Android] 다국어 설정

해외 지원을 위해 다국어 지원을 해야 하는 경우가 있곤 합니다. 이때, 위와 같이 안드로이드 어플의 Language에 따라 언어를 변경해 주면 좋은데 이때, 1/ 텍스트를 string.xml에서 관리해주어야 합니다. Project > app > src > res > values > strings.xml 2/ Open editor 클릭 3/ 지정 언어 추가 ※ 한국 외에 모든 국가에서 영어 공통으로 사용하려면 기본적으로 영문으로 하고 한국어를 추가해 주는 게 좋습니다. 지구 아이콘 (언어추가) > Korean (ko) in South Korean (KR)

[Kotlin] drawable resource 불러오기

val image: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.bg_metal) 만약 아래와 같이 app > src > res > drawable에 있는 이미지 파일(bg_metal.png)을 불러와 사용하는 경우 Java source의 경우 아래와 같이 Bitmap으로 불러와 사용 가능하며 Bitmap image = BitmapFactory.decodeResource(context.getResources(), R.drawable.bg_metal); Kotlin의 경우 아래와 같이 호출하여 사용 가능합니다. val image: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.bg_m..

반응형