2014-09-19 码农明明桑
在开发中经常会有一些需求,比如显示头像,显示一些特殊的需求,将图片显示成圆角或者圆形或者其他的一些形状。但是往往我们手上的图片或者从服务器获取到的图片都是方形的。这时候就需要我们自己进行处理,将图片处理成所需要的形状。正如茴香豆的的“茴”写法大于一种,经过我的研究,画出特殊图片的方法也不是一种,我发现了三种,且听我一一道来。 more 使用Xfermode 两图相交方式 通过查找资料发现android中可以设置画笔的Xfermode即相交模式,从而设置两张图相交之后的显示方式,具体模式见下图,源码可以去android apidemo。(SRC 为我们要画到目标图上的图即原图,DST为目标图) 由上图可以看到,如果我们需要画 继续阅读 »
2016-10-28 Roger
Android 插件化框架 DL 学习笔记 早在两年前, android 的插件化技术就火得不行,一直只是浅略的翻看一些博客,没有深入研究其原理及其所使用到的新技术,这段时间恶补了一下这方面的知识,准备在博客中记录一下,做一些输出,加深理解。 继续阅读 »
2014-05-31 码农明明桑
当前是有些工具比如apktool,dextojar等是可以对我们android安装包进行反编译,获得源码的。为了减少被别人破解,导致源码泄露,程序被别人盗取代码,等等。我们需要对代码进行混淆,android的sdk中为我们提供了ProGrard这个工具,可以对代码进行混淆(一般是用无意义的名字来重命名),以及去除没有使用到的代码,对程序进行优化和压缩,这样可以增加你想的难度。最近我做的项目,是我去配置的混淆配置,因此研究了一下,这里分享一下。 如何启用ProGuard ant项目和eclipse项目启用方法 在项目的project.properties文件中添加一下代码 proguard.config=prog 继续阅读 »
2018-09-21 Roger
Android Accessibility 的少许开发经验 What's Accessibility 简单来说 Accessibility 就是为了让一些残障人士也能正常使用手机或 App 的基本功能,主要包括 Talkback ,视弱的支持等,具体参见:https://developer.android.com/guide/topics/ui/accessibility/ 继续阅读 »
2016-03-17 Roger
android:process 的坑,你懂吗? 许多知识知其然而不知其所以然,这也许就是大神与菜鸟的区别吧。 最近排查问题时发现一个问题: 一个在 Application 中启动的定时任务在运行时会被调用多次,诡异的很,最后发现是一个前人留下的坑,原因就是对 android:process 不知其所以然造成的。 继续阅读 »
2017-09-18 Roger
Android 追加流生成 Mp4 文件技术方案(支持中断继续生成) 背景 Android 中 Mp4 文件的生成主要是通过 Mediacodec 将摄像头采集到的视频从 YUV 格式转成 h264 ,再通过 MediaMuxer 将 h264 的视频流生成 mp4 文件,这个过程就不在赘述了, Google 一搜一大把,其中需要注意的是在将 YUV 数据送入 Mediacodec 中之前需要将 YUV 格式从 NV21 转换成编码器能接收的 I420 格式,建议这个过程使用 JNI 来提高效率, java 的实现方式可以参考一下方法: 继续阅读 »
2017-01-11 Mystery0 M
之前和朋友一起写一个Android APP,代码不算难,只是要我们一起写,这就出了一些代码合并上以及同步的问题。 今天讲的主要是GitHub上分支保持与主干源码同步的问题。 之前使用的时候就是项目挂在笔者的GitHub上,别人修改的代码提交一个pull request就能够合并到主分支中,但是一直没解决的问题是主分支代码更新了,但是别人的fork的仓库却并没有更新,这个问题课难倒了我们,弄了几次都没成功,后来就一直删除仓库,重新fork来保证代码的更新。 现在,这个问题终于解决了。 我来简单写一下解决步骤: 1.下载git客户端 相信如果要用Android studio的提交,应该都下载了git并且配置完毕。 2.启动命令 继续阅读 »
2017-05-18 码农明明桑
Google IO大会进行中,本次大会Android最大的新闻当属Android O以及Kotlin被官方认可。我发现了原来还有发布官方的架构库,以及推荐使用指南,分享给大家。 架构原则 关注分离 模型驱动UI,优先持久化模型 more 新架构 如上图所示,为新的架构模式: Activity/Fragment UI层,通常是Activity/Fragment等 监听ViewModel,当VIewModel数据更新时刷新UI 监听用户事件反馈到ViewModel。 ViewModel 持有保存,或者想Repository来获取UI层需要的数据 响应UI层的事件,执行响应的操作 响应变化,并且通知到UI 继续阅读 »
2015-04-17 Roger
最近在本地编译Settings环境的搭建上走了点弯路,现在记录一下,希望能帮到有需要的同学。 1.解除ADT对android内部API的使用限制: 进入 eclipse的plugins文件夹,找出名为com.android.ide.eclipse.adt_*.jar的文件。做一个备份(以防修改错了),另外复制一份改文件到一个单独的”experimental”文件夹,在那里进行字节码修改。修改*.jar为*.zip,解压文件到一个单独的文件夹,下面就是我所得到的: 继续阅读 »
2012-03-01 Jamling
简介 本文简述的是在Android平台如何自动发送邮件(没有邮件编写界面),主要应用场景为忘记密码等安全等级较高的操作,比如我忘记密码了,点击“发送密码到我的邮箱”系统会将密码发送到注册时的电子邮件地址。 more Android平台邮件客户端 继续阅读 »