android 引擎应用,基于Android平台的皮肤引擎的设计,实现及其应用

摘要:

近年来,随着移动网络和智能手机的日益普及,移动应用的数量也开始呈现爆炸式增长,海量的移动应用给用户和开发者带来了新的挑战和机遇.对用户而言,在海量移动应用满足了用户基本功能需求的情况下,他们对于移动应用个性化的倾向愈发明显;对开发者而言,在基本功能之外,通过支持移动应用个性化,不仅可以提高产品美感,增加用户粘度和归属感,而且可以将个性化皮肤作为一个新的盈利点,实现产品与利益的双赢,如微博和QQ.然而,在现有的Android框架内,主题机制并不能很好的支持应用的个性化换肤需求.主题机制虽然允许应用依据配置展示不同界面,但缺陷也很明显:其一,主题机制要求皮肤资源与应用一起打包,不允许用户根据喜好动态下载皮肤;其二,主题机制不能实现页面启动后动态更换皮肤.除原生方案外,在个性化方案上研究最多的即为各类输入法应用——以搜狗输入法为例.由于个性化需求在输入法类应用中优先级较高,产品设计时相当重视,因此大部分输入法类应用在实现之初就重写Android视图组件来实现个性化换肤.与该类应用不同的是,其他产品是在完成基本功能,迭代若干版本后才提出换肤需求,输入法类应用的重写方案修改量太大,不适合该场景.本文设计实现的皮肤引擎以Android平台为基础,使用Java反射机制对Android资源加载进行干预,在不影响原有界面实现方式的条件下,实现移动应用对特定图片,颜色等资源的定向抓取;在抓取特定资源后,皮肤引擎通过广播的方式全局刷新应用中的图片与颜色,无需重启换肤.目前,该方案在QQ音乐Android版本中得到了实践,整个实践主要分为两个部分,皮肤引擎和换肤管理模块.实践证明,在一个较为成熟的应用中,皮肤引擎凭借代码低倾入的优点,可以在一个月内完成接入以及换肤管理模块的开发.本文将结合皮肤引擎在QQ音乐Android版中的实践,详细介绍皮肤引擎和换肤管理模块的设计和实现.皮肤引擎具有以下优点:代码倾入性低,几乎无需对已有代码进行修改.支持一键换肤,换肤后无需重启应用,提高用户友好度.支持多个进程一起换肤,不会出现同一应用内皮肤不匹配的情况.兼容绝大部分机型,通过卡帕莱测试验证,支持99.5%的机型.

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值