하새의 블로그
  • 홈
  • 태그
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기 (66)
      • 개발 공부 (63)
        • Android (31)
        • Flutter (2)
        • React (6)
        • Next.js (5)
        • CSS (1)
        • Kotlin (6)
        • Java (1)
        • PHP (3)
        • 환경 구축 (7)
        • MySQL (1)
      • 생활지식 (0)
      • 스크랩 (1)
      • SafePass (1)
      • RicorTodo (1)
  • 홈
  • 태그
개발 공부/Android

[Android Kotlin] RecyclerView 데이터 변경 시 스크롤 위치 유지하기(onSaveInstanceState(),onRestoreInstanceState() )

페이징 구현시 RecyclerView가 바닥을 인지해서 데이터가 바뀔 때 마다 RecyclerView의 focus가 계속 최상단으로 이동해서 데이터가 바뀌어도 스크롤 위치가 바뀌지 않게 하기 위해서 진행 1. 전역변수로 Parcelable 선언 및 초기화 private var recyclerViewState: Parcelable? = null 2. RecyclerView의 상태를 저장해야할 시점에 onSaveInstanceState() 호출 페이징이 시작되기 전의 상태를 저장할 필요가 있기 때문에 그 시점에 넣어주었다. recyclerViewState =binding.rcyMainMovieList.layoutManager.onSaveInstanceState() //RecyclerView 현 상태 저장 실..

2022. 10. 1. 17:12
개발 공부/Android

[Android Kotlin] RxBus - RxJava 전역 Callback 구현하기

1. RxJava gracle(Module) 추가 dependencies { implementation 'io.reactivex.rxjava3:rxandroid:3.0.0' implementation 'io.reactivex.rxjava3:rxjava:3.0.7' } 2. RxBus Object 생성 object RxBus { private val publisher = PublishSubject.create() fun publish(event: Any) { publisher.onNext(event) } fun listen(eventType: Class): Observable = publisher.ofType(eventType) } 3. 이벤트 관리 클래스 생성 자신이 필요에 맞게 콜백 클래스를 생성해준다..

2022. 9. 30. 23:14
개발 공부/Android

[Android Kotlin]ViewBinding과 DataBinding 차이 & Databinding 적용하기

간단한 차이 정리 단순히 findViewById를 이용한 View 접근 번거로움(View 개수대로 코드 추가)으로 사용했던 ViewBinding을 좀 더 알아보다가 DataBinding에 대한 것도 다시 보게 되었다. 둘의 차이라고 한다면 ViewBinding은 기능이 적은대신 DataBinding보다 빠르고 사용하기가 편하다 ViewBinding은 사용할 때 xml에 무언가 추가할 필요 없이 모듈에서 binding 설정만 하면 쉽게 사용할 수 있는 것과는 반면DataBinding을 사용하려면 xml 파일에 태그로 감싸야 하기 때문이었다. 그러나 ViewBinding은 양방향바인딩을 지원하지 않는다. 그리고 동적인 UI 콘텐츠를 생성할 수 없다. DataBinding이 ViewBinding이 하는 역할도..

2022. 9. 26. 23:59
개발 공부/Android

[Android/이슈 해결] 앱 출시 이후 Retrofit 작동을 하지 않음

앱 출시 이후 공지사항을 불러오는 부분에서 값을 제대로 받지 못하는 에러 발생. 이 문제는 배포버전에서만 일어나는 현상이었고 검색해본 결과 Proguard가 관련되어 있다는 것을 알게되었다. Android Proguard : 코드 난독화 및 안드로이드 앱의 용량을 줄여주는 프로그램. 참고문헌을 통해 유추해 보면 Proguard의 난독화로 값이 제대로 바인딩 되지 않아 생기는 문제라 생각해 proguard-ules.pro에 해당 줄을 추가해 model의 난독화가 되지 않도록 하였다. -keep class kr.vicess.android.safepass.data.model.** { *; } -keepclassmembers class kr.vicess.android.safepass.data.model.** {..

2022. 9. 24. 21:22
개발 공부/Android

[Android Kotlin] WebView 구현하기

1.WebView를 띄울 Activity 만들기 xml 2. Kotlin 코드에서 url 연결 class PrivacyActivity : AppCompatActivity() { private lateinit var binding: ActivityPrivacyBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityPrivacyBinding.inflate(layoutInflater) setContentView(binding.root) // binding.wvPrivacy.webViewClient = WebViewClient() // binding.wvPrivac..

2022. 9. 8. 15:49
개발 공부/Android

[Android Kotlin] Clipboard 복사 기능 구현하기(copy)

복사하기 버튼을 만들어 내용을 복사하도록 하기위해 사용하였다. setOnClickListener 안에 아래의 3줄을 넣어서 구현하였다. import android.content.ClipboardManager .... val clipboardManager = getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager val clip: ClipData = ClipData.newPlainText("copy pass",binding.etDetailPass.text.toString()) //label, 복사할 값 clipboardManager.setPrimaryClip(clip) //클립보드에 데이터 set ClipboardManager 객체를 만들고 Cli..

2022. 9. 2. 23:48
  • «
  • 1
  • 2
  • 3
  • 4
  • ···
  • 6
  • »

전체 카테고리

  • 분류 전체보기 (66)
    • 개발 공부 (63)
      • Android (31)
      • Flutter (2)
      • React (6)
      • Next.js (5)
      • CSS (1)
      • Kotlin (6)
      • Java (1)
      • PHP (3)
      • 환경 구축 (7)
      • MySQL (1)
    • 생활지식 (0)
    • 스크랩 (1)
    • SafePass (1)
    • RicorTodo (1)
  • 최근 글
  • 최근 댓글

최근 글

최근댓글

Powered by Privatenote Copyright © 하새의 블로그 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바