通用的 Android 客户端架构设计 (mp.weixin.qq.com)
主要从以下几个方面进行设计:MVP设计风格、整体架构、日志系统、网络系统、本地存储、Test模块.
by @code小生 2018-07-15 22:22 分享 查看详情
祖传代码的重构体验 (mp.weixin.qq.com)
相信很多同学对于祖传代码都有极其恐怖的体验,不改他难以维护、难以支撑新业务,改了又会冒出一堆莫名其妙的 bug,而且,当这些代码以模块的形式大量的出现在工程中时,估计想死的心都有了。
by @code小生 2018-07-07 14:11 分享 查看详情
App 版本更新接口的设计 (mp.weixin.qq.com)
工作这几年碰到的版本检测升级的接口也算是五花八门,啥样的都有,但肯定有的功能是有个apk的下载链接,能间接或直接提示你是强制还是非强制更新
by @code小生 2018-07-07 14:10 分享 查看详情
2018 Android 面试心得,已拿到 offer (mp.weixin.qq.com)
从 16 年毕业至今,就职过两家公司,大大小小项目做了几个,非常感谢我的两位老大,在我的 android 成长路上给予我很多指导,亦师亦友的关系。

从年前至今参加面试了很多公司,也收到了几家巨头的offer,还有其他公司的。总结下经验,也是对过去的一个回顾和总结吧。
by @code小生 2018-07-03 21:15 分享 查看详情
Android 开发之漫漫长途 XV——RecyclerView (mp.weixin.qq.com)
上文我们很详细的分析了ListView的使用、优化、及ListView的RecycleBin机制,读者如果对ListView不太清楚,那么请参看我的上篇博文。不过呢,Google Material Design提供的RecyclerView已经逐渐的取代ListView。RecyclerView提供了一种插拔式的体验,高度的解耦,异常的灵活,通过设置它提供的不同LayoutManager,ItemDecoration , ItemAnimator实现令人瞠目的效果。
by @code小生 2018-07-03 21:14 分享 查看详情
优化你的代码结构 --- MVP (mp.weixin.qq.com)
Most Valuable Player(最有价值运动球员)? 不不不,虽然我很喜欢看nba,但此MVP非彼MVP。
这里的MVP是指安卓中的一种开发模式。
它将代码整体分为M(Model)、V(View)、P(Presenter)三层。
by @code小生 2018-07-03 21:13 分享 查看详情
怎样在 Android 面试中聊聊多线程 (mp.weixin.qq.com)
多线程可以说是Android面试的高频问题了, 而多线程涉及的内容非常多, 因此在面试当中往往不知道从何说起, 本文并不是为了科普多线程或者研究多线程的知识, 而是尝试组织语言以便在面试当中更好地忽悠面试官.
by @code小生 2018-07-03 21:13 分享 查看详情
Android 系统各个版本上https的抓包 (mp.weixin.qq.com)
https 的客户端和服务器端的请求流程,加了Charles之后对请求有什么影响(中间人攻击)
我们原来怎么抓https包的
Android 7.0 (api 24 ) 和 targetSdkVersion 对抓包的影响
开发者对自己app的抓包,
逆向工程师对别人app的抓包
有 CA 签名的证书访问https的app和自签名证书app
微博和我们自己的app
设置 VirtualApp 为debug模式,并且设置VA 的targetSdkVersion <24
by @code小生 2018-07-03 21:12 分享 查看详情
Android-指纹解锁技术 (mp.weixin.qq.com)
根据人的指纹来验证是否能够解锁的技术,类似于通过输入密码来解锁,都是通过一定的数字特征来解锁。
by @code小生 2018-07-03 21:12 分享 查看详情
记自己 2018 年三月份的面试经历 (mp.weixin.qq.com)
过完年后,又是一波招聘热季,各种好公司、好岗位都在拼命招揽人才。自己也考虑到以后的发展和更好的工作还有未来,整天处于焦虑和烦恼的状态,看看自己现在拿到的工资,不多。所以为了改变这局面,打算下海试试水。
by @code小生 2018-04-15 16:37 分享 查看详情
记一次逆向 Android 的经历 (mp.weixin.qq.com)
因工作或生活上的某些原因不得不使用某应用,暂且记为A应用把。可 A 应用设计得实在不人性化,一个操作通常需要点击若干次屏幕,点击一次还要 lodaing ,程序员说:不能忍。
by @code小生 2018-04-15 16:36 分享 查看详情
碎阅:一款基于 douban 及 ONE API 开发的资讯类 App (mp.weixin.qq.com)
一款基于douban及ONE API开发的资讯类的开源项目。项目采取的是okhttp + MVP架构开发。
by @code小生 2018-04-15 16:35 分享 查看详情
Gson 解析服务端返回的多种类型的 JSON (mp.weixin.qq.com)
遇到几种Json类型,使用Gson通过自定义解析器解析一下几种类型的返回数据。
by @code小生 2018-04-15 16:35 分享 查看详情
Android O 适配 Notification Channel (mp.weixin.qq.com)
从Android 8.0(API 26)开始,所有的 Notification 都要指定 Channel(通道),对于每一个 Channel 你都可以单独去设置它;比如通知开关、提示音、是否震动或者是重要程度等;这样每个应用程序的通知在用户面前都是透明的。
by @code小生 2018-04-15 16:34 分享 查看详情
Android Oss 上传图片的使用 (mp.weixin.qq.com)
前一阵项目中的上传图片改为上传到阿里上,记录一下实现的过程,方便以后查看。
参考资料:官方文档
by @code小生 2018-04-15 16:34 分享 查看详情
一年经验 Android 面试记录 (mp.weixin.qq.com)
这个调试过sdk的源码,断点调试大法好。从 activity 的 dispatchTouchEvent->phoneWindow->frameLayout->viewGroup->view
中间提了下,viewGroup dispatchTouchevent 的 action_down 和firstTouchTarget 那里的逻辑,顺便解释了为什么第一次拦截后,viewGroup 后续不再调用 OnIntercept 直接拦截的原因。
by @code小生 2018-04-11 19:44 分享 查看详情
腾讯开源:微信和移动开发的 10 大项目 (mp.weixin.qq.com)
腾讯开源了许多非常有价值的项目,下面我们一起来看看腾讯10大开源项目有哪些?
by @code小生 2018-04-11 19:44 分享 查看详情
Fragment最佳实践 (mp.weixin.qq.com)
上一篇文章中详细分析了Fragment相关知识,那么作为“小Activity”,Fragment能做什么呢,如何使用Fragment得到最佳实践呢。
by @code小生 2018-04-11 19:43 分享 查看详情
Android 架构组件 Room 介绍及使用 (mp.weixin.qq.com)
Room是Google官方提供的数据库ORM框架,使用起来非常方便。Room在SQLite上提供了一个抽象层,以便在利用SQLite的全部功能的同时能更加流畅的访问数据库。
by @code小生 2018-04-11 19:43 分享 查看详情
Android SDK开发与使用的那些事儿 (mp.weixin.qq.com)
最近由于工作需要,将应用里的部分功能独立了出来,封装成 SDK 提供给合作伙伴使用。由于经验不足,网上也没多少写这方面内容的文章,遇到了不少的坑,决定记录下来。
by @code小生 2018-04-11 19:42 分享 查看详情