摘要: 工作需要,要对接阿里妈妈的广告聚合平台,简称AFP。对于一般的应用而言,想要流量变现,广告是显而易见的手段,尤其是在中国,打开一个千万级别的用户,肯定有某个地方是有对接广告的,只不过明不明显而已。 阿里妈妈的AFP广告聚合平台说穿了,就是一个平台聚合了多个第三方平台,像是百度,广点通,由他们平台来接 阅读全文
posted @ 2016-11-01 13:17 文酱 阅读(1763) 评论(0) 推荐(0) 编辑
摘要: 策略模式并没有表面上那么高深,相反,它的实现意图非常浅显,就是我们程序员实在不想在判断一大堆条件后写一些基本上都差不多的代码(即算法的变体,明明是同一种算法,只是因为输入不一样就要重复一次),烦!没错,就是这种感觉,催生这种模式。我相信,当初设计这种模式的家伙一定是忍无可忍了。 为讲解策略模式,我特意准备一个活用策略模式的接口类---Collections.sort这个方法中的comparator。 comparator使用了策略模式(有些人会有异议,认为这应该是模板方法,这里暂且搁置这些争议),基本上,我对于List元素的排序都是使用它,因为自己也做过测试,它的运行效率并不比任何排序... 阅读全文
posted @ 2012-10-26 21:22 文酱 阅读(2653) 评论(2) 推荐(0) 编辑
摘要: 三个部分,检查项目和读取基本配置,Gradle Build,Apk Install和LaunchActivity。 应用安装到手机,会复制APK安装包到data/app目录下,解压并扫描安装包,把dex文件保存到dalvik-cache目录,并在data/data目录下创建对应的应用数据目录。 阅读全文
posted @ 2018-01-06 21:28 文酱 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 从类图上来看,MVP都是一个业务一个Presenter,每个Presenter都是一个接口,它还包含了View的接口,用于定于和View相关的行为,然后Activity等业务类实现View的接口,因为UI有关的操作只能在UI线程。 采用MVP模式,和View相关的接口都要由业务类实现,自然,业务类本 阅读全文
posted @ 2017-10-18 11:36 文酱 阅读(4313) 评论(0) 推荐(0) 编辑
摘要: Gradle是Android Studio默认的构建工具,如果是基本的APP开发,不会涉及到Gradle太多内容,毕竟它的诞生就不是专为Android服务的。 日常开发需要涉及到使用Gradle的场景相当有限,比较频繁的就是对应库,如jar,.so文件的导入,如果应用本身方法数比较多,尤其是导入太多 阅读全文
posted @ 2017-06-08 19:39 文酱 阅读(21958) 评论(2) 推荐(4) 编辑
摘要: 我们在开始微信小程序开发的时候,对JS,HTML等前端知识一无所知,完完全全就是门外汉在尝试一个新的方向。 在下载好开发工具,微信就已经提供了一个DEMO例子: 从程序开发的角度来看这个陌生的目录结构,pages是存放页面的,utils是存放工具类的,而app开头的三个文件既然放在根目录级别,那么按 阅读全文
posted @ 2017-06-05 17:57 文酱 阅读(4203) 评论(0) 推荐(0) 编辑
摘要: ListView是我们开发中最常用的组件之一,在以往的PC端组件开发中,列表控件也是相当重要的,但是从桌面端到移动端,情况又有新的变化。 移动端的屏幕并不像桌面端那么大,并且移动端不可能把所有的内容都一下子展现出来,因为Android系统分配给一个应用的内存是有限的,而任何显示在组件上面的内容都是加 阅读全文
posted @ 2016-12-26 00:13 文酱 阅读(690) 评论(0) 推荐(0) 编辑
摘要: 以前都是在Windows平台上开发,在配置一些框架的时候,为了能够在命令行中调用,一般都会配置bin目录到环境变量中,这是为了让命令行在执行的时候,能够查找到对应的执行文件。 现在工作使用Mac,配置环境变量不能像以前那样,有可视化的窗口设置,同样需要自己在命令行中进行操作。 首先,我们需要打开Ma 阅读全文
posted @ 2016-12-06 21:52 文酱 阅读(4199) 评论(1) 推荐(0) 编辑
摘要: 最近项目中需要实现手势上滑或者点击滑出界面的效果,实现上是利用GestureDetector,然后在onFling中判断,但遇到一个问题:手势上滑是针对整个布局的,但如果有对单独的View设置点击监听,在该View上的手势上滑会失效。 如果这个View本身就是专门用于点击的,那并没有什么问题,可惜的 阅读全文
posted @ 2016-12-01 12:26 文酱 阅读(1687) 评论(0) 推荐(0) 编辑
摘要: 自从Android在3.0推出Fragment之后,现在很多应用的设计都是建立在Fragment的基础上,像是多个tab切换这种需求,就可以使用Fragment,并且Fragment提供了一系列生命周期的回调,可以帮助我们实现很多特殊的需求,像是数据保存和恢复等。 Fragment本身的出现是为了解 阅读全文
posted @ 2016-11-18 16:28 文酱 阅读(1367) 评论(1) 推荐(1) 编辑
摘要: 在实现策略模式的时候,我们习惯用switch-case来代替if-else if-else,在代码结构上会更加清晰,但这也只是从代码结构这个层面上来考虑,我们可以从代码速度上来考虑设计问题。 无论是switch-case还是if-else if-else的设计,都会遇到一个问题:如果判断的条件很多, 阅读全文
posted @ 2016-11-15 21:27 文酱 阅读(1163) 评论(2) 推荐(1) 编辑
摘要: 日常的开发工作经常需要ListView作为布局的组件,而且很多时候都会遇到需要自定义ListView的情况。 也有些问题并不需要自定义的ListView,基于原生的ListView就能实现,但需要灵活处理Adapter。 我们现在就遇到一个棘手的问题:原本的下拉刷新ListView是单个item的刷 阅读全文
posted @ 2016-11-12 21:23 文酱 阅读(1477) 评论(0) 推荐(1) 编辑