在Andorid开发项目中遇到的Bug记录(续)

[22]遇到query cannot be resolved to a variable错误,

解决:1.Java里面定义的变量不能跟系统包里面的关键字相同(大小写不同也不行),系统包里面有个Query,把query改 2.变量在方法中是否被定义为局部变量,从而不能作为方法的返回值成其他名字即可

[23]Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl

解决:

[24]java.lang.reflect.InvocationTargetException

解决:

[25]java.net.ConnectException: failed to connect to /***.***.***.***(port 80): connect failed: EHOSTUNREACH (No route to host)

解决:网络虽然连接,但是网络阻塞,断开重连

[26]android.widget.TextView cannot be cast to android.widget.CheckBox

解决:布局文件中TextView控件被覆盖,

[27]java.lang.RuntimeException: Parcel: unable to marshal value {CLASSNAME}

解决:用Intent跳转Activity时,出现这个错误,intent.putExtra("siteInfo", (Serializable)listSiteInfo);这行代码调试通过,但是不能实现跳转,抛出错误,原因是listSiteInfo是我自己定义类型为SiteInfo的一个Arraylist,SiteInfo这个类必须要继承Seralizable,才能转换成(Serializable)类型。

[28]在监听事件里面执行异步类AsyncTask的代码,如果想要将异步类执行后的结果获取到,然后在监听事件里面继续执行后面的代码,这是不可取的,因为异步类AsyncTask和你的监听之间后面的代码同时运行,如果后面的代码需要用到异步类里面返回的结果后再执行,是不行的,因为等异步类里面的代码执行的时候,监听事件里面后面的代码可能已经执行完了,所以最好是把后面需要执行的代码写到AsyncTask异步类里面的PostExecute里面执行

[29]android.view.WindowManager$BadTokenException: Unable to add window -- token

解决:导致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。 将new AlertDialog.Builder(Context context)中的参数用Activity.this(Activity是你的Activity的名称)来填充就可以正确的创建一个Dialog了

[30] java.lang.RuntimeException: Unable to instantiate activity ComponentInfo异常

解决 不能实例化activity有如下三种情况: 1.没有在Manifest.xml 清单中注册该activity,或者在创建完activity后,修改了包名或者activity的类名,而配置清单中没有修改,造成不能实例化。 2.自己新建了一个包,而注册时候依然用的默认包,例如,默认包是com.ghg.Dao包,你新建了一个com.ghg.DaoImpl包,并在此包中写了个FirstActivity,在manifest.xml中注 册时你写的是<activity  android:name=".FirstActivity"/>,此时相当于你在的类注册到了默认包中,系统在默认包中是找不到的,因为你的FirstActivity在com.ghg.DaoImpl包 下,所以你注册时应写成包名加类名,如:<activity android:name="com.ghg.DaoImpl.FirstActivity";这样系统才能在指定的包中找到对应的类。 3.还用一种就是你的FirstActivity定义成了抽象类,这种情况好像一般人不会犯。 如果上述三种情况都考虑到了,还会抛出此异常,那么就查看一下activity类里是否同时存在这个类的构造函数和oncreate(),如果是,那么删除构造函数试试,并把初始化放到 oncreate()中试试。

[31]android.content.res.Resources$NotFoundException: String resource ID #0x0 找不到资源文件ID #0x0

原因分析如下: 遇到这种情况,很有可能是把一个int型业务数据的 设置setText()或者类似的方法中, 这样Android系统就会主动去资源文件当中寻找, 但是它不是一个资源文件ID, 所以就会报出这个bug。 将int型业务数据,转换成String类型即可。

[32]使用Spinner控件时,必须要给spinner绑定数据,否则报空指针的错误,空值

[33.]不显示系统菜单

解决:把manifest中的android:targetSdkVersion去掉,看看显不显示menu

[34]使用最新版本的androidsdk(4.x)和adt插件时,新建android工程时红叉和感叹号 使用adtbundle 20150202版本,最低版本选4.0以上

[35]eclipse的 Invalid project description. overlaps the location of another project

解决:下载工程时把该工程放在了workspace目录下。eclipse插件在创建项目的时候需要在workspace目录下创建一个同名的目录。 但发现workspace目录下已存在对应的目录时,就会报上面的处错误信息了,把项目拷贝到其他文件及再导入

[36]多媒体应用开发,用Intent调用手机摄像头拍照和摄像时,如果在传Intent时指定了MediaStore.EXTRA_OUTPUT的Uri(文件保存位置),那么在onActivityResult里面返回的data的可能为null

解决:这是不同手机机型的问题,方案:1,不手动指定保存路径,让系统自动默认保存 2.手动指定路径,声明一个全局变量uri保存路径,在onActivityResult里面不能用data.getData()方法获取uri

[37]使用fragment里面的控件绑定onclicklistener点击事件无效

解决:使用fragment或者fragmentactivity时,为在继承fragment类的自定义类里面的控件设置点击事件监听必须要在fragment那个类里面的onActivityCreated方法里面去给控件绑定监听,在fragmenet类里面可以用getactivity()方法获得fragment所在的activity

[38]解除EditText控件自动获取焦点

解决:在EditText的父控件中设置focusable和focusableintouchmode为true

[39]error: Error parsing XML: unbound prefix

解决:自定义控件在attrs.xml添加自定义属性时,在布局文件中使用自定义控件,标签名应该为自定义控件所在的包名加上类名,另外,还要在引入自定义控件的xmlns命名空间(xmlns:自定义属性名="http://schemas.android.com/apk/res/包名"(主类所在包名/自定义控件类包名?)

[40]java.lang.NoClassDefFoundError: android.support.v4.view.MotionEventCompat

解决:android.support.v4.util.SparseArrayCompat,这个问题很奇怪,JAR包也有了,编译也通过了。但就是运行时出现类找不到的问题。NoClassDefFoundError这种错误一般就是对应的类,没有被包含在对应的APK里面。 而MotionEventCompat这个类属于android.support.v4扩展库.检查了一下项目Libraries目录,发现没有引入这个包,右键项目属性-BuildPath-Libraries-Add External Jar,找到adt插件文件下面的D:\eclipse\adt\sdk\extras\android\support\v7\appcompat\libs的v4包,然后在order and Export里面给v4勾上,问题解决.(低版本的adt,右键项目属性,把【Android Private Libraries】前面的勾选中,再clean工程,再编译运行)

[41]Unable to execute dex: Multiple dex files define Landroid/support/annotation

解决:在项目中,有一个类的包名和引用的jar包中的类和包名一致,我用的是jar包中的类,所以工程中的这个类就是重复引用的,删除工程中重复引用的类后,成功打包启动

[42]布局文件A中,使用<include layout="@layout/mylayout"  />标签时,可以通过A直接findviewbyid找到mylayout上的控件并设置监听事件,而使用mylayout的view去对mylayout里面的控件绑定事件是无效的

[43]在百度地图上面覆盖一个布局文件,在地图上的布局文件中去拖动地图时,地图也会随之移动,效果很不好,只想在触摸地图界面时才能让百度地图移动 解决:试过一些办法,setfocusable ,setfocesableintouchmode,听了群里一位网友的建议采用framelayout,都不起作用,后面突然想到,在可点击的控件上面去视图拖动地图,地图不会动,于是,我把所有覆盖在地图上面的布局文件的父布局设置clickable属性为true,问题解决!

时间: 2024-10-17 23:23:11

在Andorid开发项目中遇到的Bug记录(续)的相关文章

如何在程序开发项目中选择合适的 JavaScript 框架,节省时间和成本的9款极佳的JavaScript框架介绍

从技术上来看,iOS,Android 和 Windows Phone 上的移动应用是使用不同的程序语言开发的,iOS 应用使用 Objective-C,Android 应用使用 Java,而 Windows Phone 应用使用 .NET. .随着 JavaScript,CSS 和 HTML 知识技能的提升,相信你也可以构建一个超赞的移动应用.在这篇博客里,我们将会介绍一些极好的 JavaScript 移动应用程序开发框架. 说到网络开发,就不得不说 JavaScript,这是一款很有前途的程序

react项目中遇到的BUG

前情提要:最近在学习react,然后就将项目中遇到的bug总结下来,作为借鉴! 项目结构: demo |app |app.js |main.js |center.js |toutiao.js |quanzi.js |shipin.js |dinggou.js |style.css |build |index.html |.babelrc |package.json |node_modules |webpack.config.js html文件: <!DOCTYPE html> <html

软件开发项目中的人员角色与职责划分

角色 职责 项目经理 项目经理负责分配资源,确定优先级,协调与客户和用户之间的交往.总而言之,就是尽量使项目团队一直集中于正确的目标.项目经理还要建立一套工作方法,以确保项目工件的完整性和质量. 构架设计师 构架设计师负责在整个项目中对技术活动和工件进行领导和协调.构架设计师要为各构架视图确立整体结构:视图的详细组织结构.元素的分组以及这些主要元素组之间的接口.因此,与其它角色相比,构架设计师的见解重在广度,而不是深度. 需求分析员 业务分析员通过概括和界定作为建模对象的组织来领导和协调业务用例

windows linux hosts文件的配置,开发项目中域名跳转等。

我们通常都知道Windows中hosts文件(C:\Windows\System32\drivers\etc),用来映射域名的.linux上当然也有,一般在/etc/hosts下. 当工作的项目,在开发机中,有各种域名跳转的时候.有时候找不到文件,有可能就是hosts木有配置正确.好比,我在开发机上,域名a.baidu.com下敲着代码,但是在这里有个接口去访问b.baidu.com,此时我在hosts中是映射了a的,但没映射b.今天犯了这个错误,当时一ping b.baidu.com,显然ip

使用vue cli开发项目中遇到的坑

一.部署文件 使用vue cli 开发项目,执行npm run build命令生成dist静态文件,将dist文件包放到服务器中即可. 刚接触webpack,不知道怎么部署前端文件,原以为需要将app文件上传,在 inux上安装node,以及npm install 一系列的包,捣鼓了很久,发现只需要执行 npm run build 将源码打包成一个静态文        文件即可,上传静态文件dist,将 controller指向index.html. 二.跨域问题 实行前后端分离,使用vue i

项目中的小bug

最近在做电子书项目中,采用select方式输入子系统,运行后发现键盘输入没问题,可是触摸屏却没反应,触摸屏驱动没问题,tslib也移植正确.问题在哪呢? 在代码中加入打印语句: 54 static int isOutOf500ms(struct timeval *ptPreTime, struct timeval *ptNowTime) 55 { 56 int iPreMs; 57 int iNowMs; 58 59 iPreMs = ptPreTime->tv_sec * 1000 + ptP

件开发项目中,过程管理文档包含哪些

转:http://ask.zol.com.cn/x/5335760.html 在软件项目开发过程中,应该按软件开发要求撰写十三类文档,文档编制要求具有针对性.精确性.清晰性.完整性.灵活性.可追溯性! 需求阶段 1.可行性分析报告 说明该软件开发项目的实现在技术上.经济上和社会因素上的可行性,评述为了合理地达到开发目标可供选择的各种可能实施方案,说明并论证所选定实施方案的理由. 2.项目开发计划 为软件项目实施方案制订出具体计划,应该包括各部分工作的负责人员.开发的进度.开发经费的预算.所需的硬

开发工程中遇到的BUG

Xcode7自带Git创建的项目"Couldn't communicate with a helper application" git xcode7 zhunjiee 2015年10月08日提问 关注 3 关注 收藏 0 收藏,4.9k 浏览 问题对人有帮助,内容完整,我也想知道答案0问题没有实际价值,缺少关键内容,没有改进余地 Xcode7在创建项目的时候勾选此选项,创建出来的项目会报如下错误警告:"Couldn't communicate with a helper a

项目中遇到的bug、问题总结

1. Cannot set property 'captcha' of undefined 在node项目中使用svg-captcha生成验证码报错 captcha的代码,这里有一个session.captcha,检查app.js,发现session没设置 exports.captcha = async(req, res, next) => { // 创建验证码 const captcha = svgCaptcha.create() // 验证码文本 req.session.captcha =