Android笔记
文章平均质量分 83
炎之铠
无论出于何种环境,总是坚守心中的一片乐土 ( ⊙ o ⊙ )!
展开
-
Kotlin作用域函数的使用经验
前言Kotlin给我们提供了很多Java没有的便利,作用域函数(Scope Function)就是Kotlin标准库里面的提供的一些让我们减少重复代码和提高可读性的一系列函数。下面结合我的使用经验来介绍一下Kotlin的作用域函数:是什么作用是什么怎么使用怎么选择对我们开发的启发介绍官网介绍如官网介绍所说,作用域函数(Scope Function)是能让我们创建一个临时的作用域,在这个作用域里可以有一个上下文对象给我们用,最后它还有返回值的一些函数,可以用包括:let、run、app原创 2020-06-22 16:17:35 · 582 阅读 · 0 评论 -
Android APP一键退出的方法总结分析
本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:[email protected] 本文demo地址:https://github.com/totond/TestAppExit 本文原创,转载请注明本出处!前言——到底APP需不要退出功能 Google是推荐APP不需要退出功能的,因为只要把APP切到后台,系统的G原创 2017-06-09 15:28:33 · 9709 阅读 · 4 评论 -
Android上一个类似PathMenu效果的自定义View源码分析
出处: 炎之铠邮箱:[email protected] 博客地址:http://blog.csdn.net/totond 本文原创,转载请注明本出处! 本项目GitHub地址:https://github.com/totond/YMenuView 欢迎 Star or Fork! 效果总图: 前言 网上这种类似PathMenu的菜单很多,但是基原创 2017-08-18 10:00:53 · 2262 阅读 · 0 评论 -
Android触摸事件传递机制实践——可拖动、大小切换的SizeSwitchView
出处: 炎之铠邮箱:[email protected] 博客地址:http://blog.csdn.net/totond 本文原创,转载请注明本出处! 本项目GitHub地址:https://github.com/totond/SizeSwitchViewDemo 欢迎 Star or Fork!前言 对于Android的触摸事件传递机制,网上有很多讲解,有结原创 2017-08-28 15:20:00 · 4617 阅读 · 6 评论 -
Android视频播放器的手势控制实现
出处: 炎之铠邮箱:[email protected] 博客地址:http://blog.csdn.net/totond 本文原创,转载请注明本出处! 本项目GitHub地址:https://github.com/totond/GestureTest前言 现在很多全屏的视频播放器现在都有这样的功能:左边上下滑动调节亮度,右边上下滑动调节音量,左右滑动调节快进快退,双原创 2017-09-07 14:41:11 · 7915 阅读 · 3 评论 -
Android手势检测——GestureDetector全面分析
出处: 炎之铠邮箱:[email protected] 博客地址:http://blog.csdn.net/totond 本文原创,转载请注明本出处!前言 在很多视频播放器中,都存在使用不同的手势来控制进度、亮度\音量和暂停播放等功能。Android提供了一个GestureDetector来帮助我们识别一些基本的触摸手势(还有ScaleGestureDetector可以识原创 2017-09-07 14:29:34 · 34867 阅读 · 10 评论 -
自定义进度条PictureProgressBar——从开发到开源发布全过程
出处: 炎之铠邮箱:[email protected] 本文原创,转载请注明本出处! 本项目JCenter地址:https://bintray.com/yanzhikaijky/CustomViewRepository/PictureProgressbar/ 本项目GitHub地址:https://github.com/totond/PictureProgressBar原创 2017-05-17 11:10:03 · 7007 阅读 · 4 评论 -
回炉再造,灵活的YMenuView2.0诞生
出处: 炎之铠邮箱:[email protected] 博客地址:http://blog.csdn.net/totond 本文原创,转载请注明本出处! 本项目GitHub地址:https://github.com/totond/YMenuView 欢迎 Star or Fork!前言 之前把我项目用到的类似于PathView的菜单YMenuView抽离出来,分原创 2017-09-22 09:16:21 · 3918 阅读 · 4 评论 -
Android上一个扫描框风格的新手引导库
本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:[email protected] 本文原创,转载请注明本出处!简介 Github地址:https://github.com/totond/YGuider 这是一个扫描框风格的新手引导,效果如上图。原创 2017-10-23 15:27:09 · 6245 阅读 · 7 评论 -
Android中Application类总结
本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:[email protected] 本文原创,转载请注明本出处!前言 最近的开发中经常使用到Application类,它的用处很多,但是网上的资料有很多是旧的或者是介绍不全的,在这里全面总结一下,先介绍Application的所有方法,再介绍它的使用经验。 本文基于An原创 2017-05-27 15:44:32 · 24044 阅读 · 7 评论 -
目前最流行的运行时权限请求框架PermissionsDispatcher、RxPermissions和easypermissions的使用和对比
本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:[email protected] 本文demo地址:https://github.com/totond/PermissionsApplyDemo 本文原创,转载请注明本出处!前言 今天是2017年6月23日,到目前为止,Android6.0已经发布了两原创 2017-06-23 15:15:18 · 36044 阅读 · 11 评论 -
文字路径动画控件TextPathView解析
文字路径动画控件TextPathView解析 本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:[email protected] 本项目Github地址:https://github.com/totond/TextPathView 本文原创,转载请注明本出处! 本篇文章已授权微信公众号 guolin_b...原创 2018-02-26 11:31:28 · 3671 阅读 · 10 评论 -
尺子从一,分为四的故事(BooheeRuler的创造和重构思路)
尺子从一,分为四的故事(BooheeRuler的创造和重构思路) 本文出处: 炎之铠csdn博客:http://blog.csdn.net/totond 炎之铠邮箱:[email protected] 本项目Github地址:https://github.com/totond/BooheeRuler 本文原创,转载请注明本出处!前言 整整一...原创 2017-12-07 10:08:05 · 2307 阅读 · 6 评论 -
Android源码自带的ProgressBar的总结与扩展——自定义ProgressDialog
出处: 炎之铠邮箱:[email protected] 本文原创,转载请注明本出处!介绍对于进度条ProgressBar,在很多场景都会应用到它,最近项目要用到进度条,在网上搜了很多资料,发现Android源码自带的ProgressBar是一个好东西,只要有好看的UI图片,就可以通过ProgressBar的自定义样式来实现一些好看的进度条,并不一定要重写View来实现。学习网上很原创 2017-05-16 09:46:43 · 5646 阅读 · 0 评论 -
阿里开源库VLayout的使用笔记
VirtualLayout是阿里最近(2017.2)开源的一个用来辅助RecyclerView的LayoutManager扩展库,通过使用里面的LayoutHelper,我们可以轻松的使用一些比较复杂的布局,如:线性布局、Grid布局、固定布局、浮动布局、栏格布局、通栏布局、一拖N布局、一拖N布局、瀑布流布局。还可以组合使用这些布局。天猫APP里面的一些商品布局就是用到这个库。Demo 地址 使原创 2017-04-14 15:24:48 · 22078 阅读 · 10 评论 -
学习笔记:XML与JSON的介绍与对比
XML与JSON的介绍与对比 随着移动互联网时代的到来,越来越多的App客户端都需要和网络服务器或者其他客户端进行数据传输和交互,承担App与网络来进行传输和存储数据的格式一般是XML或者JSON。所以我们很有必要了解一下JSON和XML一、XML介绍1.简介: Extensible Markup Language,可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标原创 2016-04-02 23:43:29 · 923 阅读 · 0 评论 -
学习笔记:Java Protocol Buffer的使用和编码原理学习
一、protocolbuffer简介: protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。可以把它用于分布式应用之间的数据通信或者异构环境下的数据交换,还有用于数据存储。与json、xml的比较: 在我个人看来,与其说PB是像jso原创 2016-04-24 17:36:59 · 5870 阅读 · 0 评论 -
学习笔记:Android里面的MVC模式与MVP模式
在一个项目开始之前,开发者就应该根据项目的大小和内容决定用什么设计模式和框架,选好一个合适的设计模式,可以使项目开发分工更明确,效率更高效,出错率更低,维护更容易。 在我看来,设计模式就是一种把一个项目的代码分成若干个小块,让每个小块的耦合性尽量地降低,让每个模块的代码可重用性增强,让项目的维护更简单的方法。下面我们来学习MVC模式和它的改进模式MVP模式,关于这两个模式我在网上看了很多资原创 2016-05-01 18:25:36 · 1248 阅读 · 0 评论 -
学习笔记:从ListView和Adapter到RecyclerView
ListView: 简单的说,ListView是能让数据集合以列表的形式表示到用户界面上的视图。Adapter: ListView和数据是分开的,不直接接触,Adapter是用来把数据映射到ListView上的中介。 为什么要用Adapter: 如果把所有数据集合的信息都加载到View上,数据量一多的话,肯定要占用非常多的内存。所以我们有了适配器,假如你的屏幕只能显示七个item。那么Lis原创 2016-05-17 23:19:47 · 5532 阅读 · 0 评论 -
学习笔记——Retrofit2.0的简单使用
在Android开发中,我们肯定是会遇到网络请求的,由于网络请求操作是一个耗时操作,不能在UI线程里执行,而且实际开发网络请求还有很多问题要考虑,你需要自己管理线程切换,需要自己解析读取数据,解析数据成对象,切换回主线程,回调给上层。所以我们初学者一般是应用一些技术成熟的第三方框架来进行网络请求,像Volley、Okhttp、Retrofit等,下面我就用我的学习经历来简单介绍一下Retrofit2原创 2016-06-14 19:19:16 · 1457 阅读 · 0 评论 -
学习笔记——自定义EditText右侧带图片控件
前言 最近项目做用户登录模块需要一个右边带图片的EditText,图片可以设置点击效果,所以就查资料做了一个自定义EditText出来,方便以后复用。原理 下面是自定义EditText的代码,具体难点是要实现图片的点击监听,因为谷歌官方至今没有给出一个直接实现EditText里面图片的监听API。我的做法是整个控件绑定一个OnTouchListener,然后监测点击事件,检测点击位置的X坐标是否原创 2016-07-24 17:20:49 · 3356 阅读 · 1 评论 -
学习笔记——自定义Button,自带监听EditText是否空
前言 最近的项目很多地方都遇到这样的要求:要求页面里面所有的EditText都是有输入才能让一个button可以被按下,就像下图那样。这个功能实现起来会在Activity占比较多重复的代码,可重用性不高。所以,我把要重复用的东西拿出来,做成了一个自定义View。 原理 实现的思路大概就是:重写Button类,传入要监听的EditText数组,为每个EditText绑定自定义的TextWatch原创 2016-07-25 13:00:30 · 1303 阅读 · 0 评论 -
学习笔记:Dialog重用类
Dialog重用类 项目用到Dialog的弹出对话框来选择参数,要设置大量显示选择内容的Dialog,如下图,点击文字TextView之后可以弹出一堆选择项自定义的Dialog、一个一个地建立Dialog太麻烦,所以我想要写一个用于方便的可重用的建立Dialog弹出选择框的类。点击后可弹出Dialog: 未使用重用类时要这样一个一个地建立Dialog:public class ProudctPa原创 2016-07-16 02:20:03 · 795 阅读 · 0 评论 -
Android端小米推送Demo解析和实现方法
前言 最近这几个月都是在准备找工作和找工作中,付出了很多,总算是有点收获,所以都没有怎么整理笔记。到了最近才有空把自己的笔记整理一下发上来,分享一下我的学习经验。推送 由于最近项目要用到Android的消息推送,关于Android推送的解决方案有很多种,有C2DM,轮询, SMS,MQTT协议,XMPP协议和第三方平台,经过我们对项目需求的考虑之后我们选择了第三方平台推送的小米推送,下面就是小米原创 2016-10-22 23:13:47 · 8414 阅读 · 7 评论 -
Android绘图Canvas笔记
Canvas的翻译是画布,Android系统里面的的2D绘图用的就是它。对应Canvas,官方的解释是这样的: The Canvas class holds the “draw” calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw原创 2017-02-28 23:45:38 · 4599 阅读 · 1 评论 -
Android动画(Android Animation)笔记
demo源码地址:https://github.com/totond/LearnAnimation Android里动画时非常常见的,几乎每个炫酷的自定义控件都涉及动画。Android里面的动画分为两类:属性动画(Property Animation)和视图动画(View Animation)。 其中Property Animation是Android3.0(API 11)之后才出现原创 2017-02-28 23:43:01 · 2797 阅读 · 1 评论 -
Android自定义View笔记
自定义View的分类 自定义View的有好几种分类,以我目前的阅历我把它分成4种:特定的View的子类:Android的API已经为我们提供了不少可以使用的View,如TextView、ImageView、Button等等,但是有时候我们需要在这些基础的View上扩展一些功能,例如在Button里绑定一个TextWatch监测若干个EditText的输入情况时,就是继承Button类,在它的子类原创 2017-02-28 23:53:09 · 1919 阅读 · 0 评论 -
Android自定义View系列笔记收录
我写博客的意义是方便自己的同时分享给他人,欢迎批评指正。在这里把我学习的有关Android自定义View之后写的笔记和看过的文章收录一下,把自己学到的知识点总结一下。 PS:下面把学习过并在文章里面有讲解的知识点打✔,不了解和文章里没有讲解的知识点打✘,以后会继续学习了解这些打✘的知识点,并查缺补漏,随时修改这个目录。自定义View自定义属性(✔)重写View的onMeasure()和on原创 2017-03-07 09:17:49 · 1598 阅读 · 0 评论 -
学习笔记:Android里JSON解析的几种方法
Android里JSON解析的几种方法一、解析方法: Android解析json有很多种方法,下面介绍三种方法:Android Studio自带org.json解析、Gson解析和Jackson解析。优缺点对比: Android自带的方法有点像xml的dom解析,遍历之后根据需要的key值去取数据,操作比较复杂,而且速度比较慢;Gson方法只需要建立一个对应json的javaBean类,就可以通过简原创 2016-04-06 18:44:04 · 7413 阅读 · 1 评论