안드로이드(28)
-
알아두면 좋은 Kotlin extension
💡 자주 사용하는 extension들을 모아봤다 showToast() fun Context.showToast(message: String) { Toast.makeText(this, message, Toast.LENGTH_SHORT).show() } hideKeyboard() fun View.hideKeyboard() { val inputMethodManager = context.getSystemService(Activity.INPUT_METHOD_SERVICE) as InputMethodManager inputMethodManager.hideSoftInputFromWindow(windowToken, 0) } loadUrl() fun WebView.loadUrl(url: String?) { if (!url..
2023.05.03 -
onBackPressed() deprecated issuede
이제 쓸 수...없다......onBackpressed................................................... 이렇게 된김에 deprecated 된 onBackPressed()를 핸들링해보자 아래와 같이 할 수 있다 Activity 내부에서 fun AppCompatActivity.onBackPressed(isEnabled: Boolean, callback: () -> Unit) { onBackPressedDispatcher.addCallback(this, object : OnBackPressedCallback(isEnabled) { override fun handleOnBackPressed() { callback() } }) } // How To Use it : cla..
2023.03.10 -
화면 회전시 이전 데이터 유지하기
코드 지워야돼서 기록한다 원하는 액티비티에 이거 추가 android:configChanges="orientation"(in Menifest) 이런 식으로 데이터 고정 뿐만 아니라, 회전 후에 새로운 화면을 적용한다든지 새로운 액션이 필요하면 override fun onConfigurationChanged(newConfig: Configuration) { super.onConfigurationChanged(newConfig) if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT // 가로 전환시 || newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE ) { // 세로 전환시 binding..
2022.04.21 -
BroadCastManager로 이벤트 수신하기
또 까먹을까봐 우당탕탕 쓰러왔다. 여담이지만 최초 기획자도 내가 아니고, 설계자도 아니고, 최초로 구현한 사람도 내가 아닌 어플의 이슈를 대응하다보면... 한번에 클린코드가 나오기 어려운것 같다. 그래서 개판으로 짜고있음 ㅇㅅaㅇ근데 우짜겠노 급한데 나중에 리팩토링 하거나 해야지 뭐... 어쨌든 오늘은 특정 이벤트 발생 즉시 다른 액티비티에서 이를 감지하고 뷰를 전체적으로 갱신하는 로직이 필요했다. 안드로이드 개발자라면 다 아는 4대 컴포넌트...중 하나인 BroadcastReceiver를 이용해 구현하기로 한다. 1. 이벤트 보내는 함수 등록 private fun sendIntent(){ val intent = Intent(EVENT_NAME) LocalBroadcastManager.getInstanc..
2022.03.25