Android自定义ViewGroup的OnMeasure和onLayout详解
前一篇文章主要讲了自定义View为什么要重载onMeasure()方法http://blog.csdn.net/tuke_tuke/article/details/73302595 那么,自定义ViewGroup又都有哪些方法需要重载或者实现呢 ?...
View ArticleTiny4412 Android5.0 定制media codecs相关的格式(二)
http://blog.csdn.net/morixinguan/article/details/73149058上一节说到4412的在Android 5.0源代码中支持了许多的格式,那么这些格式最终又是怎么确定的呢?找到以下这个文件:android-5.0.2/frameworks/base/media/java\android/media/MediaFile.java/* *...
View Article手把手教你Tiny4412 Android5.0 定制 按下开发板上的按键通过广播发送到应用层
首先,处理按键按下后,可以通过发送广播让应用层识别按键事件,那么怎么来发送,可以找到下面这个文件:frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java对应这个文件,我们找到这个方法,代码很多,部分shenglue/** {@inheritDoc} */ @Override public...
View ArticleAndroid 神兵利器Dagger2使用详解(四)Scope注解的使用及源码分析
前言 在我的上一篇文章Android 神兵利器Dagger2使用详解(三)进阶篇,不可自拔爱上Dagger2 中,我们以简单的案例对Dagger2依赖注入库在实际开发中的使用方法进行了学习。 本文内容: 1.@Singleton 全局单例 注解的使用 2.自定义@Scope 局部单例 注解的使用 3.通过 源码分析 @Singleton和@Scope注解是 如何实现单例 的。...
View Article不再迷惑,一次更直白浅显的角度讲解 Scroller 及滑动机制
学习本来就是从困惑中摸索问题答案的过程,能够描述出来问题就已经成功了一半。只要发现了困扰你的东西是什么,那么你就离解答出来不远了。————肯尼斯 R. 莱伯德 一直以来,Android 开发中绕不过去的话题就是自定义 View,曾几何时,考验一个开发者能不能熟悉自定义 View 的基础流程作为分辨菜鸟和中级开发者的一个技术标准。但是自定义 View...
View ArticleAndroid 图片加载框架Glide4.0源码完全解析(二)
写在之前 上一篇博文写的是Android 图片加载框架Glide4.0源码完全解析(一),主要分析了Glide4.0源码中的with方法和load方法,原本打算是一起发布的,但是由于into方法复杂性远不是前两个方法所能比拟的,又不愿意马马虎虎的随便应付的写作,还是保持一贯的一步步深入的讲解,所以就提前发布了一篇,以减少篇幅。 正文...
View ArticleAndroid Studio 插件 GsonFormat :你还在烦恼 为 Json格式 生成 JavaBean实体类吗?
前言 Json 数据存储格式在Android 开发中使用非常常见 在为 Json 格式 生成 JavaBean实体类时,却非常繁琐,特别是遇到一些比较复杂(各种嵌套)的 Json格式 { "errorCode":0 "query":"good", "translation":["好"], // 有道翻译 "basic":{ // 有道词典-基本词典 "phonetic":"gʊd"...
View ArticleAndroid深入理解JNI(一)JNI原理与静态、动态注册
前言 JNI不仅仅在NDK开发中应用,它更是Android系统中Java与Native交互的桥梁,不理解JNI的话,你就只能停留在Java Framework层。这一个系列我们来一起深入学习JNI。 1.JNI概述...
View Article趣谈并发3:线程池的使用与执行流程
并发编程系列的文章酝酿好久了,但由于没有时间和毅力去写那么多练习 demo,很多文章写了一半就停止了。 在写某一系列的过程中总有其他想写的内容蹦出来,想忍住不分散精力太难了,所以我很佩服那些能专心研究、总结一个专题的人,他们是有毅力的人! 关于学习的方式我也困惑过很久,究竟是知识体系驱动还是项目驱动比较好呢? 知识体系驱动即一条道走到头的学习(逮住某个专题深入研究,直到整个过一遍)...
View Article谈一谈拦截导航控制器返回事件(上)——OPP
iOS中,UINavigationController 是一个很好用的导航栏控制器,它可以很方便的控制controller 的显示,弹出。操作原理是一个栈,先进后出。 导航栏点击返回时, 会把刚压入栈的controller 弹出,这些已经封装好,不用我们做什么。但有时我们会有一个场景:比如我们填写一个表单时,用户点击了返回按钮,我们这时应该弹出提示,确定退出,但用户确定后,才pop...
View ArticleAndroid开发,Kotlin的了解与学习(四)-----基本语法的使用
本章主要了解kotlin中基本语法的使用 定义一个方法 方法的定义,在前面几章里面已经提到了一点,这里仔细了解一下 var a: Int = 0 fun getNum(num: Int): Int { return a } fun setNum(num: Int) { a = num }上面的方法相当于下面 int a = 0; public int getNum(){ return a; }...
View Article初探Architecture Components之Room篇(一)
Room的初衷 提起SQLite,作为Android开发者还是比较幸福的的,Android核心框架已为处理SQL提供了相当大的支持,API也非常强大,省起来很大的力气。但是其模板化处理方式,导致开发者花费大量的时间和精力去维护数据库: 在编译时,没有对原始SQL查询语句验证。随着表结构的更改,需要手动更新SQL查询语句。这个过程不仅耗时耗精力,而且很容易出错。...
View ArticleAndroid图片加载框架最全解析(四),玩转Glide的回调与监听
转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/70215985 本文同步发表于我的微信公众号,扫一扫文章底部的二维码或在微信搜索 郭霖 即可关注,每天都有文章更新。 大家好,今天我们继续学习Glide。...
View Article《近匠》专访 Ruff CTO 郑晔:技术老兵教你如何上手物联网应用开发
万物互联时代,很多人仍然会有这样一个疑问:“为何物联网概念与技术提出并发展了多年,却感觉离我们仍很遥远?”。解惑这个问题之前,我们不妨先探讨智能手机为何会成为人们生活不可或缺的一部分。智能手机可基于 Android 或 iOS 操作系统,承载运行多款...
View Article【android x86 5.1】system/core/目录下README翻译
译文: system/目录的目的在于向android的核心当中嵌入linux平台的内核。这些高效的比特 码被要求用于基础的启动、操作以及调试。 它们不应该依赖于system/目录以外的库(现在它们中的有一些不符合这个规定,这些 应该被升级或者替换)而且它们不应该被仿真编译要求。 所有的许可证应该都被清空(Apache2、BSD或者MIT)。...
View Article深入焦点处理流程
深入焦点处理流程 0.开始响应按键 public final class ViewRootImpl implements ViewParent, View.AttachInfo.Callbacks, HardwareRenderer.HardwareDrawCallbacks { /** * Delivers post-ime input events to the view hierarchy....
View ArticleFlutter实战一Flutter聊天应用(十)
首先,我们要修复一下之前几篇文章中存在的缺陷。在发送超过两行的消息时,屏幕上显示的消息不会自动换行,会超出最大宽度。我们可以通过将Text包装在Container控件中,再添加一个width属性,使其获得一个不超出屏幕大小的宽度。 class ChatMessage extends StatelessWidget { //... @override Widget...
View ArticleAndroid内存优化(三)避免可控的内存泄漏
相关文章 Android性能优化系列 Java虚拟机系列 前言 内存泄漏向来都是内存优化的重点,它如同幽灵一般存于我们的应用当中,有时它不会现身,但一旦现身就会让你头疼不已。因此,如何避免、发现和解决内存泄漏就变得尤为重要。这一篇我们先来学习如何避免内存泄漏。 1.什么是内存泄漏...
View Articleswift3.1 快速上手系列(三)
swift 3.x 还在学习中,swift 4 的脚步就已到来。生活就是这样,必须保持不断学习的劲头,才能在这年轻的战场上脱颖而出。但要说明的是,swift 各种版本的更新与迭代,都是向着更简洁、更方便、更强大发展,让 IOS 开发更优雅。 1. 遍历构造函数 convenience 默认情况下,所有的构造方法都是指定构造函数 Designated,使用 convenience...
View Article