Exception을 덮으려고 한다면, 자신도 모르는 폭탄을 심어두는 것과 같은 이치이다.뭐 단순하게 Network를 MainThread에서 실행하지 않는다면 발생하지 않는 문제이다. 요지는 무엇이냐면, MainThread에서 오래걸리는 시간. 특히 네트워크 통신들을 하게 된다면, 화면이 블럭당하는 경우가 발생하게 되고,이럴 경우에 폰이 멈춘것처럼 보이기 때문에 그렇게 개발을 하지 말라고 하여 둔것이다. 위에서 적은것처럼 그냥 new Thread하여서 새로운 Thread를 만들어서 그 안에서 작업을 하면 사라진다.그러나. 그냥 너무 귀찮아서 저렇게 만드는거 자체도 무리다 싶을 경우에 다음의 코드를 삽입하도록 한다. StrictMode.ThreadPolicy policy = new StrictMode.Thr..
Scroller 구현시 computeScroll()와 scrollTo()의 관계 Scroller를 생성하고, 호출을 이런방식으로 하게 된다.mScroller.startScroll(0, 0, 0, 300, 2000); // 0,0에서 0,300으로 2초동안 Scroll한다. 이후 View의 computeScroll을 Override하여서 사용을 하여야 하는데, 스크롤이 될때 까지의 내용은 다음과 같다.@Override public void computeScroll() { super.computeScroll(); android.util.Log.v("DongHyuk", "getCurrX() = " + mScroller.getCurrX()); android.util.Log.v("DongHyuk", "getCur..
현재 스크롤되는 위치를 계산해서 돌려주는 방식이 좀 궁금하였다. Scroller.startScroll와 Scroller.computeScrollOffset()에 내용이 존재한다. Scroller.startScroll(int startX, int startY, int dx, int dy, int duration){ ... mDuration = duration; ... mDurationReciprocal = 1.0f / (float) mDuration; ... } Scroller.computeScrollOffset() { ... if (timePassed < mDuration) { switch (mMode) { case SCROLL_MODE: float x = timePassed * mDurationReci..
- Total
- Today
- Yesterday
- Codable
- enum
- Python
- php
- golang
- intellij
- centos8
- Linux
- war
- go
- SWIFT
- github
- rxswift
- ios
- Windows
- Gradle
- cocoapods
- android
- Java
- Spring
- Xcode
- nodejs
- CentOS
- tomcat
- ubuntu
- docker
- git
- MySQL
- windows10
- Kotlin
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |