摘要: 大家都知道,现在安装Android系统的手机版本和设备千差万别,在模拟器上运行良好的程序安装到某款手机上说不定就出现崩溃的现象,开发者个人不可能购买所有设备逐个调试,所以在程序发布出去之后,如果出现了崩溃现象,开发者应该及时获取在该设备上导致崩溃的信息,这对于下一个版本的bug修复帮助极大,所以今天就来介绍一下如何在程序崩溃的情况下收集相关的设备参数信息和具体的异常信息,并发送这些信息到服务器供开发者分析和调试程序。我们先建立一个crash项目,项目结构如图:在MainActivity.java代码中,代码是这样写的:[java] view plaincopy 1 2 3 4 5 6 7 8 阅读全文
posted @ 2013-10-18 17:09 獨樂 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 有时一个属性需要用到多个值,例如要求居左的同时也要求靠底部:android:gravity="left|bottom"多个属性值间用 “|” 连接即可,无需空格。 阅读全文
posted @ 2013-10-18 15:46 獨樂 阅读(583) 评论(0) 推荐(0) 编辑
摘要: 异常场景:经常在应用中需要处理一些耗时的工作,诸如读取大文件、访问网络资源等。为了避免因程序假死而带来的糟糕用户体验,通常我们可以通过线程+Handler或者Android提供的AsyncTask来解决该问题,并一般以ProgressDialog等提示性控件来告知用户当前的程序进度。而标题中描述的异常则会常常出现在这样的场景中,并且往往掩盖了导致异常的真正的罪魁祸首。问题原因:从异常描述中,大致的意思是存在窗口句柄泄露,即未能及时销毁某个PhoneWindow。而这往往误导了我们,把过多的精力放在查找所谓的内存泄露上了。其实存在这么一种情况,即因我们在非主线程中的某些操作不当而产生了一个严重的 阅读全文
posted @ 2012-11-22 17:38 獨樂 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 错误状况: ListView分页加载 , 用户滚动到最底部的时候,添加FooterView,提示用户正在加载,然后加载完毕后移除FooterView. 但是出现了以下问题 : 在执行removeFooterView后,造成了ListView的OnItemClick事件无效.问题原因:经多方搜索,查证. 可能这个问题是Google的一个Bug.在OnScroll里执行Remove操作可能会造成页面假死.看一下出错代码:public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int tota 阅读全文
posted @ 2012-11-20 13:20 獨樂 阅读(3594) 评论(0) 推荐(0) 编辑
摘要: 正则表达式是校验的好办法之一。一、先看Android里的用法1、例子:“姓名不得包含非中文” 校验String name = et_name.getText().toString();if(!name.matches("[\u4e00-\u9fa5]+")){ ShowMessage("姓名不得含有非中文字"); return false; }二、正则表达式的原理高手都写得很详细了,有兴趣请参考(我是看不明白,只懂用法,哈哈):http://www.cnblogs.com/babyking/archive/2011/04/07/2007734.html三 阅读全文
posted @ 2012-10-31 17:01 獨樂 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1、我们写的程序是给用户用的,不只是自己用来欣赏的。 阅读全文
posted @ 2012-10-31 16:16 獨樂 阅读(145) 评论(0) 推荐(0) 编辑
摘要: Eclipse开发Android程序在手机上运行 Android虚拟机运行太慢,而且许多功能,如平衡传感器、电池剩余计量等,需要手机才能进行测试。因此直接在手机上调试运行程序是好办法。 一、安装手机驱动: 不同的Android手机有对应不同的驱动,使用Android的USB驱动似乎不行,最好还是使用手机配套的驱动,一般采用手机助手安装。 二、将手机的USB调试模式打开: 在手机上选择“设置”→“应用程序”→“开发”→选择“USB调试”;三、通过eclipse上真机测试 没用真机时,用eclipse开发android程序都是点run,然后跑模拟器的。安装好手机的usb驱动后,还是点ru... 阅读全文
posted @ 2012-10-26 10:12 獨樂 阅读(2598) 评论(0) 推荐(0) 编辑
摘要: 自从Android 2.2版本开始,Android系统引入了一个全新的功能——APP2SD,这个功能让Android系统允许将应用程序安装到SD卡上面,一方面节约出更多的RAM空间,另一方面也允许应用程序扩大自身的体积。 但是仅仅Android系统支持APP2SD,这样还是不够的,应用程序如果不经过处理,仍然会一如既往的转进RAM里。这是因为Android系统保持向后兼容的特性。那么,如果让应用程序不装入RAM,而是装入SD卡呢?这需要在应用程序的Android清单文件manifest.xml的manifest元素里加入android:installLocation属性。其值为:perf... 阅读全文
posted @ 2012-09-13 16:26 獨樂 阅读(2182) 评论(0) 推荐(0) 编辑
摘要: 其原因是cygwin 脚本是用UNIX的EOL“/n".而自己的脚本用了DOS的 EOL , "/n/r".解决方法: 对/home/XXX(你的主机名)下的 .inputrc、.bashrc、.bash_profile和/etc下的 bash.bashrc、运行dos2unix 就行了。方案一: 1. 用记事本打开.bashrc,删除所有空白行,包括最后面的 2. 用UE打开/home/XXX(你的主机名)下的.bashrc文件,然后再关闭以后就可以了 3.我觉得还是.bashrc里环境变量的设置的字符问题,用linux命令vi.bashrc打开文件看看,有没有 阅读全文
posted @ 2012-03-29 17:37 獨樂 阅读(11352) 评论(0) 推荐(0) 编辑
摘要: StringADD_SHORTCUT_ACTION动作:在系统中添加一个快捷方式。."android.intent.action.ADD_SHORTCUT"StringALL_APPS_ACTION动作:列举所有可用的应用。输入:无。"android.intent.action.ALL_APPS"StringALTERNATIVE_CATEGORY类别:说明 activity 是用户正在浏览的数据的一个可选操作。"android.intent.category.ALTERNATIVE"StringANSWER_ACTION动作:处理拨 阅读全文
posted @ 2012-03-14 09:04 獨樂 阅读(337) 评论(0) 推荐(0) 编辑