摘要:
今天看了一下项目中用到的ViewFlow控件,想弄明白其工作原理。从头开始分析,卡在“滚动”这儿了。做android也快两年了,连最基本的滚动都不熟悉,真是惭愧。。。遂网上找资料,很容易的在google前排找到此文章:Android Scroller类的详细分析http://blog.csdn.net/gemmem/article/details/7321910很受启发,学习之后总结一下自己的心得。文章中的内容这里就不再重复了。如文章中所写,在弄明白滚动的原理之前,需要先明白computeScroll() 这个方法。computeScroll()是View类的一个空函数,在父容器重画自己的孩子 阅读全文
摘要:
无意中搜索到这篇文章,大概扫了一眼,知道是篇好文,先转载记录下来学习!文章主要讲的是自定义view的写法心得。转自:http://www.apkbus.com/android-48445-1-1.html在android应用程序的开发过程中,相信我们很多人都想把应用的交互做的比较绚丽,比如让界面切换平滑的滚动,还有热度灰常高的伪3D等界面效果,通常情况下,系统提供的应用在特效这方面只能为我们提供简单的动画接口,所以要想实现比较酷炫的效果还是要自己去开发布局控件(即所谓的自定义View、ViewGroup)。小弟也经常做一些自定义的控件,最近工作比较清闲,所以便将自己对自定义布局控件的一些心得写 阅读全文
摘要:
昨天把当前的项目配置进部门已经搭好的build环境,之后可能还要扩展维护,现在记录一下对其的理解。整个build环境其实就是一台windows的虚拟机,通过写好的批处理文件,自动检出svn代码,使用ant自动编译代码,并将编译完的可安装包copy到共享目录里,并自动发邮件给指定的人员,通知安装包的地址和每天的svn提交记录。这是一套挺强大的东西,嗯...强大在哪里我就不描述了...说一下关键词吧:虚拟机、远程登录、批处理、ant、jdk、svn、androidSDK、邮件等...大概的执行流程,就直接按脚本里的描述写了(Auto Daily Build Tool): 1.init envir. 阅读全文
摘要:
转自:http://blog.csdn.net/helixiuqqq/article/details/6610199本文介绍对象的强、软、弱和虚引用的概念、应用及其在UML中的表示。1.对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到低依次为:强引用、软引用、弱引用和虚引用。图1为对象应用类层次。图1⑴强引用(StrongReference) 强引用 阅读全文
摘要:
转自:http://blog.csdn.net/arui319/article/details/7033698为什么需要反馈Crash报告?做Android应用程序,要尽量避免程序Crash的发生。虽然说零Crash是程序员追逐的最终目标,但是现实的情况是,程序员只能尽量的减少Crash的发生,而几乎不可能完全杜绝Crash。也许,你认为你的应用的健壮性已经近乎完美,轻松的经受住了测试部门魔鬼般的考验,但是当你的应用发布到市场,面对百万甚至千万级别的用户的时候,可能就没有那么幸运了。基于以上原因,一般的应用程序,都要有一个Crash反馈的机制。程序员可以根据反馈的结果,对当前的版本的代码进行改 阅读全文
摘要:
本地缓存 异步下载 大家都知道,在android应用中UI线程5秒没响应的话就会抛出无响应异常,对于远程获取大的资源来说,这种异常还是很容易就会抛出来的,那么怎么避免这种问题的产生。在android中提供两种方法来做这件事情:启动一个新的线程来获取资源,完成后通过Handler机制发送消息,并在UI线程中处理消息,从而达到在异步线程中获取图片,然后通过Handler Message来更新UI线程的过程。 使用android中提供的AsyncTask来完成。 具体的做法这里就不介绍了,查下API就可以了,或者是google、baidu下。这里主要来说本地缓存。 本地缓存 ... 阅读全文
摘要:
ScrollView中嵌套ListView或ExpandableListView会产生什么问题就不说了,懒- -直接说解决办法吧: 其实还是需要计算出adapter的所有item的高度,再设置给listiew。上代码,是一个封装好的方法,在listview.setAdapter()之后调用此方法就行了 public static class Utility { public static void setListViewHeightBasedOnChildren(ExpandableListView listView) { //获取ListV... 阅读全文
摘要:
转自:http://www.cnblogs.com/codingmyworld/archive/2011/09/12/2174255.html作为一个大三的预备程序员,我学习android的一大乐趣是可以通过源码学习google大牛们的设计思想。android源码中包含了大量的设计模式,除此以外,android sdk还精心为我们设计了各种helper类,对于和我一样渴望水平得到进阶的人来说,都太值得一读了。这不,前几天为了了解android的消息处理机制,我看了Looper,Handler,Message这几个类的源码,结果又一次被googler的设计震撼了,特与大家分享。android的消 阅读全文
摘要:
【转】对于Android开发者来说深入了解Java的集合类很有必要主要是从Collection和Map接口衍生出来的,目前主要提供了List、Set和Map这三大类的集合,今天Android吧(ard8.com)就他们的子类在标准情况和多线程下的性能做简单的分析。 Collection接口主要有两种子类分别为List和Set,区别主要是List保存的对象可以重复,而Set不可以重复,而Map一般为key-value这样的对应关系,比如我们常用的HashMap。一、List 主要有ArrayList、LinkedList、Vector和Stack有关这些子类的性能,Android开发网从插入.. 阅读全文
摘要:
今天在项目中发现出现一个bug:下载文件到SD卡时,如果连接数据线至PC,并且手机选择大容量存储模式的时候,软件就崩溃了。修改很简单,在选择大容量存储模式,及离开的时候系统会发送一个广播来通知的,只要监听接收这个广播就行。查阅资料之后,得知与之相关的action是: Intent.ACTION_UMS_CONNECTED; Intent.ACTION_UMS_DISCONNECTED;查看常量的介绍:Apps should listen for ACTION_MEDIA_MOUNTED and ACTION_MEDIA_UNMOUNTED broadcasts to be notified.. 阅读全文