android+4.0访问网络,Android 中从4.0以后无法在主线程访问网络的解决办法。
1,第一种:在主程序中增加一下语句
@SuppressLint("NewApi")
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//可以在主线程访问网络
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads()
.detectDiskWrites()
.detectNetwork() // or .detectAll() for all detectable problems
.penaltyLog()
.build());
StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
.detectLeakedSqlLiteObjects()
.detectLeakedClosableObjects()
.penaltyLog()
.penaltyDeath()
.build());
//访问webservice或者其他语句
}
2,第二种方法:是启动线程访问:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 启动线程
new Thread(getdb).start();
}
/**
* 线程访问
*/
Runnable getdb= new Runnable()
{
@Override
public void run()
{
Looper.prepare();
//访问webservice或者其他语句 此处是获取网络数据的地方如:weiservice数据
// 必须使用post方法更新UI组件
//resultView是我页面的一个TextView 更新显示内容如下:
resultView.post(new Runnable()
{
@Override public void run()
{
resultView.setText(result);
}
});
Looper.loop();
}
};
第三种:和第二种类似用系统提供的AsyncTask
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 异步执行调用WebService的任务
new myAsyncTask().execute();
}
class myAsyncTask extends AsyncTask
{
@Override
protected Object doInBackground(Object... params)
{
//访问webservice或者其他语句 此处是获取网络数据的地方如:weiservice数据
//更新控件显示的内容
resultView.post(new Runnable()
{
@Override
public void run()
{
//result假定是返回值
resultView.setText(result);
}
});
return null;
}
}
android+4.0访问网络,Android 中从4.0以后无法在主线程访问网络的解决办法。相关推荐
- 使用Asp.net MVC 2.0 +.NET 4.0 出现 “从客户端 ... 中检测到有潜在危险的 Request.Form 值”错误的解决办法...
我们在用Asp.net 开发 Web Form页面时,通常要提交包含Html内容的数据给后台程序代码处理时,会为页面设置 ValidateRequest="false" 属性,设置 ...
- Android 避免主线程执行网络请求之Activity/Fragment 结束后处理异步回调
大家都知道Android涉及到与UI相关的操作只能在主线程执行 android4.0以后就禁止在主线程进行网络请求了,在主线程里面执行Http请求都会报NetworkOnMainThreadExcep ...
- Android强制在主线程进行网络请求
protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentVie ...
- Android4.0 以后不允许在主线程进行网络连接
Android4.0 以后不允许在主线程进行网络连接,否则会出现 android.os.NetworkOnMainThreadException.因此,必须另起一个线程进行网络连接方面的操作. pac ...
- 【Android 启动过程】Activity 启动源码分析 ( ActivityThread -> Activity、主线程阶段 二 )
文章目录 前言 一.ActivityThread 类 handleLaunchActivity -> performLaunchActivity 方法 二.Instrumentation.new ...
- 网络推广中常见的网站建设细节中有哪些重点值得网络推广专员重视?
通常在网络推广运营中最初的网站建设中有很多开发细节和重点值得引起站长的注意,通过这些重点开发细节可以为后续的网站优化运营奠定良好的基础,有利于后期的长久型网站运营优化,那么这些网站建设开发细节有哪些需 ...
- 【Android】高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法
[Android]高德地图在Debug模式下运行正常但是打Release包时则闪退解决办法 来源: https://blog.csdn.net/weixin_39370093/article/deta ...
- Spring-Boot:写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的图标资源?
Spring-Boot:Spring-Boot写出来的网站访问不到静态资源?怎样通过url访问SpringBoot项目中的静态资源?localhost:8989/favicon.ico访问不了工程中的 ...
- matlab pi表示,在matlab绘图中,x=0:0.1:4*pi;此语句中,0,0.1,4*... MATLAB中,x=0:pi/100:2*pi;表示什么意思?...
导航:网站首页 > 在matlab绘图中,x=0:0.1:4*pi;此语句中,0,0.1,4*... MATLAB中,x=0:pi/100:2*pi;表示什么意思? 在matlab绘图中,x=0 ...
- 小米4支持html5,针对在webview模式中,小米魅族手机不支持html5原生video的control的解决办法![原创]...
其实,解决办法就是,重新写个control控制功能,.同样用流行的video.js可以实现 第一步就是增加个播放的图片..要不然没有按钮多难看! webkit-playsinline> 上面的视 ...
最新文章
- STM32 基础系列教程 2 - GPIO 按键输入
- 2015.08.17 Ubuntu 14.04+cuda 7.5+caffe安装配置
- 健身小管家--android app源码
- [软技能] 你认为计算专业和非计算机专业的差别在哪?为什么?
- ssm整合 报错org.apache.ibatis.binding.BindingException: Invalid bound statement (not found):xxx
- Google推出了Python最牛逼的编辑器,你知道吗?
- c#日期转换周几_RPA经验:使用 selector 选择日期
- iframe页面相互调用方法
- sharding技术
- python turtle画小狗_python-turtle-画雪花
- c语言json数据转换成字符串,C语言将字符串转json
- 新华DCS系统MODBUS通讯仿真测试方法介绍
- 死亡计算机在线使用,抖音死亡计算器珍惜时间测试入口 抖音珍惜时间死亡计算器在线测试...
- fps透视基础-3分钟快速定位矩阵基址-附3D坐标转屏幕坐标算法
- 零代码组态搭建的水泥生产工艺流程
- 中国科学: 信息科学 中文模板2019 CCT-LaTeX texlive2019 成功编译
- 《机器学习技法》第5课笔记 核函数逻辑回归
- Android开发之百度地图(soso地图,搜狗地图,阿里云地图)转高德地图经纬度的方法
- [兴趣-画画] 基础 1
- java计算机毕业设计恒美服饰原材料采购预约配送系统MyBatis+系统+LW文档+源码+调试部署
热门文章
- 转:短小强悍的JavaScript异步调用库
- 【数据结构】线性表之数组---C++语言描述
- jQuery jqModal弹出层
- Linux进程间通信之信号量
- 网外(Internet)访问代理服务器内部的实现方法
- delegate vs. event(转自LTP.NET知识库)
- UGUI是如何频繁访问Image/Text等组件的raycastTarget的(读源码有感)
- mysql有关时间教程_MySQL教程21-日期和时间类型
- mysql中整理设置__MySQL的常用操作命令整理
- git 修改密码_在windows中利用gitblit搭建git服务端