自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

魔法小黑屋

Android、Java、Kotlin、Flutter、前端、Node,C/C++ 都写

  • 博客(54)
  • 资源 (5)
  • 收藏
  • 关注

原创 Android 实现沉浸式全屏

本文总结 Android 实现沉浸式全屏的实现方式。

2023-02-18 11:43:17 3224

原创 如何用代码画出一幅好看的画

随着计算机技术的逐步发展,借助计算机强大的能力进行绘画操作,已经变得非常容易。绘画作品的水平也是越来越高,下面就来看看用编程语言绘画,能搞出什么有意思的东西,相比人类的创作又有哪些值得我们思考的地方。more其实用代码直接绘制图形,还有很多其他方案。比如大名鼎鼎的 MATLAB ,可以创作出非常精良的数学几何图形。但是比较一下上面的这几种方案,可以说 AI 作画的水平,一下子提升了好几个层次。创作需要的输入越来越明确,越来越简答,越发的人性化。但是输出的内容,却越发的开始接近甚至超越了人类的水平。...

2022-08-28 22:08:50 26210 5

原创 当Json遇到Map

了解一下日常开发中关于 Json 解析的一些非常规用法,以及使用 fastjson 的一些总结。

2022-05-29 14:27:41 394

原创 RxJava 是如何实现线程切换的(上)

前言通过前一篇的从观察者模式出发,聊聊RxJava,我们大致理解了RxJava的实现原理,在RxJava中可以非常方便的实现不同线程间的切换。subscribeOn 用于指定上游线程,observeOn 用于指定下游线程,多次用 subscribeOn 指定上游线程只有第一次有效,多次用 observeOn 指定下次线程,每次都有效;简直太方便了,比直接使用Handler省了不少力气,同时也不

2018-01-23 23:39:54 745

原创 从观察者模式出发,聊聊RxJava

前言RxJava 是什么观察者模式RxJava2 的观察者模式实现四个重要的角色具体的观察者是如何实例化的如何实现订阅发送事件和接收事件RxJava 中对常规的观察者模式做了怎样调整带来了什么好处前言RxJava 是什么 RxJava – Reactive Extensions for the JVM – a library for composin

2018-01-07 22:08:38 575

原创 代理模式

介绍代理模式也称为委托模式,是一种结构性设计模式。说到代理,可能大部分人都会有一种陌生又熟悉的感觉,日常生活中好像都能遇到,比如代理上网,招商代理,商务代理等;但又说不出个具体的一二三来;代理这个事情如果我们换个角度,从委托者的角色出发,我们找代理上网,是因为我们在访问某些网站时存在困难,需要有个角色来间接的帮我们实现这个功能;我们找商务代理,可能是因为许多事我们不在行或者其他原因,需要找

2018-01-04 23:42:21 380

原创 Android 插件化和热修复知识梳理

概述在Android开发中,插件化和热修复的话题越来越多的被大家提及,同时随着技术的迭代,各种框架的发展更新,插件化和热修复的框架似乎已经日趋成熟,许多开发者也把这两项技术运用到实际开发协作和正式的产品当中。因此,我们势必需要了解一下这两门技术。插件化和热修复首先需要明确的一点,插件化和热修复不是同一个概念,虽然站在技术实现的角度来说,他们都是从系统加载器的角度出发,无论是采用hook方式,亦或是代

2017-11-28 23:20:12 940

原创 数据结构-堆

对于堆(Heap)这种数据结构,从根节点到任意结点路径上所有的结点都是有序的。堆的ADT堆的实现堆是用数组实现的完全二叉树

2017-11-03 22:30:28 930

原创 数据结构-平衡二叉树

定义平衡二叉树,是对二叉搜索树的一种优化。向二叉搜索树中插入元素时,不同的插入次序,将构造出不同结构的树。通俗来讲,就是会导致树的深度和平均查找长度(ASL averge search length)不同;以下图为例。明显可以看出,中间(b)这种结构是比较好的。整个二叉搜索树左右两边显得比较平均,不像最后一种完全成了一颗右斜树,或者说是单向链表,同时也可以看到其ASL=3.0 是这三种结构中最小的。

2017-10-31 23:35:00 537

原创 数据结构-二叉搜索树的实现

定义二叉搜索树(Binary Search Tree,BST),也称为二叉排序树或二叉查找树。相较于普通的二叉树,非空的二叉搜索树有如下性质:非空左子树的所有键值小于其根结点的键值;非空右子树的所有键值大于其根结点的键值;左右子树均为二叉搜索树;树中没有键值相等的结点。

2017-10-27 23:55:56 505

原创 数据结构-二叉树的存储结构与遍历

一个有穷的结点集合,可以为空。若不为空,则它是由根结点和称为其左子树和右子树的两个互不相交的二叉树组成。

2017-10-24 23:51:34 667

原创 栈和队列的相互实现

