분류 전체보기 (153) 썸네일형 리스트형 [안드로이드] Fragment 생명주기 ― Activity 생명주기와의 관계 Fragment Lifecycle 왼쪽은 Fragment의 Lifecycle, 프래그먼트 수명주기입니다. 생명 주기는 Android 작동 방식의 핵심으로, 생명 주기를 준수하지 않으면 메모리 누출 또는 애플리케이션의 비정상 종료가 발생할 수 있습니다. Activity와 비슷한 콜백 메서드 onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy()가 있습니다. 콜백 메서드, 즉 Callback 함수는 특정 이벤트가 발생할 때 호출되는 함수입니다. 다음은 프래그먼트에서 최소한으로 구현해야 하는 3개의 생명 주기 메서드입니다. onCreate() 프래그먼트를 생성할 때 호출합니다. 프래그먼트가 일시정지 혹은 중단 후 재개되었을 때 유지하고 있어야 .. [안드로이드 Java] Bandpass Filter(BPF) 구현하기 ― BPF IIR library, FIR 코드 Band-pass Filter(BPF) Band-pass 필터는 특정 주파수 사이의 신호만 통과시키는 필터입니다. Low-pass 필터와 High-pass 필터의 조합으로도 만들어 질 수 있습니다. 밴드 패스 필터가 통과시키는 주파수 사이 범위를 통과대역(passband)이라고 합니다. 특정 주파수 사이에서 신호를 통과 시키고 그 외의 주파수 대역에서는 신호를 차단해야 하지만, 완벽하게 차단하는 이상적인 밴드 패스 필터는 없습니다. 이러한 형상을 롤오프(roll-off)라 하고, 롤오프를 최대한 줄여가는 쪽으로 필터를 설계합니다. 중심 주파수(center frequency), 공진주파수(resonant frequency)f0는 필터의 전달함수가 순수히 실수일때 주파수 입니다. 차단주파수(cutoff fr.. [안드로이드 Java] 디지털 신호 FFT(Fast Fourier Transform)하기― 다양한 FFT class와 JTransform library 사용, 비교 Fast Fourier transform(고속 퓨리에 변환) 고속 퓨리에 변환FFT는 이산 퓨리에 변환DFT와 그 역변환을 빠르게 수행하는 효율적인 알고리즘 입니다. 이 복소수complex 일 때, DFT는 다음과 같습니다. 위 식에 따르면 O(n^2)의 연산이 필요하지만, FFT를 이용하면 O(n log n)의 연산만으로 가능합니다. 가장 일반적으로 사용되는 FFT 알고리즘은 쿨리-튜키 알고리즘입니다. 참고로, DFT(Discrete Fourier Transform)는 이산화된 시간 영역의 데이터를 이산화된 주파수 영역으로 변환해주는 알고리즘입니다. 일반적인 디지털 신호를 디지털 주파수로 바꾸어줍니다. 왼쪽으로 보면 시간축을 기준으로 하는 주기함수들의 합이 붉은 선의 모양으로 나타나게 됩니다. 하지만 .. [안드로이드] 프래그먼트(Fragment)에 데이터 전달 하는 법 ― EventBus사용하여 데이터 전달하기 Fragment에 데이터 전달하기 Fragment에 데이터를 전달하여 setText 하는 방법을 고민하던 중 EventBus라는 좋은 라이브러리를 알게 되었습니다. 특히 저는 스레드에서 프래그먼트에 데이터를 전달해야 하였는데 아주 좋은 솔루션이였죠. 이벤트 버스 라이브러리는 Fragment ↔ Fragment Fragment ↔ Activity Fragment ↔ Thread Fragment ↔ Service 등등 . . . . . . . . . 전부 전역단위로 데이터 송/수신이 가능합니다. 또한 비동기식 데이터(주로 통신 데이터)를 즉각적으로 Callback 받을 수 있다! 는 장점이 있죠. 저 같은 경우는 ViewPager로 Fragment를 관리하였고, Activity의 Thread에서 보낸 데이터.. [안드로이드] SetBackgroundColor 설정 img.setBackgroundColor(Color.RED); 을 이용해 지정된 색깔로 변경 할 수 있지만, 원하는 색깔로 맞추고 싶으면, img.setBackgroundColor(Color.parseColor("#afe3ff")); 위처럼 layout에서 사용하던 색깔을 사용할 수 있습니다. #6200EE #3700B3 #03DAC5 #ffcccc #afe3ff #aaff88 #999999 또는 colors.xml나 styles.xml에 저장해 놓은 color Value를 쓰고 싶다면, 아래처럼 사용할 수 있습니다. Context context; ... img.setBackgroundColor(context.getResources().getColor(R.color.pastelGreen)); ... Up.. 안드로이드 스튜디오 Logcat 창이 보이지 않을 때 Alt + 6 단축키를 누르면 다시 나옵니다 ! 단축키 Logcat Alt + 6 줄맞춤 Ctrl + Alt + L ViewPager2로 슬라이드 프래그먼트(Fragment) · 안드로이드 캐러셀 슬라이드 만들기 ― FragmentStateAdapter와 Indicator 사용하기 ViewPager2와 Fragment ViewPager를 이용하여 슬라이딩 가능한 예제들은 많이 보았는데요. ViewPager2를 이용하여 프래그먼트 간 슬라이드 하기 위한 예제가 많이 없어 만들어보았습니다. ViewPager2는 수직방향 슬라이드와 right-to-left(RTL) 슬라이딩(좌에서 우로)도 지원하고 있습니다. 그리고 notifyDatasetChanged()가 버그 없이 잘 작동한다고 합니다. 기존의 ViewPager의 매서드들과도 차이가 좀 있습니다. 예를들면 Fragment를 사용하기 위해 FragmentPagerAdapter나 FragmentStatePagerAdapter대신 FragmentStateAdapter를 사용해야합니다. ViewPager에서 ViewPager2로 이전하기 .. [안드로이드 Java] Hex(16진수)와 Byte 형변환, 또는 Float으로 형변환 Byte→ Hex String.format("%02x", b&0xff) 위의 코드를 이용하여 변환합니다. "%02x " 는 (b&0xff) 를 2자리 Hex String으로 출력합니다. b&0xff 비트 연산은 앞에 비트가 의도치 않게 1로 채워졌을 때 0으로 바꿔주기 위함입니다. byte는 8비트이나 앞의 한자리는 부호를 식별하기 때문에 범위는 -128~127이됩니다. 이 범위를 0~255로 바꾸어 주기 위해 &0xff를 사용하면 0xff는 00000000 00000000 00000000 11111111이므로, 127이 넘는 숫자가 나왔을 때도 앞의 비트를 0으로 바꿔주기 때문에, 양수 표현이 가능해 지게 됩니다. 예를들어 , 150이라는 int형 숫자를 표현하기 위해서는 150은 int형 32비트이기.. 이전 1 ··· 12 13 14 15 16 17 18 ··· 20 다음