Android 썸네일형 리스트형 Flutter[플러터] 언제 써야 할까? 플러터로 안드로이드 / IOS / 웹 / 맥OS / 윈도우 / 리눅스 / 기타 등등 수 많은 플랫폼에서 하나의 개발로 전부 끝! 이라는 생각으로 접근하면 한참 개발 중에 이슈가 있을 수 있다 우선 안드로이드 / IOS 까지는 꽤나 같이 쓰기 좋은 레벨로 올라왔는데, (개인적으로는 이제 실 서비스로 써도 괜찮다고 생각한다) 그래도 이슈 두 가지를 체크해본다면 첫번째로 서비스 개발 중에는 안드로이드 배포를 할 거라면 최소한으로 안드로이드 설정 세팅, 안드로이드 백그라운드 포그라운드 설정, 기타 오류 디버깅등의 능력, 디버깅 / 릴리즈 테스트 능력등이 필요하고, IOS 배포를 할 거라면 IOS 설정 세팅, 테스트 배포, 디버깅, 릴리즈 테스트, 스토어 등록 능력 등이 최소한으로 필요하다 (물론 이건 다른 하이.. 더보기 안드로이드 ViewPager2 FragmentStateAdapter의 fragment 갱신하고 싶을 때 ViewPager2에서 adapter로 보이는 fragment를 갱신하고 싶을때가 생긴다 fragment -> activity는 워낙 기본 예제가 많으니 패스하고 아래와 같이 FragmentStateAdapter 내부에 onBindViewHolder에서 fragment 종류를 체크하고 reoad해주면 된다 FragmentStateAdapter(this) { override fun createFragment(position: Int): Fragment { return when (position) { 0 -> AAAFragment.newInstance("", "") 1 -> BBBFragment.newInstance("", "") 2 -> CCCFragment.newInstance( XXX.toJson( C.. 더보기 안드로이드 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.. 더보기 안드로이드 버튼 그룹을만들고 싶을 때 MaterialButtonToggleGroup 을 쓰자 Bootstrap이나 기타 UI를 보면 버튼 그룹이 있다 안드로이드에서 써보려고 하면 뭔가 되게 심플하지 않게 별로라서 커스텀에 커스텀을 더하게 되는데 아래와 같이 패키지 추가하면 라디오버튼 대신 나름 쓸만한 버튼 그룹을 쓸 수 있다 첫번째는 icon을 입력한 것, 두번째는 그냥 텍스트 outlineButton, 세번째는 UnelevatedButton Style 원하는 대로 선택해서 세팅해서 쓰면 끝 singleSelection 로 몇개 선택 가능한지 설정 하면 되고 다만 현재 버전까지는 orientation이 horizontal로만 되는 것 같다 implementation 'com.google.android.material:material:1.1.0-alpha10' 참고 https://developer.. 더보기 Constraint Layout(3) Constraint Set Constraint Set: XML 이 아닌, 코드로 ConstraintLayout에 접근하기 위한 클래스123456//생성자를 통해서 c = new ConstraintSet(); c.connect(....);//레이아웃을 이용해서 c.clone(context, R.layout.layout1);//ConstraintLayout 을 이용해서 c.clone(clayout);cs이러한 3가지 방법으로 생성 할 수 있다 1234mConstraintLayout = (ConstraintLayout) findViewById(R.id.constraint);mConstraintSet1.clone(getApplicationContext(), R.layout.activity_request_chat_test);mConstra.. 더보기 Constraint Layout(2) 체인 체인 CHAINS뷰 A와 B가 있다고 할 때, A와 B가 "서로" 연결되어 있을 경우 이것을 체인 관계 상태라고 한다 여러 개의 뷰를 연결할 수도 있으며, 체인상태의 뷰는 하나의 헤드(HEAD)를 가지게 되는데Vertical방향으로 연결할 경우 연결된 뷰의 최상단에 위치한 뷰, Horizontal 방향으로 연결할 경우 가장 왼쪽에 있는 뷰가 헤드가 된다 12345678910111213141516171819202122232425262728 cs 코드를 보면 button8 button9 button10 이 서로 layout_constraintXx_toYyOf 로 상호 연결되어 있으며, 따라서 button8,9,10은 체인 상태이다1app:layout_constraintVertical_chainStyle=".. 더보기 Constraint Layout(1) 맛보기 RelativeLayout에 비하여 2배 가까이 성능차이 및, 뷰 애니메이션에 관련하여 장점이 있다고 판단되어 사용해보기로 하였다. 한번 써보고 싶은 생각이 있다면 참조할 페이지 2개 상세한 설명을 보고싶다면? 구글 트레이닝 : https://developer.android.com/training/constraint-layout/index.html 따라하면서 배우는게 편하면?구글 예제 : https://github.com/googlesamples/android-ConstraintLayoutExamples 개인적인 요약정리는 구글 예제를 열어보았다는 전제하에 진행 상대적인 위치 설정123456789app:layout_constraintTop_toBottomOf="@+id/button32"app:layout.. 더보기 이전 1 다음