前言栈和队列作为两种典型的线性表,有着非常鲜明甚至可以说是相互对立的特点;栈先进后出(后进先出),队列先进先出(后进后出)。因此,对相同的输入,两者会产生恰好截然相反的输出。例如,对于给定的序列”ABCDE”,如果按照字母顺序将这个5个元素依次入栈,然后再依次出栈,那么得到的输出将是”EDCBA”,而如果将5个元素意思压入队列,然后依次弹出,那么得到的输出将是”ABCDE”。正是因为这种截然相对的输

2017-10-22 22:45:20 848

原创 数据结构-栈&队列&Deque实现比较

对于栈和队列这两种特殊的数据结构,由于获取(查找)元素的位置已经被限定,因此采用顺序存储结构并没有非常大的优势,反而是在添加元素由于数组容量的问题还会带来额外的消耗;因此,在无法预先知道数据容量的情况下,使用链式结构实现栈和队列应该是更好的选择

2017-10-22 22:35:33 695

原创 Android MVP 十分钟入门!

前言在日常开发APP 的过程中,随着业务的扩展,规模的变化。我们的代码规模也会逐渐变得庞大,每一个类里的代码也会逐渐增多。尤其是Activity和Fragment ,由于Context 的存在,基本上所有对视图的操作我们只能在Activity和Fragment中完成;即便是对某些逻辑进行封装,Activity和Fragment 依旧会显得过于臃肿。因此,我们需要换一种思路去写代码,这个时候MVP模式

2017-01-25 09:03:43 618

原创 关于AsyncTask的一次深度解析

前言任何一个Android 开发者对AsnycTask 都应该不陌生;使用AsyncTask可以很方便的异步处理耗时操作;AsyncTask内部对Handler和Thread进行了封装,简化了Handler的使用方式,使用起来非常方便。

2017-01-22 20:29:19 1439

原创 终于明白了Handler的运行机制

前言Handler是一个Android SDK 提供给开发者方便进行异步消息处理的类。我们都知道在UI线程中不能进行耗时操作,例如数据读写、网络请求。Android 4.0开始,在主线程中进行网络请求甚至会抛出Android.os.NetworkOnMainThreadException。这个时候,我们就会开始依赖Handler。我们在子线程进行耗时操作后,将请求结果通过Handler的sendMe

2017-01-17 14:49:32 637

原创 Android 动画实战-仿微博雷达功能

前言在应用中使用动画,可以给用户带来良好的交互体验。通过之前对Android动画的分类总结,尝试了使用属性动画实现支付宝支付效果及购物车添加动画的效果,今天在这里模仿一下微博雷达页面效果。对Android动画不太熟悉或遗忘的知识,可以通过下面两篇文章了解。Android 动画总结,Android 动画实战此次模仿新浪微博雷达页的功能,虽然只有一个Activity,但使用到了很多知识。包括 - 属性

2017-01-05 17:19:47 805

原创 我们真的需要使用RxJava+Retrofit吗?

可以说RxJava+Retrofit是整个2016年Android 开发圈内最受关注的的组合。各大Android论坛上有大量以RxJava+Retrofit+xxx 为标题的文章,此类文章也备受大家的关注。这个组合仿佛已经成为了Android开发的必备组件,项目里没使用这个组合好像自己都out了似的。

2016-12-04 16:35:26 10006 2

原创 Android 动画实战

前言通过之前的《Android 动画总结》,对常用的Android动画有了一个整体认识。但是,之前的内容都是概念性的,所列的demo也没有实际意义。这里就通过两个实例了解一下如何在 实际开发中运用Android 动画来实现一些良好的用户体验。

2016-11-02 23:13:52 780

原创 Android 动画总结

。Android 动画分类总的来说,Android动画可以分为两类,最初的传统动画和Android3.0 之后出现的属性动画; 传统动画又包括 帧动画(Frame Animation)和补间动画(Tweened Animation)。

2016-10-19 22:54:16 978 3

原创 仿知乎首页学习CoordinateLayout

前言最近一段时间经常上知乎APP看各种神回复,发现其内部的滑动动画挺有意思,就研究了一下。并使用CoordinateLayout模仿了一下。。

2016-09-24 23:02:30 2802

原创 理解Android中的注解与反射

前言最近一段时间在研究EventBus和Retrofit 的过程中,都遇到了注解这个概念。由于在学习Java的时候对这方面没有深入了解过,所以看起相关的代码来,总会有点不知其所以然,这里就注解和反射的使用做一下总结。

2016-09-02 23:46:58 2691

原创 RxJava 之 Android使用初体验

通过之前对RxJava的了解,我们已经掌握了RxJava的一些基础使用方法,下面我们结合一个简单的Demo,看看如何在Android 开发中使用RxJava。

2016-08-07 23:33:05 736 4

原创 RxJava 之 响应式编程

响应式编程在说响应式编程的概念之前,我们先从这篇文章《用工厂流水线的方式来理解 RxJava 的概念》理解一下RxJava的意义。这里面说到的流水线的例子很确切,对于RxJava的响应式编程的思想是一个很好地类比。

2016-08-04 23:12:23 714

原创 RxJava 之 操作符

