我將目標sdk設置爲3.2,最小sdk設置爲2.2,我如何在我的應用程序中使用strictmode,據我所知,它已經推出但無法真正瞭解如何開始使用它。Android 2.2中的嚴格模式
回答
我的建議是兩方面:
首先,添加一些基線StrictMode code您Application的onCreate()
。這使您可以以簡單的方式將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);
}
注意:禁用警告,因爲您已在檢查Android的哪個版本將使用此代碼。
如果Android版本低於Android 2.2的
它有助於在通過檢查API級解決問題,然後執行嚴格的模式具有更高的這段代碼就會被激活。
這對於如何在應用中使用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等級11,這在短,不允許網絡操作
(如API等級9,默認的線程策略已經改變引入和HttpUrlConnection
)在UI線程上執行。如果你這樣做,你會得到NetworkOnMainThreadException
。
您可以輕鬆地解決這個錯誤通過兩種方式: -
解決這個問題的推薦方法是使用
anAsyncTask
所以 的網絡請求不會阻塞UI線程。或者,您可以通過將 以下代碼添加到主活動的onCreate()方法中來覆蓋此線程策略。
if (android.os.Build.VERSION.SDK_INT > 9) { StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); }
希望這有助於你..
聖誕快樂!瞭解strictmode終於揭示了這些錯誤!學習異步事物的時間! :) – Starwave
- 1. Android嚴格模式
- 2. PHP中的嚴格模式?
- 3. QUnit嚴格模式
- 4. 禁用Sequel Pro中的嚴格模式
- 5. 從webpack.config.js中禁用babel嚴格模式
- 6. 在Android 2.2中禁用飛行模式
- 7. 角2聯模板:在嚴格模式
- 8. 沒有嚴格模式的JSON.parse
- 9. Android的嚴格模式防止網絡IO
- 10. PHP函數mb_detect_encoding嚴格模式
- 11. JavaScript:嚴格模式和匿名函數
- 12. 烏托邦模式匹配更嚴格?
- 13. 不能在mobx嚴格模式
- 14. Google Maps API嚴格模式合規性
- 15. 在嚴格模式下複製arguments.callee
- 16. 嚴格模式更高性能?
- 17. 如何使用嚴格模式編譯
- 18. 怎麼知道違反嚴格模式
- 19. ActionScript 3嚴格模式摘要
- 20. 如何使用嚴格模式
- 21. Angularjs中嚴格的ng模型值
- 22. JavaScript中的嚴格模式適用於他們的框架?
- 23. 爲mysql中的內嵌查詢禁用嚴格的sql模式
- 24. 什麼是嚴格和非嚴格的模擬?
- 25. JSF 2.2 faces-config:Unknown模式版本:2.2
- 26. 禁用Dart Angular中的嚴格/檢查模式
- 27. 如何打開/關閉localhost(xampp)中的MySQL嚴格模式?
- 28. 花車的嚴格Python格式化
- 29. Android Studio中2.2
- 30. 僅在開發中啓用嚴格模式
不是應該detectAll?對不起,官方的Android文檔像往常一樣模糊。 – Radu