android
文章平均质量分 77
哇哈哈哈嘻嘻
这个作者很懒,什么都没留下…
展开
-
Android中推荐用SparseArray替换HashMap<Integer,Object>
Android中推荐用SparseArray替换HashMap<Integer,Object>原创 2017-09-05 23:46:25 · 1036 阅读 · 0 评论 -
Android音视频学习——Camera2官方demo解析(1)
本篇内容主要解决屏幕旋转和Surface旋转之间的关系,使相机的预览画面与屏幕旋转方向一致。在官方demo的开始,定义了一个SparseIntArray,用来保存屏幕旋转的key和value:private static final SparseIntArray ORIENTATIONS = new SparseIntArray();接着是static语句块,用来初始化这个SparseIntArr原创 2018-02-28 20:23:17 · 6373 阅读 · 0 评论 -
scrollTo和getScrollY表象和源码结合效果更佳!
getScrollY()是自定义View中的常客,但是由于android特有的坐标系以及屏幕与View之间的复杂关系,往往是分析和看源码的难点,这里结合示意图帮助理解getScrollY,一劳永逸。名词理解首先我们需要了解清楚几个概念,就是我们经常看到的向上/下滚动以及上/下滑这四个名词:!!!记住滚动和滑动在android中的含义是不同的!!!上滑/下滑是我们手指相对于整个屏幕而言的,手指从屏幕原创 2018-02-13 21:48:03 · 388 阅读 · 0 评论 -
应用内存泄露起因与解决方案分析
java gc机制java内存管理与c/c++不同,java使用garbage collection机制,由虚拟机管理内存。在大部分虚拟机(包括android的ART)中,都采用了“可达性”分析算法来进行内存管理。原理是:选取某几个root节点,从root开始层层遍历,如果找不到对该对象的引用链,则该对象被标记为不可达,等待gc回收。内存泄漏的起因如果引用链中长期存在着对该对象的引用(强引用),则该原创 2018-02-11 17:01:15 · 360 阅读 · 0 评论 -
SQLite和RecyclerView使用过程中两处报错记录
Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.应用安装以后数据库不会再创建,helper的oncreate方法不会调用,在插入字段时,报上述错误,需要删除应用,重新启动安装。java.lang.No原创 2018-02-03 17:55:58 · 373 阅读 · 0 评论 -
android studio中运行main方法报错问题解决方法
as3.0中,在项目中新建一个类,无论点击run XXX.main()还是run XXX.main() with coverage,都会报如下的错:Error:Gradle: failed to create directory 'E:\AndriodStudioProjects\PhotoGallery\app\build\generated\source\r\debug\com\wyx\a原创 2018-02-03 11:25:30 · 4158 阅读 · 1 评论 -
android中各种height和width总结
1. getMeasuredWidth()和getWidth()以这两个为例,高度与其相同。这两个是在自定义View中最常见到的,通过字面意思可以看出,前者是测量的宽度,后者是控件的实际宽度,下面看下官方文档对他们的描述://Return the width of the your view.public final int getWidth()/**The width of this view原创 2017-11-24 10:13:39 · 6145 阅读 · 0 评论 -
多样沉浸式要点总结(看了必有收获)
新手一枚,最近在看沉浸式状态栏和Toolbar,并尝试模仿QQ群管理页面中,图片延伸到状态栏的样式,实际操作中发现很多细节,在这里mark一下。ActionBar的隐藏和Toolbar的设置ActionBar的隐藏第一种方法是在属性文件下的style文件中,将应用的<style>标签(也可以是自定义的style标签)继承自Theme.AppCompat.Light.NoActionBar,然后在A原创 2017-12-10 00:36:12 · 536 阅读 · 0 评论 -
仿支付宝密码输入以及细节总结
网上已经有很多现成的轮子了,虽然说重复造轮子不好,但是对于初学者还是多写多实现,了解原理最重要。首先看下效果:需求主要有以下几个点:密码输入框由几个方框组成当在软键盘上输入密码时,在对应的方框内会用圆点作为代替当输入完成以后,自动进行验证和执行操作点击密码框时自动弹出软键盘,并且软键盘是数字键盘,输入其他字符无效,当焦点变化时自动隐藏软键盘支持删除操作分析有三种实现方式:在一个Lin原创 2017-11-29 10:43:56 · 1212 阅读 · 1 评论 -
Android注解学习笔记
本文学习自《Android注解快速入门和实用解析》。元注解java提供的基础注解,用来注解其他自定义注解,解释说明作用,位于sdk/sources/android-25/java/lang/annotation目录下元注解有:@Retention:注解保留的生命周期@Target:注解对象的作用范围@Inherited:标明的注解,在其作用的类上,能否被继承@Documented:java转载 2017-11-15 08:44:28 · 286 阅读 · 0 评论 -
Android Span架构学习笔记
框架介绍框架涉及到的类遵循以下四个定义规则:如果一个Span影响字符层次上的文字格式,那么需要继承CharacterStyle类。如果一个Span影响段落层次上的文字格式,那么需要继承ParagraphStyle接口。如果一个Span修改字符层次上的文字外观,那么需要继承UpdateAppearance接口。如果一个Span修改字符层次上度量或者尺寸,那么需要继承UpdateLayout接口转载 2017-10-10 19:11:42 · 422 阅读 · 0 评论 -
我的“View的事件体系”知识点总结
文章总结自《android开发艺术探索》一书。3.1 View基础知识1、View是Android中所有控件的基类,是一种界面层的控件的一种抽象,也代表了一种控件。2、在Android中View呈现出树的结构,ViewGroup继承了View,这代表View本身可以是单个控件也可以是多个控件组成的控件组3、View中的四个属性:top、left、right、bottom,to原创 2017-10-09 21:46:33 · 203 阅读 · 0 评论 -
RxJava2.0学习笔记(Backpressure,Flowable)
文章转载自:大神的简书讲Backpressure之前先回顾一下zip,zip可以将事件组合发送,但是如果有一个Observable发送的速度很快,当它发送了1000个事件时,另外一个Observable只发送了1个事件,也就是只能组合一个,另外999个事件等待组合,那它们放在哪儿呢?其实,Zip给每个水管配备了一个水缸,用来存放发送待处理的事件。如图:当需要组合的时候,如果水缸里面都有事件,就会从水转载 2017-10-07 18:05:35 · 2606 阅读 · 2 评论 -
RxJava2.0学习笔记(简介,线程控制,常见操作符)
文章转载自:大神的简书要在android中使用RxJava2,先添加Gradle配置: compile 'io.reactivex.rxjava2:rxjava:2.0.1' compile 'io.reactivex.rxjava2:rxandroid:2.0.1'RxJava简介:先假设有两根水管:产生事件的水管称作上游,即RxJava中的Observable,接受事件的水管称作下转载 2017-10-06 16:47:48 · 642 阅读 · 0 评论 -
Android属性动画简单总结
Android系统目前有3种动画:逐帧动画(frame-by-frame animation)和补间动画(tweened animation)以及属性动画(property animation)。逐帧动画类似于动画片,就是将完整的动画过程分成一张张单独的图片,然后连起来播放;补间动画就是对View进行一系列的操作,包括淡入淡出、平移、旋转、缩放四种。逐帧动画和补间动画技术旧了,用的不多,属性动画弥补了这两者的缺点转载 2017-09-27 16:58:11 · 205 阅读 · 0 评论 -
Android开发中的Notification
Android的通知(Notification)使用详解转载 2017-09-20 11:26:53 · 369 阅读 · 0 评论 -
Android音视频学习——Camera2官方demo解析(2)
本篇主要就几个关键的类进行解释,并且对需要注意的点注释,此外再总结一下如何使用Camera2进行拍照和预览的流程。附上官方demo。上面是Camera2的流程示意图,由于我喜欢从整体思路上分析代码,所以下面先就整个呆萌的思路拓展一下。首先肯定是解决相机的问题啦,毕竟是主角嘛,但是相机是底层的,Android为我们抽象了CameraDevice类,用来表示各个相机。我们又知道,设...原创 2018-03-01 21:03:28 · 3156 阅读 · 0 评论