![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 60
雪未央
这个作者很懒,什么都没留下…
展开
-
NDK之cmake初步尝试
2.2以后默认使用cmake,创建项目时记得选择支持c++,会在app目录下自动生成CMakeLists.txt,以及在cpp下生成native-lib.cpp先看看默认的cpp文件的内容#include <jni.h>#include <string>extern "C"JNIEXPORT jstring JNICALLJava_com_example_groot_cmaketest3_Ma原创 2017-08-02 21:31:53 · 620 阅读 · 1 评论 -
ButterKnife源码初步探秘
butterknife使用很方便,在接入之后,在activity中使用ButterKnife.bind(this)即可 public static Unbinder bind(@NonNull Activity target) { View sourceView = target.getWindow().getDecorView(); return createBinding(ta原创 2017-08-04 20:27:51 · 273 阅读 · 0 评论 -
gson源码解析-普通对象
User user = new User(); user.setName("fcl"); user.setAge(24); String s = new Gson().toJson(user);首先看最简单的转换 public String toJson(Object src, Type typeOfSrc) { StringWriter w原创 2017-12-28 23:08:01 · 434 阅读 · 0 评论 -
gson源码解析-数组
今天看看数组相关的转换 private void array() { List<User> users = new ArrayList<>(); for (int i = 0; i < 5; i++) { User user = new User(); user.setAge(24+i);原创 2017-12-28 23:08:46 · 244 阅读 · 2 评论 -
DiskLruCache源码分析
首先,摆一套基本的使用流程 /** * 初始化 */ private void initDisk() { File cacheDir = getDiskCacheDir(MainActivity.this, "bitmap"); if (!cacheDir.exists()) { cacheDir.m原创 2018-01-29 21:07:48 · 253 阅读 · 0 评论 -
CoordinatorLayout源码分析-事件传递流程
我们知道,发生点击事件时,会首先调用ViewGroup的dispatchTouchEvent()方法,处理事件的分发,查看CoordinatorLayout并没有发现该方法, 由于它直接继承至ViewGroup,因此是默认的实现public boolean dispatchTouchEvent(MotionEvent ev) { if (disallowInterce...原创 2018-04-03 00:33:19 · 774 阅读 · 0 评论