2021/04 4

[안드로이드] 루팅 기기 체크하는 법 (Rooted device detection)

루팅 여부 체크를 위해서 새로 개발하기 귀찮으니 Rootbeer를 사용하고 있었는데, 루팅이 되어있지 않은 기기에도 루팅되었다는 false positive 케이스가 나와서 다른 방법을 찾아보게되었다. 오류 리포팅을 위해 Sentry를 앱에서 사용하고 있었는데, Sentry에서 root 체크가 되길래 Sentry의 RootBeer와 RootChecker 클래스를 참고하여 만들었다. RootBeer의 간단한 버전이라고 보면 되겠다.

[블록체인] NFT 거래소에 내 그림을 파는 방법, NFT 만들기 (Opensea.io)

NFT 무슨 그림이 72억에 팔렸다더라...일론 머스크 부인이 20분만에 60억을 챙겼다더라하는 뉴스를 보면 NFT라는 말이 등장한다. NFT란 Non-Fungible Token, 대체 불가능한 토큰이다. Fungible Token의 하나인 비트코인을 예로 들자면 나의 1 BTC와 일론 머스크가 가진 1 BTC는 동등한 가치를 지닌다. 서로 교환해도 가치가 같으니까 되는거다. 반면, NFT는 내가 가진 토큰과 다른 사람이 가진 토큰의 가치가 상이해서 1:1 교환을 할 수가 없다. 똑같은 캔버스 사이즈에 그린 피카소의 그림과 고흐의 그림처럼 말이다. 모든 디지털 자원을 NFT로 만들 수 있고, NFT의 이러한 특성때문에 현재 거래소에는 그림, 움짤, 가상 세계의 땅 등이 활발하게 거래되고 있다. 흠! 다른..

[JD-GUI] 실행시 오류 해결방법 No suitable Java version found on your system!

No suitable Java version found on your system! This program requires Java 1.8+ Make sure you install the required Java version. BigSur에서 JD-GUI를 실행시켰더니 이런 오류가 뜨며 안될 경우 JD-GUI 아이콘 우클릭 > 패키지 내용 보기 > Contents/MacOS/universalJavaApplicationStub.sh에 다음 라인을 추가한 후 저장한다. 위치는 주석 끝나고 맨 처음으로! export JAVA_HOME=$(/usr/libexec/java_home -v11) 이제 JD-GUI를 켜면 제대로 작동된다.

[안드로이드] 색상 변화 애니메이션 만들기 (ValueAnimator / Color change animation)

Target API 21 이상으로 설정한다. private fun animateRainbow() { val anim = ValueAnimator.ofArgb( Color.RED, Color.YELLOW, Color.GREEN, Color.BLUE, Color.MAGENTA ).apply { duration = 1000 * 5 repeatCount = ValueAnimator.INFINITE repeatMode = ValueAnimator.REVERSE addUpdateListener { // tvRainbow가 TextView이다. binding.tvRainbow.setBackgroundColor(it.animatedValue as Int) } } anim.start() }각 컬러 값들은 ContextC..