zoukankan      html  css  js  c++  java
  • 关于开发兼容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文件夹了.

  • 相关阅读:
    Spring之bean二生命周期
    Hibernate注解:一对多外键关联
    List<Object>和List<String>
    Eclipse设置模板代码
    Hibernate注解:一对一主键关联
    解决tomcat默认45s启动超时的问题
    ContextLoaderListener与DispatcherServlet所加载的applicationContext的区别
    Spring配置项<context:annotation-config/>说明
    Hibernate 实体关联关系映射【转】
    freemarker中使用shiro标签
  • 原文地址:https://www.cnblogs.com/leipei2352/p/2179483.html
Copyright © 2011-2022 走看看