Android开发常见的坑。

这是我在学习android开发过程中遇到的一些问题,部分答案来自网络,但是当时整理时忘记把出处记下,衷心感谢那些我借鉴过文章的大佬。以后更新会标明出处。



1、更改包名:
    有时候我们需要变更package name,如果直接从manifest中修改,不仅Java文件中不会自动更换import 包名.R,引起报错,而且已经再manifest中注册的Activity、Service、BroadcastReceiver等的包名也不会自动更换,如果一个个手动改就太费时间了。
    有没有so easy统统搞定的办法,答案是肯定的!Android的ADT中提供了统一替换的工具——Android Tools(使用eclipse或谷歌的ADT Bundle开发均适用)。选中需要变更包名的工程,右键选择Android Tools(倒数第三行的样子),在子选项中选择Rename Application Package,然后输入想更换的包名,然后点ok就搞定啦。


2、android 程序安装后出现问题,可以到logcat中查看异常日志。
Android开发中,所的有输出都在logcat中 包含System.out输出和printStackTrace()输出都在Logcat中,Android开发,建议使用android提供的Log工具类来打印信息。
找到Logcat视图的方式:
Eclipse 点击 Window
Show View会出来一个对话框
点击Ok按钮时,会在控制台窗口出现LogCat视图

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要认真的分析,查看栈的信息了。


3、The method setOnClickListener(View.OnClickListener) in the type View is not applicable for the arguments (Activity_02Activity.MyButtonListener)
    当出现这个错误时是因为倒错包了!查看.java文件的头部可知,导入的是 import android.content.DialogInterface.OnClickListener;其实我们要的包是 import android.view.View.OnClickListener;将其view这个包替换content的包即可解决!


4、在写xml文件时,Attribute is missing the Android namespace prefix,出现这样的错误的原因主要由以下几种:
a、属性定义时,命名前缀错误,这里的命名前缀错误又分为丢失前缀、前缀书写错误
(1)前缀丢失,比如定义一个TextVIew的属性时,android:id=,如果没有写android,便会报错这样错误,但是这个是显而易见的,一般我们不会犯下这个错误;
(2)前缀书写错误,比如定义控件的属性时,把android拼写错了,写成了andriod,由于自己的手误,写成了这样,而且不太容易被发现,以至于我们郁闷了很久,最后终于发现是这么一个低级的不能再低级的错误,瞬间感觉蛋碎了。
b、定义语法错误
    比如我要在res下面建一个xml文件,把疯狂讲义一句代码写成了price="99.0" 出版日期="2008年" 疯狂讲义
当然还有其他的书写错误会报出这样的错误,比如 xml里面莫名的多了一些字符等等
这些令人蛋碎的错误一般都是由于手误导致的,遇到这样的错误时,我就应该立马想到是书写错误或语法错误,让这让低级的错误碎了吧!!



5、android的布局xml文件如何添加注释
添加注释:选中你要注释的代码->ctrl+shift+/
去掉注释:选中你要去掉注释的代码->ctrl+shift+\



6、Hardcoded string,should use @string resource警告 && eclipse中一次性导入用到的所有类 && 重命名多处调用的文本对象 && 重命名包名

在使用eclipse的在布局文件时,有时编辑一些控件的字符串名字中,有时会提示诸如“Hardcoded string "下一步", should use @string resource”的警告,这是什么原因呢?

  1. <Button  
  2.         android:id="@+id/button1"  
  3.         android:layout_width="118dp"   
  4.         android:layout_height="wrap_content"  
  5.         android:text="下一步" />"  

         虽然上述的做法可以正常运行,但是这不是一个好习惯,应该在res/values/strings.xml中设置:

  1. xml version="1.0" encoding="utf-8"?>  
  2. <resources>  

你可能感兴趣的:(Android)