面试算法代码知识梳理系列 面试算法知识梳理(1) – 排序算法 面试算法知识梳理(2) – 字符串算法第一部分 面试算法知识梳理(3) – 字符串算法第二部分 面试算法知识梳理(4) …
分类:移动开发
Android 一起来看看 HttpURLConnection 和 HttpClient 的区别
前言 最近在看 Volley 的源码,发现里面的网络请求方式很有意思,在 Android 2.3 及以上用的是 HttpURLConnection,2.2 及以下用的是 HttpClient。秉着好奇心找到一篇有关的文章…
Java基础算法:堆排,快排,二分查找
Java基础算法:堆排,快排,二分查找 1. 堆排 满二叉树:所有叶结点都有同样的深度,每个内部结点都有两个儿子 完全二叉树:若二叉树的高度为h,除第h层外,其他各层(1 ~ h -1)的结点数都达到了最大个数,第h层从…
Android Gradle 指定 Module 打包
项目中有许多的可以直接独立运行的 Module ,如何在 Gradle 中将签名文件配置好了,那么就不需要普通的手动点击 Generate Signed APK,使用 Terminal更加方便. 指定Module打包命令…
靠谱的 Android 唯一设备号生成方案
应用开发中有时候也许会获取设备的唯一标识。Android 设备中获取唯一标识有多种方式,其中最常见的可以获取 IMEI、AndroidId 等方式,但是实际测试当中,有可能会发现其中的某些值获取不到,或者获取到空值。 那…
如何简单快速搭建 Android 大仓
书接上文,上回提到 B 站Android团队为了解决组件化后协作上的问题,已经采用了大仓(monorepo)的方案来组织代码。 国内实践大仓的团队少之又少,更别提 Android 的大仓了,几乎没有来自其它团队的可借鉴经…
Android插件化原理-Activity生命周期
在了解Android插件化原理之前,我们需要对Hook机制有一定的了解,具体可以阅读下面几篇文章: 1.Hook机制之动态代理 2.Hook机制之Binder Hook 3.Hook机制之AMS&PMS 我们知道…
adb命令
Android Debug Bridge:Android操作系统与桌面电脑间沟通的一个命令列工具 常用命令: 1. 显示当前运行的全部模拟器: adb devices 2. 对某一模…
Android高级进阶——View的工作原理(三)Draw过程
开篇: 前两篇已经详细的介绍了 Measure 以及 Layout 过程,就剩下一个 Draw 绘制过程了,Draw 其实也不是很复杂,但是想要彻底掌握绘制的技巧就需要了解 Canvas 的使用了,后续会再开几篇详细介绍…
我经历过的几次重构
最近准备推动团队产品进行代码重构,过程中遇到一些问题与困难,由此也回想起早年经历过的一些重构,其中有些并非我主导,在此简单记录,主要谈其中印象深刻的体会,不展开。 第一次重构 我刚参加工作不久,进入了一个刚刚重组成立的项…
Android之你不可不知道的小知识
打开软件安装页面 一般下载完APK文件之后,都要打开软件安装页面,提示用户进行安装,可以用以下方法(固定写法) Intent intent = new Intent(); intent.setAction("androi…
Android 的进程间通信 Binder——AIDL的入门使用(三)
进程间通信系列 AIDL的入门使用(一) AIDL的入门使用(二) AIDL的入门使用(三) Messenger的入门使用 序言: 1、AIDL的大致使用流程:首先是创建一个AIDL接口文件声明需要在客户端调用的接口,再…