android 编程问题集结1

本文详细记录了使用MyEclipse8.5+ADT+win764进行Android编程学习的过程,从ApiDemos程序入手,解决了一系列在开发过程中遇到的问题,包括布局文件错误、应用崩溃、空指针异常等。通过问题解决的过程,作者不仅巩固了基础知识,还分享了解决方案,旨在帮助初学者避免类似错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

现在使用MyEclipse8.5+ADT+win7 64进行android编程学习,首先计划把android SDK中的ApiDemos程序写一遍,并把其中遇到的问题(思考和网络搜索后能解决和不能解决的)罗列于此,以为以后复习和与众Androider共享之用。每篇49个问题,期望低级的问题少少出现。。。

[color=red][b][size=large]01[/size][/b][/color] App→Activity→Forwarding
在重写这个程序时,我发现res/layout/forward_target处报错,经粗略修改后,再次发现gen文件下应有的R.java消失不见,并且src/Forwarding.java处报"R cannot be resolved",搜索网络后得出错误之处为:
res/layout/forward_target.xml中有一"android"错写为"androdi",导致工程不能正常Build,
R.java消失.此问题的答案是在[url]http://stackoverflow.com/questions/885009/r-cannot-be-resolved-android-error[/url]处Luc的回答中发现的.
其它朋友对类似问题的回答有:
(1) 有朋友经常用 Ctrl-Shift-O 添加import,很有可能会添加import android.R;在文件顶部,此有可能导致"R cannot be resolved"问题的发生,删除掉import android.R;就可以了
(2) 取消Project→Build Automatically,右键该project,在出现菜单后选择Build Project,然后查看gen中的R.java是否出现,否则Project→Clen...后重复以上步骤.
 (3) 删除掉gen文件后执行Project→Clen...,然后查看是否正常.     (2011.11.04)

[color=red][b][size=large]02[/size][/b][/color] App→Activity→Forwarding
  问题:The application Forwarding(practice.com) has stopped unexpectedly.Please try again.
  前面问题解决后,启动android模拟器,在跳转时出错,如下图:
[img]http://dl.iteye.com/upload/attachment/582573/11714490-e0b3-34a5-8bda-e5605e7bbeb5.jpg[/img]
在MyEclipse的LogCat中查询到提示如下:
[img]http://dl.iteye.com/upload/attachment/582575/d0b65582-f867-32f8-a186-110807ed0728.jpg[/img]
看来问题很低级,没有在AndroidManifest.xml中注册要跳转到的activity.在该xml中添加
ForwardTarget.class的注册信息,于是添加内容为:
<activity android:name=".ForwardTarget">
</activity>
恩,问题解决.                            (2011.11.04)

[color=red][b][size=large]03[/size][/b][/color] App→Activity→Receive Result
问题:出现java.lang.NullPointerException提示,导致程序关闭,如下图
[img]http://dl.iteye.com/upload/attachment/583422/76606e3a-9957-3ed8-94b8-759dc948fb1d.jpg[/img]
此程序重写一遍后,主Activity正常运行,点击Get Result按钮后亦可以正常跳转到Send Result Activity,但下面无论点击哪个按钮或者是按BACK键均导致程序异常关闭,在LogCat中查询到导致问题的原因是java.lang.NullPointerException,如下图

[img]http://dl.iteye.com/upload/attachment/583433/2a344628-f212-3023-bc4e-9af5faca79b2.jpg[/img]
空指针~~不明了...细细琢磨了会,觉得两个Activity均正常运行,没有问题,那应该是在SendResult Activity结束前传送数据时出错,或者是数据传送至ReceiveResult Activity时,TextView mResults写入时出错,那就挨个查一下吧,结果发现问题出现在TextView的声明上,共声明了两次,分别为

TextView mResults=(TextView)findViewById(R.id.results);
private TextView mResults;

导致重复声明,java.lang.NullPointerException报错,修改后正常!!

其它朋友关于Java这个错误提示的原因归纳:
(1)字符串变量未初始化;

(2)接口类型的对象没有用具体的类初始化,比如:
List lt;会报错
List lt = new ArrayList();则不会报错了

(3)当一个对象的值为空时,你没有判断为空的情况。
你可以试着把下面的代码前加一行代码:
if(rb!=null && rb!="")
改成:
if(rb==null);




if(rb!==null&&!"".equals(rb))
……

当然还可以多做一个判断,是否不为空字符串


if(rb!==null&&!"".equals(rb.trim())) (2011.11.06)

该朋友网址:[url]http://blog.youkuaiyun.com/zwhfyy/article/details/885588[/url]     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值