每次运行项目,可能因为粗心或者哪一行代码没有调用,会导致项目不能运行,出现异常。

以下就是我总结的各种异常,会一直更新。

1. Unable to find explicit activity class   :

导致原因 :有Activity 没有 在AndroidManifest.xml文件中注册
解决办法:在AndroidManifest.xml文件中注册Activity

2 . [2013-01-30 10:49:14 - ddmlib] 您的主机中的软件放弃了一个已建立的连接。
Java.io.IOException: 您的主机中的软件放弃了一个已建立的连接。
 at sun.nio.ch.SocketDispatcher.write0(Native Method)
 at sun.nio.ch.SocketDispatcher.write(Unknown Source)
 at sun.nio.ch.IOUtil.writeFromNativeBuffer(Unknown Source)
 at sun.nio.ch.IOUtil.write(Unknown Source)
 at sun.nio.ch.SocketChannelImpl.write(Unknown Source)
 at com.Android.ddmlib.JdwpPacket.writeAndConsume(JdwpPacket.java:213)
 at com.android.ddmlib.Client.sendAndConsume(Client.java:575)
 at com.android.ddmlib.HandleHeap.sendREAQ(HandleHeap.java:348)
 at com.android.ddmlib.Client.requestAllocationStatus(Client.java:421)
 at com.android.ddmlib.DeviceMonitor.createClient(DeviceMonitor.java:837)
 at com.android.ddmlib.DeviceMonitor.openClient(DeviceMonitor.java:805)
 at com.android.ddmlib.DeviceMonitor.processIncomingJdwpData(DeviceMonitor.java:765)
 at com.android.ddmlib.DeviceMonitor.deviceClientMonitorLoop(DeviceMonitor.java:652)
 at com.android.ddmlib.DeviceMonitor.access$100(DeviceMonitor.java:44)
 at com.android.ddmlib.DeviceMonitor$3.run(DeviceMonitor.java:580)
  导致原因:模拟器没有开启或者真机没有开启开发者usb调试
  解决办法:模拟器重启或者 开启开发者USB调试

3. java.lang.RuntimeException: Unable to start activity ComponentInfo{XXX.PositionActivity}: 
java.lang.RuntimeException: Binary XML file line #23: You must supply a layout_width attribute.

导致原因:Activity对应的布局文件XML存在语法错误

解决办法:仔细检查对应布局文件,找出引发错误的错误代码,进行改正

4.发送Http请求时  android.os.NetworkOnMainThreadException异常

导致原因:在主线程访问网络时出的异常。 Android在4.0之前的版本 支持在主线程中访问网络,
但是在4.0以后对这部分程序进行了优化,访问网络的代码不能写在主线程中了。

解决办法:在要使用HTTP请求的Activity的OnCreate方法中加入:
       StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());
       StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectAll().penaltyLog().penaltyDeath().build());

5.android数据库sqlite关闭异常   :

ERROR/Cursor(1188): Finalizing a Cursor that has not been deactivated or closed. database = /data/data/com.icss/databases/resoute_list, table= resoute_list, query = SELECT id, user_name,socre, part_time ,type  FROM resoute_list ORDER BY id desc

12-13 18:04:35.176: ERROR/Cursor(1188): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object

that was opened here

导致原因:每次查询完成后需要关闭 SQLiteDatabase 对象  databaseHelper  对象   Cursor对象,在第一次使用查询时 没有关闭 databaseHelper  对象,只关闭SQLiteDatabase 对象 和 Cursor对象,第二次(第二个Activity中查询)查询时出现此异常

解决办法:每次查询完成后需要依次关闭 Cursor对象  、databaseHelper  对象、 SQLiteDatabase 对象。

6.多次clean 项目出现:

Android: R cannot be resolved to a varia...

导致原因:自动生成的R文件被删除 或不完整

解决办法:

(1)检查Android 的SDK是否丢失需要重新下载,检查build path
(2)确保class没有import Android.R;
(3)错误class引用的layout的xml文件没有错误
(4)检查AndroidManifest.xml文件,里边的package,layout配置文件,strings.xml等的字符串全部书写正确
(5)layout的xml文件中引用的strings.xml中的字符串拼写完全正确
(6)在layout 的xml文件手写添加一个控件,看id能否在R.java中自动生成,如果不能,那很大可能就是这个layout 的xml文件有问题,查看格式是否使用正确,或者包含什么非法字符串,或者调用到了不正确的字符串,等等,可以使用排除法,挨个去掉控件,直到发现error message消失或者id能在R.java中自动生成。
(7)删掉gen文件夹,使R.java重新自动生成一次,如果不能生成,继续检查layout的xml文件是否有如上不易发觉的问题
(8)Clean project ,重新build,或者重新import project。
(9)重启eclipse
(10)重启电脑,以防Android 虚拟机的问题

