2015-05-30 遇到的常用问题appcompat_v7-探究方法

本文探讨了在Android开发过程中遇到R.java文件丢失导致的错误处理方法,以及如何正确引入appcompat_v7类库以兼容不同SDK版本。通过实践案例,介绍了清理项目、修改项目属性以及解决导入错误包等问题的步骤,旨在帮助开发者高效解决常见Android开发难题。

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

1.R.java文件不见了。这个会造成你所有引用R资源的地方都会报错。看着这么多多错误,你可能有点不淡定。但是请保持冷静,那只是一个错误。

就是R.java文件缺失。

一般我对待问题的方式是,先解决问题在探究其理论,没有解决问题,讲理论,我自己没有底气。

首先解决的方法有:(摘录网上)

1、选择菜单  Project >> Clean ,前提是勾选上 Bulid Automatically(自动构建部署) , 点Clean后会重新构建项目,因为一般情况下,R.java文件在这个时候会重新更新生成一边,如果工程有错,就不会自动生成。

2、选择工程,右键 Android Tools >> Fix Project Properties 这个操作有时候可以修正一些错误,但我的不行。

3、还有的说法是重新建一个空的工程,然后把这里面的代码,资源文件按照对应的包路径什么的拷进去,然后重新生成一边,这种方法,也想当于是第一种方法,都是重新构建部暑,性质一样的。  不到万不得已别用

用了前面两种方法之后,还是没有成功产生R.java。没有修复问题。网上的解决方法:

随便点了一个有错误的布局XML文件,看到这样一个错误代码android:layout_height="match_parent" , 之前我都用1.5/1.6/2.1 版本的SDK layout_height里面没有看到match_parent这个属性,然后问群一个兄弟说这个属性是2.X版本的,想了下,是不是因为工程的SDK版本和eclipse默认的SDK版本问题呢,于是选择工程,右键 Properties >> Android 然后看到右边的一块 Target Name, 我的是选中 Android 1.5,然后换了一个 2.1 的 ,点击Appply ,工程自动构建,看到错误少了一些,换到2.2,重新构建,错误没了,久未解决的问题解决了,R.java也出来了,一个字高兴啊,启动模拟器一切正常。 

而我个人的不一样,我的target最低也是4.4.2。后来我想起我有个操作时删除了Library。我重新添加上之后,执行方法1,2都重新生成了R.java

appcompat_v7是什么呢?有什么作用?

是一个Library Project, 作用是让你的Android Project 在API 7+的sdk版本(即Android2.1版本)可以访问ActionBar的API,ActionBar相当于用户界面的操作栏,具体ActionBar的解释可以参考:http://developer.android.com/guide/topics/ui/actionbar.html。所以从中可以看出多出这个project是为了兼容低版本的sdk,那我们创建的Android项目是如何引用这个类库项目呢?通过右键点击Android项目---->Properties-->Android,可以查看到该类库项目已被引用进来了


原因已查明,可以验证一下:

首先创建一个Android项目,在选择Android版本号的界面,如果选择的最低Android版本的"大版本号”小于编译时采用的Android大版本号时,就需要考虑版本兼容问题,这样子创建出项目后自然就会产生出appcompat_v7这个类库项目出来。具体界面如下图,如果编译时采用4.3版本,选择最低要求版本号为2.x或者3.x时创建出来的项目就会自动创建appcompat_v7支持库。

疑问:

可以不产生appcompat_v7这个类库项目吗?答案是可以的,只要版本号选择时最低要求版本和编译时用的版本选择同一种即可,但不推荐这么干,开发Android程序需要考虑兼容多个版本


引用:http://www.cnblogs.com/peach/p/4112207.html

二 第二个问题是导入了错误的包。

其实这是一个简单的问题。但是如果您看到错误是如此多,而且使用quick fix处理之后还是一把错误。

不要心慌,不要乱改。先将出现问题的那个类,在百度或者谷歌上搜一搜,知道它所属的包有那些,对号入座导入您需要的包即可。

My问题:导入的包应该为androd.os.Handler,不是java.util.logging.Handler;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值