初学Android时遇到的一些错误及解决办法——之一

来源:互联网 发布:盖革计数器知乎 编辑:程序博客网 时间:2024/06/06 15:39

Attribute is missing the Android namespace prefix
命名空间前缀缺失
出现这样的错误的原因主要由以下几种:

a、属性定义时,命名前缀错误,这里的命名前缀错误又分为丢失前缀、前缀书写错误

(1)前缀丢失,比如定义一个TextVIew的属性时,android:id=,如果没有写android,便会报错这样错误,但是这个是显而易见的,一般我们不会犯下这个错误;

(2)前缀书写错误,比如定义控件的属性时,把android拼写错了,写成了andriod,由于自己的手误,写成了这样,而且不太容易被发现,以至于我们郁闷了很久,最后终于发现是这么一个低级的不能再低级的错误。

b、定义语法错误

比如我要在res下面建一个xml文件,把`<book price="99.0" 出版日期="2008年">疯狂讲义</book>`一句代码写成了`<book>price="99.0" 出版日期="2008年" 疯狂讲义</book>`

c、缺少一些关键语句
比如在tools:context=".MainActivity" 之前缺少xmlns:tools="http://schemas.android.com/tools" (这个tools命名空间可以用来预览一些布局属性的添加和删除后的效果)
具体可参考 tools:context=”.MainActivity的作用
还有 android xmlns:tools用法


Not targeting the latest versions of Android; compatibility modes apply. Consider testing and
updating this version. Consult the android.os.Build.VERSION_CODES javadoc for details.

未定位到最新版本的Android; 兼容模式。 考虑测试和
更新此版本。 有关详细信息,请参阅android.os.Build.VERSION_CODES javadoc。

在提醒我们没有匹配使用最新的sdk版本,可能导致app在最新的系统上面无法利用最新的特性或功能,去掉这个警告的办法就是把uses-sdk标签中的android:targetSdkVersion属性改为你电脑上面最新的sdk版本,例如我的电脑上最新的sdk是android4.4,它的版本号是19,那么我应该写成“android:targetSdkVersion=”19””,这样就不会报错了,如果你电脑的sdk是android4.0,那么改为android:targetSdkVersion=”14”即可。


android:theme=”@android:style/Theme.Black.NoTitleBar”
这个语句是设置隐藏标题栏并且将界面背景设置为黑色,程序编译没有错,一运行就崩溃。

在网上搜索了一下解决办法:所有项目都是按照Androidstudio默认创建的Java或者xml,每个自动创建的java都继承了AppCompatActivity
只要将AppCompatActivity改写成Activity就可以了。(改完以后记得导入相应的包)

0 0
原创粉丝点击