![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
ng2Kaming
Reading the fucking source code!
展开
-
Service.onStartCommand() 返回值详解
温故而知新,最新在复习的时候,突然发现又学到了不少东西。我们开启一个服务的时候,会调用onStartCommand()方法。 onStartCommand源码:private boolean mStartCompatibility = false; public int onStartCommand(Intent intent, int flags, int startId) {原创 2015-06-02 13:35:02 · 806 阅读 · 0 评论 -
组件间的数据传递
温故而知新,可以为师,咦…切入正题,下面介绍五种组件间的数据传递: 使用intent.putExtras() 我们最常用的一种方式,Intent对象适用于两个组件间点对点的数据传递,而不适合多个组件共享数据的场景。如果组件间需要传递的数据过大,那就不要全部读入到intent的extras中进行序列化传递,而应将数据放在外存储设备中,通过URI传递。一般我们startActivity中传递对象,那么原创 2015-06-02 16:22:42 · 688 阅读 · 0 评论 -
android 处理空listview
相信大多数人处理listview为空的时候,压根就是不处理,这样造成很不好的用户体验。 在ListView中的setEmptyView(view),可以避免空列表,也就是加载一个view来代替当listview为空的情况。main.xml <FrameLayout android:layout_width="match_parent" android:layout_原创 2015-10-05 17:29:38 · 530 阅读 · 0 评论 -
android 编译apk移除log日志
移除log日志的方式可能有很多种: 比如有些人用一个标识来移除if(BuildConfig.DEBUG){ Log.d(TAG,"xxxx"); }我认为移除日志的最佳方法是使用 ProGuard工具。 当我们编译android project的时候,我们可以在项目根目录找到一个名为proguard-project.txt的文件。有了这个文件,并不意味着ProGuard的功能默认是生效的原创 2015-10-03 17:33:50 · 2773 阅读 · 0 评论 -
使用Activity和Delegate与Adapter交互
通过委托模式(Delegation Pattern)可以帮助我们把所有业务逻辑从Adapter中移动到Activity。 我们创建一个sample,通过该project可以向列表中添加电话号码,列表中每一行都有一个remove按钮,用于删除电话号码。 思路:在适配器中实现“remove”按钮的点击处理,但是并不在适配器中实现删除对象的方法。我们通过一个委托接口调用Activity的方法删除对象。原创 2015-10-09 00:40:56 · 1822 阅读 · 0 评论