关闭

Android开发中各种问题集锦【11-20】

标签: androidcompilerexceptionpropertiesjavaapi
11734人阅读 评论(2) 收藏 举报
分类:

【11】Android导入项目时出现:Android requires compiler compliance level 5.0 or 6.0. Found '1.4' instead. Please use Android Tools > Fix Project Properties. 的解决方法?

           1. 按提示在工程文件上 右键 -> Android Tools -> Fix Project Properties ,该方法无效。

           2. 手动打开Project Properties -> java Compiler -> 选上Enable project specific settings -> 再选择 Compiler Compliance Leave(选择任意一个非默认的值) -> OK 

           3. 重复第2步,将Compiler Compliance Leave选为正确的值(该值一般是当前安装的JDK版本值,如 jdk 5 对应 1.5 ,jdk 6 对应 1.6),OK。

 

【12】 在ADT 16.0 中,定义一个ImageVIew的时候 总是提示这个[Accessibility] Missing contentDescription attribute on image警告,虽说可以不理 但总是感觉怪怪的。其实这是ADT 16.0的新特性,在一些没有文本显示的控件里,如imageView和imageButton等,ADT会提示你定义一个android:contentDescription属性,用来描述这个控件的作用。

 

【13】如何检测Android真机摄像头硬件

如果应用程序未利用manifest声明对摄像头需求进行特别指明,则应该在运行时检查一下摄像头是否可用。可用 PackageManager.hasSystemFeature() 方法来进行这种检查,代码示例如下:

/** 检查设备是否提供摄像头 */ 

private boolean checkCameraHardware(Context context) { 

    if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){ 

        // 摄像头存在 
        return true; 

    } else { 

        // 摄像头不存在 
        return false; 

    } 

}
Android设备可能拥有多个摄像头,比如向后的摄像头用于拍照、向前的摄像头用于摄像。Android 2.3 (API Level 9)以上版本允许利用 Camera.getNumberOfCameras() 方法来检查设备可用摄像头的数量。


【14】Java中异常类体系

         为了方便对于这些可传递对象的管理,Java API中专门设计了java.lang.Throwable类,只有该类子类的对象才可以在系统的异常传递体系中进行。该类的两个子类分别是:

         1、Error类

               该类代表错误,指程序无法恢复的异常情况。对于所有错误类型以及其子类,都不要求程序进行处理。常见的Error类例如内存溢出StackOverflowError等。

         2、Exception类

               该类代表异常,指程序有可能恢复的异常情况。该类就是整个Java语言异常类体系中的父类。使用该类,可以代表所有异常的情况。

         在Java API中,声明了几百个Exception的子类分别来代表各种各样的常见异常情况,这些类根据需要代表的情况位于不同的包中,这些类的类名均以Exception作为类名的后缀。如果遇到的异常情况,Java API中没有对应的异常类进行代表,也可以声明新的异常类来代表特定的情况。

         在这些异常类中,根据是否是程序自身导致的异常,将所有的异常类分为两种:

         1、RuntimeException及其所有子类

              该类异常属于程序运行时异常,也就是由于程序自身的问题导致产生的异常,例如数组下标越界异常ArrayIndexOutOfBoundsException等。

              该类异常在语法上不强制程序员必须处理,即使不处理这样的异常也不会出现语法错误。

         2、其它Exception子类

              该类异常属于程序外部的问题引起的异常,也就是由于程序运行时某些外部问题导致产生的异常,例如文件不存在异常FileNotFoundException等。

              该类异常在语法上强制程序员必须进行处理,如果不进行处理则会出现语法错误。

【15】  Android中引入第三方jar包时,运行程序时提示java.lang.NoClassDefFoundError异常的解决方法。

              这个问题个人觉得很怪异,引用的包中就有某个对象类,却报了这个错误,以下是个人的解决方法:

              1、在工程下新建lib文件夹,将需要的第三方包拷贝进来。
              2、将引用的第三方包,添加进工作的build path。
              3、(关键的一步)将lib设为源文件夹。如果不设置,则程序编译可以通过,但运行的时候,会报:java.lang.NoClassDefFoundError

【16】 未完待续...

1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1290340次
    • 积分:9657
    • 等级:
    • 排名:第1956名
    • 原创:78篇
    • 转载:7篇
    • 译文:0篇
    • 评论:476条
    博客专栏
    最新评论