关于开发兼容android 1.5项目时找不到资源图片问题

简介:

    先前自学android开发的时候,是做2.2的应用开发,把一些小图标文件随便放到drawable-hdpi,drawable-ldpi,drawable-mdpi三个目录中的某个,在代码中直接引用R.drawable.**这种方式就ok了. 
    不过昨天在公司做一个android项目(最低支持1.5的api,但是在2.3.3之下开发的)时,发生了这样的问题,在代码检查中,确实是识别除了R.drawable.pic1这个图片,但应用在虚拟设备上运行时,却报错找不到资源文件,然后还告知了资源文件的id.看了下,这个id对应的就是那个pic1的图片.而这个图片就放在R.drawable-hdpi里面.所以我就很郁闷,明明有这张图片啊? 
    后面有个对android很熟的同事过来跟我说android1.5在引用图片资源是去drawable文件夹里面找,android 2.2多出来的那三个文件夹在android 1.5中是无法准确识别的. 
    晚上回来,上网查相关资料,找到了个跟我类似问题的文章: 
    ------------------------------------------------------------------- 
Android1.6目录结构找不到res资源的问题 
http://7090.iteye.com/blog/997482  
建立的是1.6的目录结构,在res下面有drawable-hdpi,drawable-ldpi,drawable-mdpi三个文件夹,在这三个资源文件夹里面都放置了一个face.png的文件,但是打包的是target=android-3的apk ,就是打包成1.5,当运行在1.5的模拟器上时,就报错了,说找不到res下面的文件 
Java代码  
android.content.res.Resources$NotFoundException  
,后来使用1.6的模拟器就可以正常运行了,看来还是向下兼容的问题,1.5的模拟器对应的R.java文件找的还是drawable这个文件夹里面的内容,1.6以上会根据屏幕大小找到合适的资源文件 
    ------------------------------------------------------------------- 

    看样子,在开发android应用时,如果要兼顾老版本的android,需要单独建立一个drawable文件夹了.



本文转自leipei博客园博客,原文链接:http://www.cnblogs.com/leipei2352/archive/2011/09/17/2179483.html,如需转载请自行联系原作者

目录
相关文章
|
1天前
|
Java API 开发工具
java与Android开发入门指南
java与Android开发入门指南
6 0
|
2天前
|
Android开发 Kotlin
Kotlin开发Android之基础问题记录
Kotlin开发Android之基础问题记录
13 1
|
2天前
|
Java Android开发
Android开发@IntDef完美替代Enum
Android开发@IntDef完美替代Enum
10 0
|
3天前
|
Android开发
Android中Glide加载Https图片失败的解决方案
Android中Glide加载Https图片失败的解决方案
11 1
|
3天前
|
Android开发
Android 盒子开发过程中遇到的问题及解决方法
Android 盒子开发过程中遇到的问题及解决方法
7 2
|
3天前
|
机器学习/深度学习 算法 Android开发
安卓应用开发:打造高效通知管理系统
【5月更文挑战第6天】 在现代移动应用的海洋中,用户经常面临信息过载的挑战。一个精心设计的通知管理系统对于提升用户体验至关重要。本文将探讨在安卓平台上如何实现一个高效的通知管理系统,包括最佳实践、系统架构设计以及性能优化技巧。通过分析安卓通知渠道和优先级设置,我们的目标是帮助开发者构建出既能吸引用户注意,又不会引发干扰的智能通知系统。
16 2
|
4天前
|
安全 Linux Android开发
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
该文介绍了如何在Linux服务器上交叉编译Android的FFmpeg库以支持HTTPS视频播放。首先,从GitHub下载openssl源码,解压后通过编译脚本`build_openssl.sh`生成64位静态库。接着,更新环境变量加载openssl,并编辑FFmpeg配置脚本`config_ffmpeg_openssl.sh`启用openssl支持。然后,编译安装FFmpeg。最后,将编译好的库文件导入App工程的相应目录,修改视频链接为HTTPS,App即可播放HTTPS在线视频。
FFmpeg开发笔记(十六)Linux交叉编译Android的OpenSSL库
|
Android开发 数据格式 XML
Android异步加载图片详解之方式二(3)
main.xml如下:   listviewitem.xml如下:   ...
795 0
|
缓存 Java Android开发
Android异步加载图片详解之方式二(2)
FileCache.java如下: package com.cn.loadImages; import java.io.File; import java.
879 0
|
Android开发
Android异步加载图片详解之方式二(1)
MainActivity.java如下: package com.cn.perfectlistview; import java.util.ArrayList; import android.
880 0