전체 글 썸네일형 리스트형 안드로이드에서 코루틴을 사용할 때, 파이어베이스 동기 처리 (using android coroutine, and firebase async processing) 안드로이드 개발 시, Kotlin 쓰는 경우 코루틴은 상당히 쓸만한데, A,B,C 함수가 끝나면 D를 실행하라 A ->B ->C ->D 순차적으로 실행하라 통신 완료 후 동작을 실행하라 등등의 코드가 필요할 때 아주 쓸만하다 (rxjava를 써봤으면 그와 유사한 부분이 꽤 있는듯) 하지만 firebase db, firestore db는 실시간 갱신 처리가 되도록 만들어졌기 때문인지 listener의 return이 오기 전에 코루틴 함수가 pass되는 현상이 있어서 체크 해봤는데 결론적으로는 gradle에 corountine android 하단에, kotlinx-coroutines-play-services 를 추가해주고 implementation 'org.jetbrains.kotlinx:kotlinx-co.. 더보기 기초)안드로이드 부모 뷰를 넘어서 애니메이션 동작하기 안드로이드에서 기본적으로는 이미지뷰의 이미지나, 이미지의 애니메이션을 적용할 때에, 부모의 뷰를 넘어서는 부분은 노출되지 않는다 이 때 부모 뷰의 아래 2 설정을 변경 해주면 부모 뷰를 넘어서는 애니메이션을 구현할 수 있다 android:clipToPadding="false" android:clipChildren="false" false 값 설정 후 기본 설정 더보기 안드로이드 rest api ,CRUD 사용이 필요할 때 Retrofit 안드로이드에서 REST api를 사용 해야할 때, Retrofit 추천. 아직도 꽤 여러 라이브러리가 있고, 새로 나오고 하지만 편하긴 하다 확실히 장점으로는 많은 연동 라이브러리가 있다는 점. 필요한건 검색하면 거의 다 있다 한 예로 implementation 'com.squareup.retrofit2:retrofit:2.6.2' implementation 'com.squareup.retrofit2:converter-gson:2.6.2' implementation 'com.squareup.retrofit2:converter-simplexml:2.6.2' implementation 'com.squareup.retrofit2:converter-jaxb:2.6.2' implementation 'com.squ.. 더보기 안드로이드 edittext ACTION_DONE 처리, TextWatcher IME ActionDone 처리 et.setOnEditorActionListener(object : TextView.OnEditorActionListener{ override fun onEditorAction(v: TextView?, actionId: Int, event: KeyEvent?): Boolean { if (actionId == EditorInfo.IME_ACTION_DONE){ return true } return false } }) edittext layout xml 안에 android:inputType="text" android:imeOptions="actionDone" 를 넣어주고 if문 안에 원하는 동작 넣어주면 키보드 엔터 클릭시 원하는 동작을 실행한다 TextWatcher 한 글자.. 더보기 리사이클러뷰, 레이아웃매니저, 스냅헬퍼, 아이템 데코레이션RecyclerView LayoutManager checkLayoutParams SnapHelper ItemDecoration recyclerview의 layoutmanager에서 전체 화면 대비 특정 아이템 크기를 만들 고 싶을 때, rv.layoutManager = object : LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL,false) { override fun checkLayoutParams(lp: RecyclerView.LayoutParams): Boolean { // force height of viewHolder here, this will override layout_height from xml lp.width = (width - (resources.getDimension(R.dimen.padding_default) * 10)).toInt() return t.. 더보기 안드로이드 BottomSheetDialog 에 키보드 써야할 때 바텀시트에 edittext가 있는 경우, 가상키보드가 활성화 될 경우, 레이아웃이 가려진다 activity의 android:windowSoftInputMode="adjustResize" 를 적용하듯이 쓰고 싶은데 찾아보니 역시 설정에 다 있었음 위와 같이 설정 해주고 BottomSheetDialogFragment() 를 만들어서 내부 onCreate()에 style을 적용해준다 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setStyle(DialogFragment.STYLE_NORMAL, R.style.DialogStyle) } 마지막으로 실행시켜주면 끝 val bottomSheetFragme.. 더보기 플루터 애매한 부분은 패스하고 위젯으로 돌아가서!! 6 - flutter 이주의 위젯, 위젯 살펴보기 아래 유튜브를 보면 확실히 구글이 flutter를 아끼는 마음이 보인다 ㅋㅋ 꾸준히 Google developers 에서 이주의 widget 등을 소개한다 https://www.youtube.com/watch?v=Be9UH1kXFDw https://www.youtube.com/watch?v=_rnZaagadyo&list=PLOU2XLYxmsIJ7dsVN4iRuA7BT8XHzGtCr&index=41 https://www.youtube.com/watch?v=z5iw2SeFx2M&list=PLOU2XLYxmsIJ7dsVN4iRuA7BT8XHzGtCr&index=42 https://www.youtube.com/watch?v=9hltevOHQBw&list=PLOU2XLYxmsIJ7dsVN4iRuA7BT8XHzGt.. 더보기 플루터 아직은 잘 모르겠지만 그래도!! 5 - flutter with firebase - firestore 조사 https://medium.com/@trialxxerror 플루터 커뮤니티에서는 많이들 추천하는 블로그 글이라 따라 해보았는데 계속 오류가 나서 왜 오류가 나지 하고 한참 헤맸다(처음이라 디버깅도 힘들더라...) 그러다 apk 빌드해서 안드로이드에 적용하니 아주 잘 동작한다 import 'package:cloud_firestore/cloud_firestore.dart'; 는 현재 android / IOS 에만 적용되는걸 뒤늦게 확인했다. 제일 잘나가는 package라도 beta 니까 아직은 ... 이런 부분이 아쉬워서 작년 이맘쯤 접었던거 같은데 android / ios 부분만 되면 사실 난 네이티브 숙련상태라 애매한데 web beta가 정식이 되기전에 그래도 좀 해보자 라는 마음으로 다시 한번 트라이 .. 더보기 이전 1 2 3 4 5 6 7 ··· 11 다음