我将目标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. Wicket中DateTextField的严格日期模式
- 5. 禁用Sequel Pro中的严格模式
- 6. 禁用严格模式
- 7. 参数在严格模式
- 8. MySQL/MariaDB严格模式
- 9. JQueryMobile 1.4.2 + Android 2.2/2.3格式
- 10. 从webpack.config.js中禁用babel严格模式
- 11. 角2联模板:在严格模式
- 12. 在Android 2.2中禁用飞行模式
- 13. 的javascript:严格的模式和对象
- 14. mysql的最大严格模式
- 15. 没有严格模式的JSON.parse
- 16. JaySchema的严格模式验证
- 17. 采用严格的模式匹配
- 18. 严格的方式
- 19. 如何将React严格模式中元素的位置设置为Static?在严格模式
- 20. 严格模式违反列表
- 21. IE 10部队严格模式
- 22. 严格模式更高性能?
- 23. 在严格模式下复制arguments.callee
- 24. 乌托邦模式匹配更严格?
- 25. JavaScript:严格模式和匿名函数
- 26. 如何使用严格模式
- 27. PHPUnit严格模式有什么作用?
- 28. body.scrollTop在严格模式下已弃用。
- 29. 怎么知道违反严格模式
- 30. Google Maps API严格模式合规性
不是应该detectAll?对不起,官方的Android文档像往常一样模糊。 – Radu