타겟 sdk를 3.2로 설정하고 최소 sdk를 2.2로 설정 했으므로 내 응용 프로그램에서 strictmode를 어떻게 사용할 수 있습니까?이 기능이 도입되었지만 사용 방법을 실제로 이해할 수는 없으므로 어떻게 사용할 수 있습니까?안드로이드의 엄격 모드 2.2
답변
나의 제안은 두 가지입니다 :
첫째, 당신의 Application의 onCreate()
몇 가지 기준 StrictMode code를 추가합니다. 이를 통해 StrictMode를 쉬운 방식으로 전체 앱에 적용 할 수 있습니다 (더 구체적인 테스트를 위해이 코드를 임의의 위치에 둘 수도 있음). StrictMode 문서에는 좋은 샘플 코드가 있습니다.
둘째, StrictMode를 사용하기 전에 SDK 버전을 검색하십시오. 이렇게하면 API 버전 9 이상에서만 StrictMode를 사용합니다.이 확인을 수행하지 않으면 이전 버전의 Android에서 앱이 다운됩니다. Build.VERSION.SDK_INT을 보면 SDK 버전을 쉽게 감지 할 수 있습니다.
선택적으로 테스트 할 때 StrictMode 만 사용하도록 설정할 수 있습니다. 당신이하는 일은 비록 당신에게 달려 있지만, I've written up one solution for this in the past입니다.
사용 방법은 다음 링크를 참조하십시오. 관련 구성 요소의에서 onCreate에 설정을 위 또는 응용 프로그램
Android Manifest를 다음과 같이 설정하십시오.
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" android:maxSdkVersion="16"/>
onCreate 메서드에서 아래 코드를 사용하십시오.
int SDK_INT = android.os.Build.VERSION.SDK_INT;
if (SDK_INT>8){
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
참고 :이 코드를 사용할 안드로이드 버전을 이미 확인하고 있으므로 경고를 비활성화하십시오. 안드로이드 버전은 그것은 엄격 모드를 실행 한 후 API 레벨을 확인하여 문제를 해결하고에 도움이 안드로이드 2.2
보다 높은 경우
이 코드가 활성화됩니다.
이것은 StrictMode를 응용 프로그램에서 사용하는 데 정말로 도움이됩니까? HttpClient
:이 옵션을 선택합니다 .. http://mobile.tutsplus.com/tutorials/android/android-sdk_strictmode/
링크가 작동하지 않습니다. – zyamys
이 링크를 사용하십시오 ** http : //code.tutsplus.com/tutorials/android-sdk_strictmode--mobile-7581** 도움이 될 것입니다 –
StrictMode.ThreadPolicy
을 API 레벨 9와 기본 스레드 정책은 한마디로, 네트워크 운영
(예를 허용하지 않는 API 레벨 11 이후에 바뀐했기 때문에 도입 및 HttpUrlConnection
) UI 스레드에서 실행됩니다. 이렇게하면 NetworkOnMainThreadException
이됩니다. 이 문제를 해결
권장되는 방법 네트워크 요청이 UI 스레드를 차단하지 않습니다
anAsyncTask
그래서 를 사용하는 것입니다 : -당신은 쉽게 두 가지 방법으로이 오류를 해결할 수 있습니다.
또는 주 활동의 onCreate() 메소드에 아래 코드 을 추가하여이 스레드 정책을 무시할 수 있습니다.
if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); }
희망이
Merry Xmas! 엄격 모드에 대해 배우는 것은 마침내 그 오류에 대한 조명을 밝힙니다! 비동기적인 것을 배우는 시간! :) – Starwave
- 1. 엄격 모드 : argument.callee.length의 대안?
- 2. Javascript가있는 네임 스페이스의 엄격 모드
- 3. Google지도 API 엄격 모드 준수
- 4. ActiveX 컨트롤의 IE 엄격 모드 깜박임
- 5. hasOwnProperty 및 ECMAScript 5 엄격 모드
- 6. 안드로이드의 Smaato 테스트 모드
- 7. 안드로이드의 편집 모드 목록보기
- 8. IE6 엄격 모드 및 최고 : 0, 아래 : 0
- 9. [Android]에서 엄격 모드 위반을 저지 할 수 있습니까?
- 10. AS3 라이브러리는 엄격 모드 대신 표준 모드로 컴파일해야합니까?
- 11. JavaFx 2.2 및 전체 화면 모드
- 12. 엄격 모드는, '어떤 유형의 declaraion'
- 13. 엄격 또는 과도기?
- 14. PHP의 엄격 모드입니까?
- 15. 엄격 모드가없는 JSON.parse
- 16. 엄격 모드가 적용되는지 확인하는 방법이 있습니까?
- 17. 노드에 엄격 모드를 강제 적용하는 방법은 무엇입니까?
- 18. 2.2
- 19. 코드가 엄격 모드에서 작동하지 않습니다
- 20. shouldInterceptRequest for Android Froyo (2.2)
- 21. PHP에서 MySql 모드 결정
- 22. 안드로이드의 삼성 갤럭시 탭에서 가로 모드 문제가 발생했습니다.
- 23. Apache Ant에 "엄격 모드"가 있습니까? 내가 개미이 같은 작업이있는 경우
- 24. 엄격 모드 준수 코드를 래핑하는 자동 호출 기능을 사용하는 것이 좋은 연습 간주
- 25. 주조는 2.2
- 26. ECMAScript 5 엄격 모드에서 worker.js에 대해 Chrome 11이 불평합니다
- 27. SyntaxError : 'with'문이 엄격 모드에서 유효하지 않습니다.
- 28. 함수가 엄격 모드인지 여부를 알 수 있습니까?
- 29. WDK C++ 프로젝트 디버그 컴파일러의 엄격 성을 변경해야합니다.
- 30. 안드로이드의 화면 방향
그것이 detectAll 있어야하지 않나요 .. 당신에게 도움이된다? 죄송합니다. 공식 Android 설명서는 평소와 같이 흐릿합니다. – Radu