工作三天了,boss终于给我个任务让我做了,是我不是很擅长的android方面的一个bug修改。
话说工作第三天:
boss:客户说“这个显示框太难看了!”,你们要给他改好看一些。
缪:恩,好的。
。。。
我是个新人,当然轮不到我做什么客户必须要求做的了,可是他们都太忙了,发哥说,××,你也做过android开发,这个事儿,小缪太忙了,你看看能不能做出来!(敢不答应?敢说不好?)我说好,我尽快解决问题。
话了半个上午的哦时间终于把android开发平台搭建好,一看具体的问题,我离歌擦类!!!这不是传说中的anr么?要我改他的显示?!
Google是最好的老师,我不会,就虚心的想Google求教,好话说了一大堆,可是还不告诉我怎么办!![img]/images/smiles/icon_eek.gif" alt="[/img]
只会是不行的,还得解决问题,向一个android的茂才公求援,茂才公居然也不知道[img]/images/smiles/icon_surprised.gif" alt="[/img][img]/images/smiles/icon_confused.gif" alt="[/img].
只会更是不行的,还得解决问题啊!
根据对对象的理解:创建-->初始化---->使用 三个过程的理解,要是能够找到ANR警告框的这三个过程,然后修改一下显示,不就OK?[img]/images/smiles/icon_biggrin.gif" alt="[/img],找了好久终于还是没有找到![img]/images/smiles/icon_mad.gif" alt="[/img] 找不到,不能改!
既然不能改,那就不让你出来丢人现眼了。
于是,目标就转到代码优化上,根据茂才公的提示,弄了几个线程,居然还是频频出来献丑!!
那就看日志文件吧,看到头大然后又头小之后,发现是网络连接Timeout导致的anr,那就追踪吧,看到一个网络连接测试是否通畅的代码:
public static int checkNet(Context context) {
ConnectivityManager connectionManager = (ConnectivityManager) context
.getSystemService("connectivity");
NetworkInfo networkInfo = connectionManager.getActiveNetworkInfo();
if(networkInfo != null){
if (networkInfo.getType() == ConnectivityManager.TYPE_WIFI) {
return 1; //返回1是 WIFI网络
} else if (networkInfo.getType() == ConnectivityManager.TYPE_MOBILE) {
return 2; //返回 2是移动互联网()
} else {
return 3; //返回3是 未知网络
}
}
else{
return 0;
}
}
看着,也没有问题啊,然后
仔细的看看,想,要是不能上互联网就不能连接这个程序了?开门了,还是比较眷顾努力工作的同学的。
发现问题之后就想怎么来更有效的来验证网络是否通畅,android自带的方法我竟然不知道,就用我知道的socket来解决问题,
/**
* 检查是否能够连接到特定的主机
* @param hostName 主机的 ip
* @param port 主机的 端口
* @return 是否能够连接成功
* 因为不知道timeout的时间设置为多少合适,这里就自作主张了
*/
public static boolean canConnection(String hostName,int port){
boolean connect =false;
Socket socket = new Socket();
try {
SocketAddress endpoint = new InetSocketAddress(hostName, port) ;
//这里可以设置检验的时间
int timeout = 100;//这个是自定义的
socket.connect(endpoint, timeout);
connect = socket.isConnected();
} catch (Exception e) {
connect = false;
//System.out.println("connection ioe");
}finally{
socket = null;
return connect;
}
}
到这里,anr终于被我管在家里了,不出来污染大家的美好环境里!
就是不知道我这样做是不符合boss的要求?没有用到美工,担心中。。。
分享到:
相关推荐
在第一个动态版本的基础上,使用JSTL/Sevelet/EL/JavaBean优化宠物分类展现的页面代码高版本MyEclipse创建的Web项目已自带,不用添加。 二、开发环境准备 在任务4的开发环境的基础上,下载包jstjar 和standardjar ...
工作任务管理系统 工作任务管理系统 一、开发背景 现在很多企业管理中,员工需要完成自己的工作并向领导汇报工作,而领导需要分配任务和监督... 工作任务管理系统全文共20页,当前为第1页。 领导登录PC版本。密码修改。
有了她的帮助,您能够遵循“要事第一”的原则,对事情的轻重缓急一目了然。软件界面美观,简便易用,但同样功能强大。您可以设定任务的重要性;可以用不同的颜色标签来区别不同类别的任务;您甚至可以建立多级子任务...
遵循GTD无压工作及要事第一理念设计,放手去拼自己的事业吧 对工作任务进行计划、重要性排序、提醒和进度跟踪 利用分组、标签及子任务等方式轻松管理您的任务 支持添加附件、文件链接;内置强大的类似Word的文档...
cron-last-sunday:在每月的第一个,第n个或最后一个工作日运行cron任务
通过开发1个简单的静态网站并在此基础上增加动态的内容,让学生深刻理解B/S架构,体验Web应用程序特殊的开发流程,获取一些经验。 具体包括: (1)开发I个简单的个人主页,了解Web应用程序的部署过程。 (2)为个人主页...
1.创建mypetstore项目及其目录结构。 2.实现主页面Main.html主体部分并查看页面效果。 3.实现品种列表页面Category.html 主体部分并查看页面效果。 4.完成Product.html页面主体部分并查看页面效果。 5.完成Item.html...
一、任务说明 1.为catalog模块准备好数据。 2.熟思数据库各表数据.特别是要了解catalog模块各页而上的数据需要从哪个表中获取。 3.完成访问各表的DAO类。 三、完成过程 1.通过运行脚本准备数据。 2.在mypetstore项目...
第二期工作詹太安任务1
2020年山东省新型智慧城市建设试点工作任务书。欢迎下载,配合地方政府标准一起阅读更加全面。欢迎下载,欢迎下载,欢迎下载。
★问题描述:设有n件工作分配给n个人。将工作i分配给第j个人所需的费用为cij。...第1行有1个正整数n(1≤n≤20)。接下来的n行,每行n个数,表示工作费用。 ★结果输出:将计算的最小总费用输出到文件output.txt。
1.第六版更新 自从传错后就不让我上传了
有了她的帮助,您能够遵循”要事第一”的原则,对事情的轻重缓急一目了然。软件界面美观,简便易用,但同样功能强大。您可以设定任务的重要性;可以用不同的颜色标签来区别不同类别的任务;您甚至可以建立多级子任务,...
在企业管理中,人是企业唯一具有自主能动性的要素,发挥员工的能力,使团队高效地动作是每个企业管理者的第一职责。无论微小企业还是大型企业,这一点无一例外。也正是因为人的自主能动性,团队管理也是企业管理中最...
5.在第一方面,本申请实施例提供了一种多依赖任务分组管理方法,包括: 6.依据业务配置信息构建单元任务以及分组任务,所述分组任务包括多个子任务; 7.构建任务队列,将所述单元任务以及所述分组任务加入所述任务...
WHUT-逻辑与计算机设计个性课第一个实验任务书(1-2次课)实验报告 (4)理解译码器的工作原理,设计并实现2-4译码器。 (5)理解译码器的工作原理,设计并实现3-8译码器,4-16译码器。 (6)理解译码器的工作原理,...
华为最新2010--03内部机密之VTS V1R2委托开发项目(第1期)工作任务书
(1)在common目录中创建一个JSP文件,命名为IncludeTop.jsp. (2)参照4.6.1节完成IncludeTop.jsp的代码。 4.参照教材,完成IncludeBottom.jsp. (1)在common目录中创建一-个JSP文件,命名为IncludeBottomjsp. (2)参照...
figureTitleType:titleType类型限制派生的子类型,要求必须形如“1-1.xxxx” 、“1-1-1.xxxx”(表示第一节中的第一个图、第一节下面的第一节的第一个图等等); 然后编写book.xml,并使用多态性(即所有title的...
基于工作任务的《计算机应用基础》课程开发与设计-全文共2页,当前为第1页。基于工作任务的《计算机应用基础》课程开发与设计-全文共2页,当前为第1页。基于工作任务的?计算机应用根底?课程开发与设计 基于工作任务...