线程-安卓开发中用new Thread()的困惑?

问题描述

安卓开发中用new Thread()的困惑?

用listview从服务端取数据的方法用new Thread()并且用SystemClock.sleep延迟几秒,等数据准备完后再刷新listview。不理解为什么要另开一个线程和要延迟,如果在主线程中取数据会有什么问题?

解决方案

如果在主线程中进行网络请求,会造成ANR异常!同时从安卓版本高级版本,貌似是11开始,不能在主线程中进行网络请求,否则直接报异常!所以不能在主线程进行网络请求!
所以,一般进行网络请求都要新开一个线程进行访问!为什么要延时几秒??我不知道你是怎么进行请求的…一般不需要延时几秒,一般来说,等待服务器响应之后,使用消息传递机制,把获取到的数据传递给主线程进行数据填充就可以啦。

解决方案二:

楼上正解,但是楼主要注意Thread()里不能进行UI操作,需要用handler,runable或者loop

时间: 2024-09-17 15:27:48

线程-安卓开发中用new Thread()的困惑?的相关文章

线程-安卓开发中的notification问题

问题描述 安卓开发中的notification问题 开机启动一个service,在服务中启动一个线程不停的做某种规则检测 ,只要规则符合,且提示周期到了,(我设的周期为2小时),线程就要发送一个通知.但是我在测试的时候 发现,只有第一次通知是发出去的,当两个 小时过去后,规则符合,周期时间也符合,但是通知并没有发送.有没有人知道 这是怎么回事呢.第一个通知发送后,我会在程序中做些操作,完成后就能出程序.然后手机就进入待机状态,可是等不到下一次的通知. 解决方案 用广播试试,发送广播,接受广播做处

安卓开发线程和进程讲解

进程:组件运行的进程由manifest file控制.组件的节点<activity>, <service>, <receiver>, 和 <provider> 都包含一个 process 属性.这个属性可以设置组件运行的进程:可以配置组件在一个独立进程运行,或者多个组件在同一个进程运行.甚至可以多个程序在一个进程中运行--如果这些 程序共享一个User ID并给定同样的权限. 节点也包含 process 属性,用来设置程序中所有组件的默认进程. 所有的组件在

安卓开发中某一个界面还没等你操作呢 自己就没了 哪里出问题了?

问题描述 安卓开发中某一个界面还没等你操作呢 自己就没了 哪里出问题了? 问题如上 好困惑! 解决方案 自己就没了,是返回上一级页面么?还是什么?有可能是AndroidManifest.xml文件里activity配置的问题.. 解决方案二: 出现fatal crash了把,抓下log看看. 解决方案三: 贴出代码,贴出log,才好分析,这样描述太抽象 解决方案四: 看一下log日志,看看错误信息. 解决方案五: 这个问题问的有点抽象能不能再具体些

安卓开发教程之判断出屏的方法

  在做安卓开发实际项目当中,尤其是在编写游戏时,我们一定要判断一下子弹的问题,应为这个是非常重要的.如果不判断的话,就会给玩家视觉上带来不好的效果. Java代码: for (int i = 0; i < enemy_bullets.length; i++) { enemy_bullets[i].paint(c); if (enemy_bullets[i].getX() < 0|| enemy_bullets[i].getX() - 5 > max_width || enemy_bul

安卓开发常用工具和第三方库汇总

本文讲的是安卓开发常用工具和第三方库汇总,我的名字叫 Ryan Cooke 我在 Pinterest 的核心体验团队工作.今天在这里我会谈论各种 Android 库:它们各自的优点,缺点和其他相关知识.目的是高效地概述尽可能多的库,这样,当你遇到一个问题的时候,你知道这是不是个已经解决的问题?什么样的方案更好?同时也能帮助你避免那些陷阱. 选择正确的库意味着你可以拥有一个已经成熟的更好的解决方案,而不是花费三个月来重新构建它.了解这些库是第一步. 我听到很多人想要实现第一个库, 我们难道不能用

安卓应用开发-关于安卓开发,连接tomcat抛出exception

问题描述 关于安卓开发,连接tomcat抛出exception 初学者,自己写的安卓程序,用json连接tomcat,mysql数据库,结果运行时候抛出异常,求帮助! 下面是抛出的异常, 在控制台打印的结果显示除了方括号以外根本没有信息返回 at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055) at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956

求问大神一条安卓开发的问题

问题描述 求问大神一条安卓开发的问题 我写的一个app,每次打开后占用的内部存储空间都会成倍增长,但是我这只app并没有联网,在运行的时候并没有增加任何数据,只是每次打开时都从数据库里把一些图片,文字读出来并赋值,一开始的时候是2m多,按后退键退出后再打开,然后再退出,占了3m多,然后重复这样打开退出打开退出,每次app的占用内部存储空间都近乎两倍来增长,最后占了57m多的时候,就提示说出现oom了,请问这是怎么回事?为什么我没有往里面添加数据,它都会疯狂增长? 我从数据库里读取数据的时候使用a

android-java语言 安卓开发中的问题

问题描述 java语言 安卓开发中的问题 Pattern ptn=Pattern.compile("[(d{2}:d{2}.d{2})]"): Matcher mtn=ptn.matcher(line): 这两句是什么意思? 解决方案 正则表达式,匹配 [11:22.33]这样的字符串,d{2}表示2位数字. 解决方案二: Java语言是一种支持多线程的语言,它通过同步(互斥)和协作(等待和唤醒)来完成.这里聊聊同步. ? 线程不安全主要来自于类变量(静态变量)和实例变量,前者位于方法

安卓开发-安卓新手求解答,页面传值跳转

问题描述 安卓新手求解答,页面传值跳转 求大神指导 :在安卓开发中,在第一个界面输入数值计算,点击求值按钮时不显示答案但跳转另一界面("正在计算--"),等待数秒返回第一界面显示结果 解决方案 http://tieba.baidu.com/p/3476742007 解决方案二: 在最外层的Relativelayout里建立一个visibility:gone,长宽fillparent的layout,加入正在计算的textview,里面也可以加一个processbar控件,显示正在缓冲图片