코틀린(26)
-
Android useful kickass tools
Stetho오픈소스 디버깅 플랫폼페이스북에서 개발했음Chrome의 개발자 도구 이용네이티브 android 앱을 디버깅할 수 있도록 해줌트리 구조 확인SQLite DB검사네트워크 작업 모니터링 등 지원 Android Assets StudioAndroid 아이콘 및 애니메이션 생성기 LeakCanarySquare에서 개발한 강력한 메모리 누수 감지 도구메모리 누수 발생할 때마다 전체 스택 추적알림 제공 DryRunAndroid 라이브러리 테스팅 도구라이브러리 시험해보는데 아주아주 좋음! Slides Code Highlighter코드 스니펫 예쁘게 만들어서 보여주는 친구~ Takt디버깅 하는 동안 다양한 기능의 FPS를 확인해줌버그와 지연을 포착해줌유저 사용성 개선 Drawable OptimizerImage ..
2023.08.08 -
Dialog With Navigation
Dialog는 Navigation으로 연결할 수 있다!Dialog도 결국 흐름에 연결된 화면이기때문~ Dialog Fragment를 만들고class MyDialog : BottomSheetDialogFragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { return inflater.inflate(R.layout.my_dialog, container, false) } } 팔레트에서 DialogFragment로 연결인데… 요렇게 들어오면 안된다…Dialog기 때문에 Dialog로 들어와야됨. 코드 좀 고쳐줌< dialog android:..
2023.08.08 -
Connectivity Manager
Connectivity Manager란Android 시스템 서비스네트워크 연결 상태에 대한 쿼리에 응답하는 클래스. 네트워크 연결이 변경되면 app에 알린다. 역할네트워크 연결 모니터링(WIFI, GPRS, UMTS)네트워크 연결 변경시 broadcast intent 전송네트워크 연결 끊긴 경우 페일 오버 시도앱이 사용 가능한 네트워크의 대략적 혹은 세분화된 상태를 쿼리하는 API제공App이 데이터 트래픽에 대한 네트워크를 요청하고 선택할 수 있도록 API 제공 클래스 얻기val cm = getSystemService(CONNECTIVITY_SERVICE) as ConnectivityManager 콜백voidonAvailable(Network network) 프레임워크가 연결되고 사용할 준비가 된 새 네..
2023.07.28 -
Retrofit to Ktor
ktor을 써야하는 이유 💡 KMM을 사용해서 앱을 만든다고 생각해보자. ios에서는 java/android 기반인 Retrofit을 사용할 수 없다 .근데 ktor은 되는 모양…? 아래와 같이 종속성을 추가해줍시다 plugins { ... kotlin("plugin.serialization") version "1.7.10" ... } dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2") implementation("io.ktor:ktor-client-core:$ktorVersion") // CIO - for JVM and Android implementation("io.ktor:ktor-client-..
2023.05.03 -
알아두면 좋은 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 -
화면 회전시 이전 데이터 유지하기
코드 지워야돼서 기록한다 원하는 액티비티에 이거 추가 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