什么是RxJava 操作符?可以说,操作符是RxJava 最强大的武器 操作符一个重要的理念就是,使数据始终处于流上。 RxJava的操作符是干什么用的呢?简单理解,就是用于进行转换、结合、过滤和数学运算等操作的方法。看看之前的Demo看看我们是如何输出Hello

2016-07-28 22:02:54 803

原创 RxJava 之 Hello World

RxJava 就是异步RxJava 的异步实现,是通过一种扩展的观察者模式来实现的。一个响应式编程框架

2016-07-27 22:22:46 826

原创 EventBus 3.0 深入了解

EventBus is an open-source library for Android using the publisher/subscriber pattern for loose coupling

2016-07-25 21:46:42 2463

原创 EventBus 3.0 相见恨晚

为什么要用EventBus?它是干什么用的?EventBus是什么EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。

2016-07-24 23:46:22 727

原创 观察者模式

观察者模式中,**抽象观察者角色**以接口的形式存在,注定了所有的**具体观察者角色**实现更新(如此处的update)时,方法是唯一的,只有update。 而设置监听器机制中,为主题(事件源)设置不同的观察者(监听器)

2016-07-23 22:55:24 1439

原创 仿百度地图街景实现

使用过百度地图的同学知道,它有个街景功能,可以看到许多地方的实景。这里就其街景内容的实现,进行下学习。

2016-06-27 00:03:29 13811 2

原创 Android 实战开发总结(支付篇)

支付宝和微信支付,已经成为了现在购物类APP上最常见的两种支付方式。这里就总结一下实际开发中如何快速又高效在Android开发中集成这两种支付方式。

2016-06-21 22:30:02 1523

原创 Android 实战开发总结(widget篇)

在日常开发中,常常因为不同项目需求的共性,同时也是考虑到用户使用方式的共性,会有许多复用性极高的代码实现,这里特地总结一下。

2016-06-21 08:38:05 684

原创 Activity 切换运行模式后的意外情况

学习过Android开发的同学一定非常熟悉Activity,这也是四大组件中平时接触最多的东西。关于Activity稍微深入一点就是其不同的启动模式。即standard、singleTop、singleTask 和singleInstance。可以在AndroidManifest.xml 中通过给 标签指定android:launchMode 属性来选择启动模式。现在大部分教程及书籍中都会都其有细致

2016-05-18 08:04:28 670

原创 Android View 事件分发机制梳理

一直以来对View的事件分发机制很晕,今天就在这里梳理一下

2016-05-07 22:03:18 1849

原创 Android夜间模式初探

关于夜间模式的实现,有很多种方法。这篇日志学习一下最简单的实现方式,通过setTheme(int resid)方法实现主题切换来实现夜间模式,这也是Android官方推荐的方法。整体思路与效果通过Android SDK提供的setTheme方法,可以切换Activity的不同的主题

2016-04-28 23:22:54 751

原创 你真的了解android:layout_weight吗?

日常开发中,在LinearLayout中使用layout_weight可以很好的应对那些内容会动态变化的布局结构。比如表单填写,最常见的就是注册登录页面布局内容的实现

2016-04-12 22:39:19 752

原创 关于Android滑动冲突的解决方法(二)

之前的一遍学习笔记主要就Android滑动冲突中,在不同方向的滑动所造成冲突进行了了解,这种冲突很容易理解,当然也很容易解决。今天,就同方向的滑动所造成的冲突进行一下了解,这里就先以垂直方向的滑动冲突为背景,这也是日常开发中最常见的一种情况。

2016-04-07 23:24:38 5641

原创 关于Android滑动冲突的解决方法(一)

滑动冲突可以说是日常开发中比较常见的一类问题,也是比较让人头疼的一类问题,尤其是在使用第三方框架的时候,两个原本完美的控件,组合在一起之后,忽然发现整个世界都不好了。关于滑动冲突滑动冲突分类滑动冲突,总的来说就是两类。同方向滑动冲突 比如ScrollView嵌套ListView,或者是ScrollView嵌套自己不同方向滑动冲突 比如ScrollView嵌套ViewPager,或者是Vi

2016-03-30 23:11:24 3045

原创 自定义Android图片轮播控件

通过在总结网络上各位大神的思路,这里本着学习的态度自定义一个可以无限循环轮播,并且支持手势滑动的轮播图控件

2016-03-29 23:07:57 2595 1

原创 Android 雷达扫描动画效果实现

在新浪微博上有一个雷达功能,感觉类似于微信附近的人。只是多了一个类似于雷达扫描效果的动画,某些知名安全软件也有这样的雷达效果,因此在这里学习一下。

2016-03-24 23:09:49 3941 2

Android时间轴实现方式

Android时间轴的实现,仿京东淘宝效果

2016-03-14

仿QQ6.1最新侧滑菜单

模仿QQ6.1的侧滑菜单,仿照SlideMenu进行改动,使菜单有抽屉似得滑动效果

2016-01-04

免费代理服务器

免费代理服务器

2014-09-28

adb server didn't ack解决办法

android 开发时,出现adb server didn't ack的解决办法

2014-05-04

Android中文文档

android 基础知识的介绍和一些专业术语的讲解

2013-04-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除