随笔分类 - 03 可能乱码的文章
摘要:示例代码:https://github.com/baiqiantao/DataBindingTest参考:精通Android Data Binding Android Data Binding(数据绑定)用户指南官方教程:Data Binding Guide API 关于 Data BindingData Binding 解决了 Android UI 编程的一个痛点,官方原...
阅读全文
摘要:简介Github:https://github.com/JakeWharton/butterknife 文档特点:采用注解的方式实现强大的View绑定和Click事件处理功能,简化代码,提升开发效率 方便的处理Adapter里的ViewHolder绑定问题 是一种依赖注入框架,运行时不会影响APP效率(原理和dagger一样,是在编译期生成代码,与反射没有半毛钱关系)使用配置方便 ,代码清晰,可读...
阅读全文
摘要:只有Inject是不可以的,必须有Componentpublic class Test { @Inject Person person; private void test() { System.out.println(person.name); } public static void main(String[] args) { new Test().test();//N...
阅读全文
摘要:参考:http://blog.csdn.net/lonelyroamer/article/details/7864531#commentshttp://blog.csdn.net/lonelyroamer/article/details/7868820#comments http://blog.csdn.net/LonelyRoamer/article/details/7927212#commen...
阅读全文
摘要:参考:http://blog.csdn.net/lonelyroamer/article/details/7868820#comments因为种种原因,Java不能实现真正的泛型,只能使用类型擦除来实现伪泛型,这样虽然不会有类型膨胀的问题,但是也引起了许多新的问题。所以,Sun对这些问题作出了许多限制,避免我们犯各种错误。1、先检查,再编译,以及检查编译的对象和引用传递的问题既然说类型变量会在编译...
阅读全文
摘要:要说清楚Java浮点数的取值范围与其精度,必须先了解浮点数的表示方法与浮点数的结构组成。因为机器只认识01,你想表示小数,你要机器认识小数点这个东西,必须采用某种方法。比如,简单点的,float四个字节,前两个字节表示整数位,后两个字节表示小数位(这就是一种规则标准),这样就组成一个浮点数。而Java中浮点数采用的是IEEE 754标准。IEEE 754 标准更多详见:https://baike....
阅读全文
摘要:简介float和double类型的使用局限:单精度浮点型变量float可以处理6~7位有效数,双精度浮点型变量double可以处理15~16位有效数,在实际应用中,如果需要对更大或者更小的数进行运算和处理,这时候float和double就如能为力了。借用《Effactive Java》这本书中的话,float和double类型的主要设计目标是为了科学计算和工程计算,他们执行二进制浮点运算,这是为了...
阅读全文
摘要:非静态内部类引起内存泄漏的原因内部类的实现其实是通过编译器的语法糖(Syntactic sugar)实现的,通过生成相应的子类即以OutClassName$InteriorClassName命名的Class文件。并添加构造函数,在构造函数中【传入】外部类,这也是为什么内部类能使用外部类的方法与字段的原因。所以,当外部类与内部类生命周期不一致的时候很有可能发生内存泄漏。Handler引起内存泄漏案例...
阅读全文
摘要:代码位置:https://github.com/baiqiantao/WebViewTest.git设计思想理解在WebView的设计中,不是什么事都要WebView类干的,有相当多的杂事是分给其他类做的,这样WebView专心干好自己的解析、渲染工作就行了。比如我们最熟知的,所有针对WebView的设置都封装到了WebSettings里。我们知道,在使用WebView加载资源过程中,可能会有大量...
阅读全文
摘要:代码位置:https://github.com/baiqiantao/WebViewTest.gitWebSettings 介绍public abstract class android.webkit.WebSettings extends Object Manages settings state for a WebView. When a WebView is first created, i...
阅读全文
摘要:demo地址:https://github.com/baiqiantao/PermissionTest.git一个大坑:SoundPool最多只能播放时长10s左右、大小70kb左右(这些值是我多次测试而来,并不确定)的音频!官方文档文档位置:https://developer.android.google.cn/reference/android/media/SoundPool.htmlThe ...
阅读全文
摘要:文档位置:API24/guide/topics/security/permissions.html System Permissions 系统权限Android is a privilege-separated operating system, in which each application runs with a distinct system identity (Linux user I...
阅读全文
摘要:原文位置:https://github.com/square/okhttp/wiki/Recipes Recipes 食谱/知识点清单We've written some recipes that demonstrate how to solve common problems with OkHttp. Read through them to learn about how everything...
阅读全文
摘要:数值格式化 NumberFormat 简介 java.text.NumberFormat extends java.text.Format extends java.lang.Object 实现的接口:Serializable, Cloneable 直接子类:ChoiceFormat, Decima
阅读全文
摘要:本文地址 目录 21 | Select:选择最快的结果 和 Kotlin 的 Channel 一样,select 在很多编程语言当中都有类似的实现,比如 Go、Rust 等。不同语言中,select 的语法可能不太一样,但背后的核心理念都是 选择更快的结果 。 select 在 Kotlin 1.6
阅读全文
摘要:ViewFlipper介绍ViewFilpper类继承于ViewAnimator,而ViewAnimator类继承于FrameLayout。 ViewAnimator:Base class for a FrameLayout container that will perform执行 animations when switching切换 between its views.ViewFilpp...
阅读全文
摘要:简介android.widget.Scroller是用于模拟scrolling行为,它是scrolling行为的一个帮助类。我们通常通过它的 startScroll 函数来设置一个 scrolling 行为模型,即在 duration 毫秒时间内从 int startX, int startY 这个点起向X和Y方向分别滚动 int dx 和 int dy 个像素;或者通过它的 fling 函数来设...
阅读全文
摘要:安卓开发过程中滑动冲突的情形主要有2类:父view与子view的滑动方向不同,如:父view左右滑动,子view上下滑动或相反(ViewPage里面嵌套ListView)。这种情形是比较简单的,只需要根据不同的滑动动作进行相应的拦截与处理即可。父view与子view的滑动方向相同,即,父view左右,子view也左右(ViewPage里面嵌套可以缩放、移动的ImageView)。这种情形需要根据具...
阅读全文
摘要:GestureDetector和ScaleGestureDetector示例/** * 演示【单点触摸手势识别器】 * 演示【缩放手势识别器】最简单的使用 * @author 白乾涛 */public class FirstActivity extends Activity implements OnTouchListener { private ImageView iv; priva...
阅读全文
摘要:MotionEvent简介当用户触摸屏幕时,将创建一个MontionEvent对象,MotionEvent包含了关于发生触摸的位置、时间信息,以及触摸事件的其他很多细节。Android 将所有的输入事件都放在了 MotionEvent 中,随着安卓的不断发展壮大,MotionEvent 也开始变得越来越复杂,下面是网上整理的 MotionEvent几次比较大的变动:Android 1.0 (API...
阅读全文