![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 95
小柯基_littlecorgi
github:https://github.com/littlecorgi-twk
blog:https://www.littlecorgi.top/
展开
-
Jetpack源码 之 LiveData
0. 前言LiveData是Jetpack中一个响应式开发框架,官方文档对它的说明是一种可观察的数据存储器类,具有生命周期感知能力。有点类似于感知生命周期的RxJava。0.1 用法通常LiveData都是结合着ViewModel使用的,一般都是在ViewModel中创建LiveData:class MvvmViewModel : ViewModel() { // 通过MutableLiveData创建一个可读可写的LiveData // 设置为Private,避免外部对数据直接进原创 2020-08-22 16:31:21 · 344 阅读 · 0 评论 -
Android源码之SharedPreferences
0. 前言SharedPreferences可以说是Android中最常用的一种存数据到文件的方式。他的数据是以键值对的方式存储在 ~/data/data/包名/shared_prefs 这个文件夹中的。这个存储框架是非常轻量级的,如果我们需要存一些小数据或者是一个小型的可序列化的Bean实体类的,使用SharedPreferences是最明智的选择。1. 使用方法1.1 获取SharedPreferences在使用SharedPreferences前,我们得先获取到它。由于SharedPref原创 2020-07-05 22:06:46 · 541 阅读 · 0 评论 -
2019年Android寒假实习面经-小米+字节跳动(已拿抖音offer)
天学网一投过去HR就加我微信了,结果说我实习时间不合适,没给面试映客实习僧投递过去到现在都没看我简历小米-一面面向对象的理解Java三大特性内部类、匿名内部类finalstatic死锁特性synchronizedwait、sleep线程池Handler(什么时候和线程进行绑定的)Activity生命周期Activity启动模式ContentProvider...原创 2019-12-28 16:44:27 · 1951 阅读 · 2 评论 -
Android网络请求6--解析Glide缓存机制
1. 简介Glide缓存分为两部分,分别为内存缓存和硬盘缓存。其中内存缓存的主要作用是防止应用重复地将图片数据读取到内存中,而硬盘缓存的主要作用是防止应用重复从网络或其他地方重复下载和读取数据。内存缓存和硬盘缓存的配合才实现了Glide极佳的图片缓存效果。2. 缓存Key大家都知道,如果想缓存一个东西的话,必然会有对应的缓存key。那么Glide的缓存key在哪呢?首先我们来看下Engi...原创 2019-12-03 14:13:38 · 296 阅读 · 0 评论 -
Android消息机制之Handler 详解
简介作为一个Android开发者,Handler的大名你一定听过。做Android开发肯定离不开Handler,它通常被我们用来连通主线程和子线程。可以说只要有异步的地方一定有Handler。那么,你了解过为什么Handler能连通主线程和子线程吗,也就是说,你了解过Handler背后的原理吗?就让本文带你了解。Handler的基本用法按照惯例,我们首先看下Handler的一般用法:...原创 2019-11-17 14:40:51 · 308 阅读 · 1 评论 -
Android消息机制之ThreadLocal
简介ThreadLocal是一个线程内部的数据储存类,通过他可以在指定的线程中存储数据。数据存储以后,只有在指定的线程中可以获取到存储的数据,对于其他线程来说则无法获取。在源码中是这样写的:This class provides thread-local variables. These variables differ fromtheir normal counterparts in...原创 2019-11-08 23:00:19 · 349 阅读 · 0 评论 -
View的事件分发
从我刚进实验室的时候,学长学姐就说View的事件分发机制是Android里面一个很重要的内容,要我们好好学。但是随着自己对Android了解的深入,越发觉得这个东西很有必要了解下,正好Android艺术开发探索也看到了View这块,也看了郭霖大神的博客和另一位大神的博客,所以就好好学习了一番,并写了此博客。1. MotionEvent在开始讲View事件分发之前,我们先来了解下MotionE...原创 2019-10-31 22:57:13 · 207 阅读 · 0 评论 -
Camera2官方样例解读
样例地址:android/camera-samples/Camera2BasicJava/ - Github大家可以把项目下载到本地并用AndroidStudio打开了再看简介在Android5.0的时候,谷歌推出了Camera2API,较上一代Camera1,Camera2支持了很多Camera1所不支持的特性:更先进的API架构可以获取更多的帧信息、以及手动控制每一帧的参数对...原创 2019-10-26 22:13:45 · 1622 阅读 · 0 评论 -
ijkPlayer编译-Android
1. 简介ijkplayer是哔哩哔哩的一个开源视频播放框架,支持Android、iOS。底层是ffplay。Github地址:bilibili/ijkplayer2. 编译方法由于通过Gradle编译起来很慢而且一旦失败又得重头来,所以这块就使用AndroidNDK的方式来编译。2.1 编译之前首先你得配置好等会编译需要的东西。这块我们都会使用Homebrew来安装git和yasm。...原创 2019-08-06 19:47:42 · 594 阅读 · 1 评论 -
Android网络请求4--解析Retrofit源码
文章目录1. Retrofit简介2. Retrofit用法(异步)2.1 添加依赖2.2 添加网络权限2.3 创建 接收服务器返回数据 的类2.4 创建 用于描述网络请求 的接口2.5 创建Retrofit实例2.6 创建网络请求接口实例2.7 发送网络请求2.8 处理返回数据3. Retrofit源码3.1 Retrofit对象构造源码3.1.1 步骤1:Retrofit类3.1.2 步骤2:...原创 2019-08-06 17:05:50 · 398 阅读 · 0 评论 -
Android网络请求1--HttpClient与HttpURLConnection
文章目录1. HttpClient2.1 导入HttpClient2.2 HttpClient的Get1.3 HttpClient的POST2. HttpURLConnection2.1 HttpURLConnection的POST请求在早期的时候,Android上还没有像Volley、OkHttp、Retrofit这些优秀的开源库,如果想要使用网络请求的话,就只能自己封装HttpClient和...转载 2019-10-09 10:18:21 · 239 阅读 · 0 评论 -
Android网络请求2--解析Volley源码
本文大篇幅参考此篇文章,大家可以结合两篇文章看一下文章目录1. Volley简介2. 源码解析2.1 从RequestQueue入手2.2 CacheDispatcher缓存调度线程2.3 NetWorkDispatcher网络调度线程2.3.1 请求网络,得到`NetworkResponse`2.3.2 解析`NetworkResponse`, 得到`Response`:2.3.3 回调主...原创 2019-07-23 11:35:11 · 187 阅读 · 0 评论 -
Android网络请求3--解析OkHttp源码
文章目录1. OkHttp简介2. 源码解析2.1 OkHttp请求流程2.1.1 从请求处理开始分析2.1.2 Dispatcher任务调度2.1.3 Interceptor拦截器2.1.3.1 getResponseWithInterceptorChain()方法2.1.3.2 Interceptor源码2.1.3.2.1 ConnectInterceptor2.1.3.2.2 CallSer...原创 2019-07-26 17:07:52 · 339 阅读 · 0 评论 -
uCrop框架用法和源码解析
本人能力不足,在看到源码最后一部分的时候大量抄袭可能是最详细的UCrop源码解析文章目录1. uCrop简介2. 使用方法2.1 导入依赖2.3 处理回来的数据2.4 uCrop高阶用法2.4.1 配置uCrop2.4.2 其他配置3. 源码解析3.1 第一部分:UCropActivity(整个框架的外在,用户操作图片的地方)3.2 第二部分:OverlayView(绘制裁剪框)3.2.1 ...原创 2019-08-04 17:33:17 · 6759 阅读 · 1 评论 -
Kotlin Anko Layouts入门
Kotlin Anko入门简洁Anko的官网就是他的GitHub地址https://github.com/Kotlin/anko官方对Anko的解释是Anko是一个 Kotlin 库,它使Android应用程序开发更快更容易。它使您的代码清晰易读,让您忘记Android SDK for Java的粗糙边缘。为什么这样说呢?比方说如果你写Android,你在xml中定义了一个B...原创 2019-06-07 20:26:47 · 1373 阅读 · 0 评论 -
Android入门之计算器
1. 前言这是我的第一个安卓app,从界面到算法都是自己写的,期间经历了各种各样的bug,也学到的各种各样的知识,加深了对Java的使用,也了解了如何写一个Android应用。因为我Java也才入门,安卓更不用说(第一行代码第三章都没看完),所以代码写的肯定非常粗糙,望大家谅解。后期我会对其进行改进,也会上传到此博客2. 准备1. 编译器:Android Studio虽说And...原创 2018-08-03 21:53:17 · 1562 阅读 · 0 评论