在开发的时候突然发现在输入文本框中点击输入法的删除按钮,发现app莫名其妙退出 了.log信息如下: 01-31 16:57:59.524: W/IInputConnectionWrapper(1259): clearMetaKeyStates on inactive InputConnection 01-31 16:57:59.624: W/IInputConnectionWrapper(1259): clearMetaKeyStates on inactive InputConnection…
大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序. 我们先建立一个crash项目,项目结构如图: 在MainActivity.ja…
使用ListView的addFooterView或者addHeaderView报错或者不知名的异常:at android.widget.ListView.clearRecycledState(ListView.java:522) ps: android 2.3经常会出现这种问题 Caused by: java.lang.NullPointerException at android.widget.ListView.clearRecycledState(ListView.java:522) at…
众所周知,android的设备千差万别,难免会发生崩溃异常等现象,这个时候就需要捕获哪些崩溃异常了,也就是捕获崩溃异常的相关信息,并记录下来,这样一来方便开发人员和测试人员的分析与调试. 1.首先我们得创建一个处理崩溃异常的类,暂且命名为:CrashHandler吧.实现如下:   import java.io.File; import java.io.FileOutputStream; import java.io.PrintWriter; import java.io.StringWrite…
转载请注明来源:http://blog.csdn.net/singwhatiwanna/article/details/17289479 前言 大家都知道,android应用不可避免的会发生crash,无论你的程序写的多完美,总是无法完全避免crash的发生,可能是由于android系统底层的bug,也可能是由于不充分的机型适配或者是糟糕的网络状况.当crash发生时,系统会kill掉你的程序,表现就是闪退或者程序已停止运行,这对用户来说是很不友好的,也是开发者所不愿意看到的,更糟糕的是,当用户…
自己的android程序对异常进行了处理,用的也是网上比较流行的CrashHandler,代码如下,就是出现了未处理的异常程序退出,并收集收集设备信息和错误信息仪器保存到SD卡,这里没有上传到服务器. public class CrashHandler implements UncaughtExceptionHandler { public static final String TAG = "CrashHandler"; // CrashHandler 实例 private stat…
2013年11月1日小光棍节 有一段时间没有发表新的博客了,最近一直在忙着开发新浪微博客户端遇到很多问题比较头痛,比如说本篇博客要讲的NetworkOnMainThreadException这个异常,这是可能经常问题,在笔试题中也可能会问到,所以值得记录一下. 为什么会出现这个异常,先解析一下它的字面意思,在主线程网络操作出现异常.很明显是在主线程也就是UI线程进行了比较耗时的网络操作,这种代码实现是不符合编码规范的, 因为在Android里在UI线程进行超过5秒的操作就好弹出ANR对话框,表示…
上一次说了如何收集我们已经发布的应用程序的错误信息,方便我们调试完善程序.上次说的收集方法主要是把收集的信息通过Http的post请求把相关的异常信息变成请求参数发送到服务器.这个对做过web开发的人来说,服务端处理是很简单.不过对很多没做个web的人来说却是麻烦事.今天介绍个更简单的方法,我们把异常信息收集后,通过后台发送邮件方法,把相关异常信息发送到我们指定的邮箱里面. 这篇文章是实用性文章,不会涉及太多理论分析.主要是让大家看了以后知道怎么在自己的应用里面添加这个功能.下面附件Demo和关…
1.Thread.UncaughtExceptionHandler java里有很多异常如:空指针异常,越界异常,数值转换异常,除0异常,数据库异常等等.如果自己没有try / catch 那么线程就崩溃. 并不能对所有代码都try/catch,如果代码产生了未捕获的异常,又不想让程序崩溃,或者在崩溃之前要做一些收尾工作.怎么办? Thread.UncaughtExceptionHandler 类可以解决这个问题,当有未捕获异常时,它的 public void uncaughtException…
Android系统的“程序异常退出”,给应用的用户体验造成不良影响.为了捕获应用运行时异常并给出友好提示,便可继承UncaughtExceptionHandler类来处理.通过Thread.setDefaultUncaughtExceptionHandler()方法将异常处理类设置到线程上即可. 1.异常处理类,代码如下: public class CrashHandler implements UncaughtExceptionHandler { public static final Str…
最近,做项目时,遇到一个需求,需要像淘宝评论那样,一组图点开,然后可以双指滑动放大,并左右切换换图的功能.自然就想到了使用viewpager+photoview来实现这一功能,但是在实现后,却发现一个bug,就是在使用双手放大图片时,会抛异常,抛的异常是如下: E/AndroidRuntime(22447): java.lang.IllegalArgumentException: pointerIndex out of range E/AndroidRuntime(22447): at andr…
众所周知,Android是不可以在子线程中直接更新UI的,需要借助Handler或者View.post(Runnable runnable)或者runOnUIThread(Runnable runnable)将更新的代码切入到主线程中去实现UI更新. 我们来试一下,在Activity的 onCreate中直接在新线程中去更新一个TextView的文本,结果发现,WHAT?竟然没有抛出异常,更新也成功了? 这是因为在onCreate中尚未完成View的绘制,此时TextView中有个变量mLayo…
1.Thread.UncaughtExceptionHandler java里有很多异常如:空指针异常,越界异常,数值转换异常,除0异常,数据库异常等等.如果自己没有try / catch 那么线程就崩溃. 并不能对所有代码都try/catch,如果代码产生了未捕获的异常,又不想让程序崩溃,或者在崩溃之前要做一些收尾工作.怎么办? Thread.UncaughtExceptionHandler 类可以解决这个问题,当有未捕获异常时,它的 public void uncaughtException…
SDK更新时的“https://dl-ssl.google.com refused”错误 Download interrupted: hostname in certificate didn't match: <dl-ssl.google.com> != <www.google.com>Download interrupted: Connection to https://dl-ssl.google.com refusedDone. Nothing was installed. 解…
Common Problems Verifying Server Certificates InputStream in = urlConnection.getInputStream(); getInputStream(), it throws an exception: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certificatio…
java.net.SocketException如何才能更好的使用呢?这个就需要我们先要了解有关这个语言的相关问题.希望大家有所帮助.那么我们就来看看有关java.net.SocketException的相关知识. 第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行new ServerSocket(port)(port是一个0,65536的整型值)操作时.异常的原因是以为与port一样的一个端口…
常见异常: java.lang.AbstractMethodError抽象方法错误.当应用试图调用抽象方法时抛出. java.lang.AssertionError断言错.用来指示一个断言失败的情况. java.lang.ClassCircularityError类循环依赖错误.在初始化一个类时,若检测到类之间循环依赖则抛出该异常. java.lang.ClassFormatError类格式错误.当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出. ja…
在修改Android Studio 中 project的名字时 ,提示 “can’t rename root module”. 这是因为Android Studio只能修改根目录内的所有文件,要修改project根目录名字,只能关闭Android Studio 在操作系统中修改文件夹名字. 具体步骤: 1.关闭Android Studio. 2.直接在操作系统中修改好名字. 3.重新import 新名字([NewName])的工程,这样就可以了,相当简单. 其实重新import后,Android…
当 Android 应用程序退出时,并不清理其所占用的内存,Linux 内核进程也相应的继续存在,所谓“退出但不关闭”.从而使得用户调用程序时能够在第一时间得到响应. 当系统内存不足时,系统将激活内存回收过程.为了不因内存回收影响用户体验(如杀死当前的活动进程), Android 基于进程中运行的组件及其状态规定了默认的五个回收优先级: IMPORTANCE_FOREGROUND: IMPORTANCE_VISIBLE: IMPORTANCE_SERVICE: IMPORTANCE_BACKGR…
本人已整理好发布到github,已优化. github地址:https://github.com/buhuiming/StatusLayoutManager 使用:compile 'com.bhm.sdk.manager.library:StatusLayoutManager:1.0.0' 有这样的情况,打开activity,加载数据:如果没有网络,显示没有网络的友好提示布局:如果没有数据,显示空数据的友好提示布局.... 像这样的情况,我遇到过大约有6个不一样的布局,在不同的场景下展示.那么,…
开发过程中遇到按返回键异常退出的问题,log显示为空指针异常,进一步产看是由于onActivityResult得到的Intent为空. 按返回键复写代码例如以下: @Override public void onBackPressed() { super.onBackPressed(); Intent intent = new Intent(); intent.putExtra("id", id); intent.putExtra("path", path); se…
用过安卓手机的用户以及安卓开发人员们会时长碰到程序异常退出的情况.普通用户遇到这样的情况,肯定非常恼火,甚至会骂一生垃圾软件,然后卸载掉.那么开发人员们在开发过程中遇到这样的情况给怎么办呢,当然,你不可能世界上的每一个安卓手机你都要试试你的程序有没有异常,这是无法办到的事情,所以最好的办法就是.当普通用户遇到这样的情况时.让应用自己主动把错误信息发送到你的server,然后你去分析异常原因.这是不是一件非常有意义的事情啊?本文參考自:http://blog.csdn.net/liuhe688/a…
public class CrashHandler implements UncaughtExceptionHandler { private static CrashHandler instance;   public static final String TAG = "CrashHandler";   private static final String VERSION_NAME = "versionName";   private static final…
近期刚上班,做了一个应用,要上线.測试天天測试,天天有bug,个人总结了几个常常忽略的地方: 1:在 继承 BaseAdapter 的 @Override public int getCount() { <span style="color:#ff0000;">return list == null ? 0 : list.size();</span> } 这里尽量这样写.不然有时会出现空指针异常的 总结敲代码要:严谨…
[Application] public class MyApp : Application { public MyApp(IntPtr javaReference, JniHandleOwnership transfer) : base(javaReference, transfer) { } public override void OnCreate() { base.OnCreate(); AndroidEnvironment.UnhandledExceptionRaiser += MyA…
Fragment(四)Fragment生命周期分析 转载请注明:http://blog.csdn.net/liaoqianchuan00/article/details/24271607   例子一 从Layout中加载Fragment:   假设我们有一个Activity的Layout中有两个Fragment: <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=…
近期 做些准备性得工作和有意思的事情.所以近期做了一个适合ios和android 错误信息捕捉的unity插件. 两个功能,app崩溃也就是闪退 是开发人员 非常头疼的一件事,还有就是一些莫名得错误 有时候也会困扰着我们.如今,unity已经封装得挺好了,及时出现数组越界,和空对象这样严重得错误也不会崩溃.听着挺好.可是这给开发人员带了非常多烦恼啊.由于有时候可能出错了 你要跟就不知道 ,在什么地方出得错误啊.所以我们要想办法去解决问题. 我们都知道及时app崩溃,事实上后台还是在执行得 仅仅只…
AS无法加载so包异常 android studio导入so包异常:Couldn't load DeviceAPI from loader dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.cloudnet.miniwms-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.cloudnet.miniwms-1, /vendor/lib, /syste…
第一步.导入第三方jar包 Android实现发送邮件,首先需要依赖additional.jar.mail.jar和activation.jar这3个jar包. Google提供了下载地址:https://code.google.com/archive/p/javamail-android/downloads . 下载后添加到依赖(这里我就不详细说明了). 第二步.创建相关类 1.创建MailInfo类,来代表一个即将被发送的邮件 package com.chuanye.maidian.mail…
记录项目中的android零碎知识点,用以备忘. 1.android 自定义权限 app可以自定义属于自己的权限: <permission android:description="string resource" android:icon="drawable resource" android:label="string resource" android:name="string" android:permissio…