Android Scroller简单用法

Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeScroll(),完成实际的滚动。

Read More

Intent传值和Bundle传值的区别

举个例子:我现在要从A界面跳转到B界面或者C界面
这样的话,我就需要写2个Intent,如果你还要涉及的传值的话,你的Intent就要写两遍添加值的方法。那么,如果我用1个Bundle,直接把值先存里边,然后再存到Intent中,不就更简洁吗?

另外一个例子:如果我现在有Activity A ,B ,C;
现在我要把值通过A经过B传给C
你怎么传?如果用Intent的话,A-B先写一遍,再在B中都取出来,然后在把值塞到Intent中,再跳到C,累吗?
如果我在A中用了Bundle的话,我把Bundle传给B,在B中再转传到C,C就可以直接去了。
这样的话,还有一个好处,就是在B中还可以给Bundle对象添加新的key-value,同样可以在C中取出来。

Read More

PendingIntent

在Android中,我们常常使用PendingIntent来表达一种“留待日后处理”的意思。从这个角度来说,PendingIntent可以被理解为一种特殊的异步处理机制。不过,单就命名而言,PendingIntent其实具有一定误导性,因为它既不继承于Intent,也不包含Intent,它的核心可以粗略地汇总成四个字——“异步激发”。
很明显,这种异步激发常常是要跨进程执行的。比如说A进程作为发起端,它可以从系统“获取”一个PendingIntent,然后A进程可以将PendingIntent对象通过binder机制“传递”给B进程,再由B进程在未来某个合适时机,“回调”PendingIntent对象的send()动作,完成激发。

Read More