Android系统中Parcelable和Serializable的区别

进行Android开发的时候,我们都知道不能将对象的引用传给Activities或者Fragments,我们需要将这些对象放到一个Intent或者Bundle里面,然后再传递。

通过Android的API,我们知道有两种选择,即在传递对象时,需要对我们的对象进行 Parcelable 或者Serializable化。作为Java开发者,相信大家对Serializable 机制有一定了解,那为什么还需要 Parcelable呢?

阅读全文 »

Android扫描多媒体文件剖析

这篇文章从系统源代码分析,讲述如何将程序创建的多媒体文件加入系统的媒体库,如何从媒体库删除,以及大多数程序开发者经常遇到的无法添加到媒体库的问题等。本人将通过对源代码的分析,一一解释这些问题。

阅读全文 »

Android存储挖坑记

最近在搞Android存储相关的业务,什么Internal/External/Primary/Secondary搞得我都看懵了,国内也没什么好的文章系统的讲这个,我就挖挖各类资料,整理一下。

阅读全文 »

AndroidStudio关联自己下载的android source方法

最近一直在使用AndroidStudio进行程序开发,从0.5一直使用到现在的0.8.2,突然今天想关联一下自己下载的CM11的androidsource,突然发现我们基于Gradle的工程怎么也无法关联自己下载的androidsource,只能关联SDK中下载的source,翻遍了AndroidStudio的设置也没有找到设置soucepath的地方,问了同事也没有解决,上网搜索结果人家的截图是这样的:

阅读全文 »

Android6.0系统适配桌面歌词效果

在360手机助手及各家的音乐播放器软件上,都使用了桌面浮动窗功能,桌面歌词都是在音乐客户端显示在前台时隐藏,在用户把软件切换到后台后显示出来,此效果在Android 6.0以前,大部分都是使用系统的ActivityManager系统类的getRunningAppProcesses或getRunningTasks(Android5.0需要多判断一步)来进行软件前后台状态的判断,然后使用WindowManager进行浮动窗控件的增加和删除实现桌面歌词的显示与隐藏。但在Android6.0后,如果是使用SDK中6.0的编译工具编译的App,ActivityManager的方法和WindowManager的方法都有权限问题,不能简单直接的使用了。下面通过一个模仿桌面歌词效果的例子,来说明6.0上的实现。

阅读全文 »