Android各种常见异常及处理----未完成
2013-08-27 10:27
621 查看
1:ArrayAdapter.add()和ArrayAdapter.remove()方法UnsupportedOperationException
原因:因为创建ArrayAdapter时候没有给他分配一个ArrayList另外主要是因为系统官方API没有这个方法,解决不了可以考虑不用
解决方法:先创建一个ArrayList
List<CharSequence]]>planets=newArrayList<CharSequence]]>();
再用这个ArrayList去创建ArrayAdapter
adapter=newArrayAdapter<CharSequence]]>(context,
R.array.planets_array, planets);
2:使用Fragment时遇到Binary
XML file line #9: Error inflating class fragment
解决方法:fragment加入的Activity 应该继承于 FragmentActivity
3:java.net.SocketException:Noroute
原因:wifi未打开,无路由解决方法:wifi未打开,重新打开
4:java.net.SocketException:
Permission denied (maybe missing INTERNET permission)
原因:网络权限未添加 -- 常见的权限未添加异常解决方法:添加网络请求权限
<uses-permission
android:name="android.permission.INTERNET" />
5:java.lang.RuntimeException:
Can't create handler inside thread that has not called Looper.prepare()
原因:不能在线程中操作主线程,比如在线程中创建dialog,更新UI等都是不可以的解决方法:在主线程中创建handler,通过handler.sendmessage()来更新UI,因为在主线程中创建的handler属于主线程,起所有handlemessage操作都是在主线程中执行
6:java.lang.IllegalArgumentException:
The key must be an application-specific resource id.6
原因:应该是R.id.xxx 被替换成了1,2,3这种常用数字,id不唯一解决方法:使用R.id.xxx
7:NetWorkOnMainThreadException
原因:在Android2.3以上版本中--网络请求需要在放在线程中,目的是为了防止阻塞UI线程,当网络请求在UI线程中时会抛出该异常解决方法:将网络请求放在线程中
例1:放在new Thread中 new Thread(new Runnable()).start;
例2:新建内部AsyncTask类
8:java.io.FileNotFoundException: /open failed: ENOENT (No such file or directory)
原因:要打开的File不存在解决方法:新建该文件
9:java.lang.RuntimeException: Unable to instantiate receiver xxxxxx(your receiver name):
java.lang.InstantiationException:can't instantiate class xxxxx(your receiver name) ;no empty constructor
原因:当使用BroastcastReceiver 构造函数中会传入参数时,此类BroastcastReceiver 不能在AndroidManifest.xml中声明,因为Receiver构造函数中参数会为空值,导致下列异常产生,需要动态绑定BroastReceiver解决方法:
you receiver class =
new
you receiver class(getActivity().getApplicationContext());
IntentFilter intentFilter =
new IntentFilter();
//添加过滤条件
intentFilter.addAction(InfoReceiver.NEWMESSAGE);
intentFilter.addAction(InfoReceiver.NEWSERVICEORDER);
getActivity().getApplicationContext().registerReceiver(your receiver, intentFilter);
相关文章推荐
- android webview 使用以及一些常见的异常处理
- Android常见异常处理整理
- android webview 使用以及一些常见的异常处理
- android常见异常处理
- Android常见的异常及处理
- Android开发 之 常见异常处理
- Android常见异常处理
- Android中处理崩溃异常
- zookeeper常见异常处理
- Android中处理崩溃异常
- Android WebView常见问题处理
- android异常处理概述
- 深入剖析Java中的各种异常处理方式
- android.os.NetworkOnMainThreadException 异常处理
- android.os.NetworkOnMainThreadException 异常处理
- android-code-程序异常处理与记录log
- Android如何处理未捕获异常
- Android记录处理时间的各种方法
- 【转】Android中处理崩溃异常
- Android中处理崩溃异常