7.Java.lang.NullPointerException

导致原因:项目出现空指针异常是最常见的,一般都是上下文,或者控件没有传进来,list集合可能是空之类

解决方法:elipse和studio一般都会指明哪一行有空指针,仔细找找,需要的对象有没有传进来

android开发中遇到的异常及解决方法相关推荐

  1. android应用开发中收集的异常日志解决方法记录

    这里主要是列出开发中收集的一些错误日志,以及解决方案,仅供参考,也有待解决的问题 1, ListView 中出现java.lang.IndexOutOfBoundsException: Invalid ...

  2. android开发中的ANR异常

    android开发中的ANR异常 参考文章: (1)android开发中的ANR异常 (2)https://www.cnblogs.com/yejiurui/archive/2012/11/08/27 ...

  3. Android实际开发中的bug总结与解决方法(一)

    Android实际开发中的bug总结与解决方法(一) 参考文章: (1)Android实际开发中的bug总结与解决方法(一) (2)https://www.cnblogs.com/ywq-come/p ...

  4. java开发中遇到的问题及解决方法(持续更新)

    java开发中遇到的问题及解决方法(持续更新) 参考文章: (1)java开发中遇到的问题及解决方法(持续更新) (2)https://www.cnblogs.com/LiuYanYGZ/p/6112 ...

  5. 微信小程序在开发中遇到的问题与解决方法

    微信小程序在开发中遇到的问题与解决方法 参考文章: (1)微信小程序在开发中遇到的问题与解决方法 (2)https://www.cnblogs.com/zjjDaily/p/8032142.html ...

  6. Android Studio中 no module 问题,解决方法

    Android Studio中 no module 问题,解决方法 参考文章: (1)Android Studio中 no module 问题,解决方法 (2)https://www.cnblogs. ...

  7. 前端开发中遇到的问题及解决方法

    前端开发中遇到的问题及解决方法 1,何为MVVM? view层: 视觉层:在前端开发中,通常是DOM层:主要作用是给用户展示各种信息: Model层: 数据层:数据可能是我们固定的死数据,更多的是来自 ...

  8. 小米首页实践开发中遇到的问题及解决方法

    小米首页实践开发中遇到的问题及解决方法 1.菜单栏的指向小三角问题 解决方法:使用矩形边框绘制三角形,用CSS设置矩形内容为空.边框设置一定的宽度(三角形的高),并且设置一个方向的边框颜色,其他方向颜 ...

  9. Android开发中保存数据的四种方法方法

    本文来自:安卓航班网 在Android开发中我们会接触到四种数据存储方式,每种存储方式都各有不同:以下安卓航班分别列举了Android开发中的不同存储方式的特点. 一,Preferences Pref ...

最新文章

  1. BLE-NRF51822教程15-BLE地址
  2. 会议更流畅,表情更生动!视频生成编码 VS 国际最新 VVC 标准
  3. Acwing -- 单调队列优化的DP问题
  4. c mysql web开发实例教程_Web开发(六)MySql
  5. 【leetcode】390. Elimination Game
  6. 时过境迁:Oracle跨平台迁移之XTTS方案与实践
  7. Redis性能问题排查解决手册(七)
  8. 中limit怎末用_Nginx配置——关于limit_conn_zone和limit_conn
  9. HashSet的自定义实现
  10. Scratch3.0安装教程
  11. 薛定谔教程--生成对接盒子 | Receptor Grid Generation
  12. docker源码编译安装步骤解析
  13. Diablo3英雄榜-使用Volley和Gson来处理暴雪API的Json数据
  14. c++ 工厂模式简介和应用场景
  15. 2016到2019,百度大脑持续刷新
  16. 手机浏览器打开微信app的方法
  17. 【基于Android的连连看游戏的设计与实现】
  18. 【Qt】通过QtCreator源码学习Qt(十二):Q_D和Q_Q指针(简称“d指针”)详解
  19. 世界第一台通用计算机:ENIAC
  20. Motion-based Detection and Tracking in 3D LiDAR Scans

热门文章

  1. 5G - NR RLC协议阅读笔记4 - 三个重要定时器的理解
  2. audioread函数用法(matlab)
  3. 【转载】Java语言中的参数传递
  4. kafka的Rebalance问题分析(续)
  5. 刨根问底-AQS源码解析
  6. Plants vs. Zombies(二分)
  7. CS61A 2022 fall lab0
  8. 实践是检验真理的唯一标准之python array.sum(axis=0)
  9. FTP上传下载工具(FlashFXP) v5.5.0 中文版
  10. Oracle PURGE子句清除回收站中的对象