自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

深红骑士的博客

只要付出足够多的努力肯定能成功

  • 博客(72)
  • 收藏
  • 关注

原创 一款好用的wanandroid APP

前言本APP是基于鸿洋开放的API来实现,项目采用组Java语言,MVP代码模式,基于组件化+ARouter + okhttp + AOP等开源框架实现,本项目会一直持续维护迭代,后续也许会用kotlin、Flutter等不同开发语言以及不同实现方案来开发同款本APP。如果你也觉得好用,欢迎提供建议和想法(issues),谢谢。主要功能首页、广场、导航、项目,我的五大模块登录注册搜索功能:热门查询,搜索历史收藏:文章添加收藏,取消收藏扫一扫积分排行榜查看自己分享文章他人等级以及所分享

2021-06-04 10:45:52 239

原创 连载 | Android之Camera1实现相机开发

一、前言现在很多app都会有拍照功能,一般调用系统进行拍照裁剪就能满足平时的需求,但有些场景或者特殊情况下如:持续不间断拍多张照片或者是进行人脸识别的时候,这时候之间调用系统原生相机拍照时不能满足自己的开发需求,就需要使用原生Camera来进行自定义开发,本文会采用android.hardware.CameraAPI来进行开发。在Android生态中,Camera是碎片化较为严重的一块,因为现在...

2019-10-13 21:35:47 3421 1

原创 Android 混合Flutter之产物集成方式

一、前言上一篇文章Android 混合Flutter之源码集成方式有优点和也有缺点:优点1.简单快捷,Google原生支持2.开发调试方便,和原生交互较多或需要依赖原生数据环境的时候特别能体现出来缺点1.团队所有人都可能要会Flutter并且都要安装Flutter环境2.需要对现有的编译体系做出修改,也就是要同时编译Flutter项目和Native项目3.Flutter会直接...

2019-09-01 23:13:56 1824

原创 Android 混合Flutter之源码集成方式

一、前言Flutter自从1.0版本发布,现在越来越受欢迎,很大大厂如美团,阿里,腾讯,字节跳动都在研究使用。今天实践一下Android原生如何嵌套Flutter,具体原理就是Flutter作为Android Module出现在项目中,这样就可以在已有的项目中使用,Android项目也是一个工程,Flutter项目也是一个工程,这样就互不相关,也很好进行管理。废话不多说,开始实践。二、目录结构...

2019-08-25 23:42:03 2616

原创 Android自定义View之仿QQ未读消息拖拽效果

一、前言用QQ的时候,发现未读消息拖拽效果蛮有意思,就模仿了一下。二、效果图具体效果如下:效果图具有以下特性:小圆点拖拽是有范围的在拖拽范围进行拖拽后释放小圆点会进行回弹后回到初始位置拖拽的时候,中心的圆会慢慢变小,拖拽的圆大小不变,中间连接的部分越来越长并且越来细,直至消失如果超出定义的拖拽范围后进行释放会有爆炸的效果并且消失三、分析1.组成先分析这个视图的组成:...

2019-07-05 23:17:10 359

原创 Flutter之声网Agora实现音频体验记录

一、前言今天用声网提供的Flutter插件声网Agore来简单实现体验音视频功能。首先前往声网官网看看大致介绍:可以看到声网sdk支持语音通话,视频通话和互动直播,接着点击立即体验注册账号和创建项目,目的是获取App ID,最后在项目详情能看到项目名字,App ID,项目状态,创建时间,应用证书,信令令牌调试开关等:目前对我最有用的是App ID,其他可以先忽略。二、依赖插件因为我是用...

2019-05-28 22:55:25 3379

原创 Flutter学习之视图体系

一、前言经过之前的学习,可以知道Flutter是一种全新的响应式跨平台的移动开发框架,越来越多的开发者参与学习或者研究中,确实在iOS和Android平台上能够用一套代码构建出性能比较高的应用程序。我刚开始接触FlutterFlutter中文网看到这么一句话:Widget是Flutter应用程序用户界面的基本构建块。每个Widget都是用户界面一部分的不可变声明。与其他将试图、控制器、布局和其他...

2019-03-29 13:02:31 959

原创 Flutter学习之插件开发、自定义字体、国际化

一、前言今天学习插件开发,Flutter使用一个灵活的系统,允许调用特定平台(iOS/Android)的API,无论在Android上的Java或者Kotlin代码中,还是iOS上的Object-C或者Swift代码中均可使用。Flutter平台特定的API支持不依赖于代码生成,而是依赖于灵活的消息传递方式:应用的Flutter部分通过平台通道(platform channel)将消息发送到...

2019-03-25 11:28:11 972

原创 Flutter学习之事件循环机制、数据库、网络请求

一、前言学习了布局实例和交互后,算是对Flutter入门了,基本可以实现一些普通页面搭建和交互效果了。但是这远远还不够,现在App都是需要网络访问的,而今天的目标就是学习IO和网络这一块。二、Dart中的异步任务消息循环机制Dart是单线程模型,什么是单线程模型呢?单线程就是在程序执行时,所走的程序路径按照连续顺序排列下来,前面的必须处理好,后面的才会执行(就是同一个时刻只能执行一个操作)。...

2019-03-18 09:33:59 2324 1

原创 Flutter学习之布局、交互、动画

一、前言前一天学习了Flutter基本控件和基本布局,我是觉得蛮有意思的。作为前端开发者,如何开发出好看,用户体验好的界面尤其重要。今天学习的方向主要有三:加深布局的熟练度。学习手势,页面跳转交互。学习动画。二、布局因为我是从事Android开发,学习了Flutter之后,发现其布局和在Android下布局是不一样的,Android布局是在XML文件下,直观性强一点,基本是整体到局...

2019-03-15 10:57:45 487

原创 Flutter学习之认知基础组件

一、前言前一天,学习了Dart语法,对Dart的语法和特性有了更深一步的了解。今天,来学习Flutter的基础控件,身为Android开发者都知道,一开始入坑Android就要熟悉学习其控件,如:TextView,ImageView,Button,ListView,RecycleView等。为什么要学习呢?因为平时的开发都离不开这些控件,UI的呈现都是有这些控件组成的,因此,其重要性就不用说了。...

2019-03-14 10:56:38 867

原创 Flutter学习之Dart语法特性

一、前言第一天把Flutter环境搭建了,并简单实现第运行第一个Flutter项目,感觉很不错,一些基本操作和原生体验差不多。用Flutter框架写过App项目的开发者都知道,Flutter是一个使用Dart语言开发的跨平台移动UI框架,通过自建绘制引擎,能高性能、高保真地进行Android和IOS开发。可能很多开发者都会像我一样,会有个疑问?为什么Flutter会选择Dart呢?我特意查了下网...

2019-03-13 09:25:04 5192

原创 Flutter学习之入门和体验

一、前言1.什么是Flutter上周我的一位微信好友问我有没有学Flutter,我回答说还没真正学,他说应该要接触一下。对于新技术的诞生,我始终保持敬畏之心,和另一位大学舍友聊了当时如何入坑Android的经历,才发现自己的学习方式和路线有很多的问题,知识点很零乱,知识没有系统化,不多说了,后面学习新的知识一定要从“碎片化”到“整体化”。2018年2月,在世界移动大会上,Google发布了Fl...

2019-03-12 08:01:55 8550 2

原创 Java中String,StringBuffer,StringBuilder基础知识

前言在平时开发中,我们很多时候都会用到String,StringBuffer,StringBuilde这三者。那么这三者究竟是什么呢,下面一一讲述。String查看api文档,可以知道,String是继承object类,并实现了序列化接口,字符序列接口,字符串排序接口。String是Java中的字符串,Java程序中的所有字符串字面值(如"abc")都作为此类的实例实现,字符串是常量,它们...

2019-02-16 19:11:56 748

原创 Android教你一步一步从学习贝塞尔曲线到实现波浪进度条

前言大家好,我是深红骑士,爱开玩笑,技术一渣渣,热爱钻研,这篇文章是今年的最后一篇了,首先祝大家在新的一年里心想事成,诸事顺利。今天来学习贝塞尔曲线,之前一直想学,可惜没时间。什么是贝塞尔曲线呢?一开始我也是不懂的,当查了很多资料,现在还是不够了解,其推导公式还是不能深入了解。对发布这曲线的法国工程师皮埃尔·贝塞尔由衷敬佩,贝塞尔曲线,又称贝兹曲线或者贝济埃曲线,是应用于二维图形应用程序的数学曲...

2019-02-05 07:27:30 973

原创 Android自定义View教你一步一步实现薄荷健康滑动卷尺

前言前几天写了一篇一步一步教你实现即刻点赞效果后,没想到有这么多的读者阅读和给了我一些改进建议,实现点赞效果主要是自己对自定义View的一些canvas绘制,缩放知识,位移的理解。而朋友说HenCoder还有给出薄荷健康滑动卷尺,小米运动记录界面,Flipboard 红板报的翻页效果。这几个例子对自定义View知识很有代表性,都用到了不同的知识。而今天要实现的是薄荷健康滑动卷尺效果,主要是加深触...

2019-01-02 09:51:50 1199 5

原创 Android自定义View教你一步一步实现即刻点赞效果

前言今天朋友看了HenCoder的自定义View后说,HenCoder对自定义View讲的不错。实践中仿写即刻的点赞你有思路吗,你不实现一下?二话不说,看了朋友手机效果,对他说:实现不难,用到了位移,缩放,渐变动画和自定义View的基础用法,好,那我实现一下,刚好加深对自定义View的理解。素材准备把即刻app下载后,以解压包的方式解压,发现点赞效果有三张图,一张是没有点赞的小手图片,一张是...

2018-12-27 22:51:44 1148

原创 Android自定义抓取异常日志上报服务器

前言

2018-12-18 21:41:20 3630

原创 Android中LayoutInflater详解

Android中LayoutInflater详解前言前言

2018-12-10 19:53:33 751

原创 MVVM架构篇之DataBinding

1.前言2.简述MVC,MVP3.什么是MVVM4.什么是DataBinding5.简单例子6.总结=================================================1.前言在2015年谷歌I/O大会上介绍了一个新的框架,就是DataBinding,而DataBinding是什么呢?根据英文翻译成中文就是数据绑定。2.简述MVC,MVP说Da...

2018-11-17 00:35:53 2157

原创 超全的Activity知识

1.概述2.作用3.生命周期4.启动模式5.启动方式6.状态保存7.与Fragment交互8.总结 1.概述首先我们要知道什么是Activity,就是属于Android四大组件之一:Activity、Service、BroadcastReceiver、ContentProvider。简单来说Activity其实就是一个屏幕的显示页面,但是实际上又并非那么简单...

2018-11-06 22:55:26 315 5

原创 在IT领域如何学习

1.前言2.学什么3.怎样去学4.总结 1.前言总是在一些群看到问:又有一个新技术出来了,又要学习了吗?学不动了。就好像我现在所处的Android行业,Google把kotlin升级为官方一级开发语言,有点像之前推出Android Studio的感觉,我相信如果以后继续做Android的话,kotlin就要学起来。后面又推出了跨平台框架flutter,一时间让很多技术开发者...

2018-10-23 13:07:22 355

原创 一篇文章了解HTTP

1.HTTP简介2.HTTP的工作方式3.HTTP报文详解4.额外知识 HTTP简介只要能上网就能接触到Http,超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议。Http是一个客户端和服务端请求和应答的标准(TCP),是一种客户端、服务器应答式的的应用层传输协议,注意:服务器是不可能主动向客户端发送数据...

2018-10-19 12:55:30 225

原创 java中的线程池有哪些,分别有什么作用?

阅读完本篇文章会知道如下三点:1.进程-线程简单介绍2.java的线程池是什么,有哪些类型,作用分别是什么3.使用线程池的优点1.进程-线程的简单介绍进程什么是进程呢?进程是计算机中的程序关于某数据集合的一次运行活动,是系统进行资源分配的调度的基本单位,是操作系统结构的基础。简单来讲:进程是指运行中的应用程序,进程是一个实体,每一个进程都有它自己的地址空间。例如我...

2018-08-04 20:45:33 45703 14

原创 一篇文章弄懂Parcelable和Serializable

阅读完本篇文章会知道如下三点:1.Parcelable和Serializable的作用?2.通过例子来区分Parcelable和Serializable,两者的流程是?3.两者的区别? 首先知道什么是序列化:官方的概念是:序列化:把对象转换为字节序列的过程反序列化:把字节序列恢复为对象的过程通俗的理解:序列化就是将对象的状态信息转换为可以存储或传输的形式过程...

2018-08-03 16:35:10 270 1

原创 如何理解Gradle?在构建过程中的作用

1.什么是Gradle?gradle是一个项目构建工具,是google官方推荐的Android项目编译工具。

2018-07-10 22:36:31 4200

原创 Android 改模拟器host文件

下面开门见山,直接给出详细步骤:1.配置adb命令详细的如何配置自行网上查找,这里不再讲述。打开终端输入指令adb:2.创建模拟器并要记住模拟器的名字:WVG(Nexus S)API_22打开模拟器。3.修改host文件1.adb root2.abd remount3.adb pull /system/etc/hosts 将hosts文件放在指定文件夹下4.adb push hosts /syst...

2018-06-29 14:47:31 2608

原创 Android 根据源码分析Handler

1.主线程中的Handler也许大家开发者都知道Handler主要用于异步消息处理,当一个消息产生后,就会进入队列里(MessageQueue),Loop会取依照一定的顺序取出队列里的消息,交给handler去处理消息。当我们看ActivityThread里的源码时,可以发现主线程是通过handler来回调处理例如Activity的生命周期,Service的状态等。下面就简单分析一下:Looper...

2018-06-27 22:10:20 372

原创 Android 自定义容器的简单实现

1.什么是容器Android中的五大布局(RelativeLayout,LinearLayout,FrameLayout,TableLayout,GridLayout)就是容器,容器可以放置button,textview等等控件。Android中的相对布局,线性布局都是系统已经实现好的,开发者直接用就行。系统提供的容器可以供开发者应付绝大部分需求,但是有一些界面的需求需要开发者去自定义容器。例如下...

2018-06-26 14:44:27 1073

原创 Android平台架构解析

Android是采用层次化系统架构,官方公布的标准架构图如下图:Android由底往上分为4层:Linux内核层(Linux Kernel),硬件抽象层(HAL),系统运行时库层(Native C/C++ Libraries和Android Runtime),应用程序框架层(Java API Framework),应用程序层(System Apps)Linux内核层:Android平台的基础是Li...

2018-06-21 22:03:35 480

原创 Android 教你从0开始撸进度条

阅读这篇文章需要知道一些基础知识:path.moveTo(x,y)path.lineTo(x,y)canvas.drawPath(path,paint)invalidate()上面函数的含义要明白是什么意思1.实现目标要实现的进度条如上,并非网上的圆柱形或者矩形进度条。2.分析目标所要描绘的有三部分:(1).外形边框(2).里面进度背景(3).进度的描绘(1).外形边框的实现刚开始看到这个进度条的...

2018-06-13 14:39:26 1585 2

原创 Java反射基础

1.什么叫java反射JAVA反射机制是在运行状态中,对于任意一个类,都能知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息和动态调用对象方法的功能就是java的反射机制。也就是反射的本质理解就是得到class对象后反向获取对象的各种信息。2.为什么要使用反射如果正常实例化去一个对象,去调用它的任意方法或者属性跟通过反射去实例化一个对象到底有什么区别呢?其...

2018-06-02 18:17:18 1222

原创 Android简单入门自定义View

自定义View的分类1.继承View重写onDraw方法2.继承ViewGroup派生特殊的Layout3.继承特定的View(比如TextView)4.继承特定的ViewGroup(比如LinearLayout)自定义View的步骤:1.自定义View的属性2.在View的构造方法中获得自定义的属性3.重写onMesure(非必需)4.重写on

2018-05-31 20:08:00 421

原创 简单的Groovy基础

一.什么是GroovyGroovy是一种基于JVM(JAVA虚拟机)的敏捷开发语言,结合Python,Ruby,Smalltalk等许多很多强大的特性,Groovy代码能够和java代码很好地结合。Groovy类和java类一样,完全可以用标准的java bean语法定义一个Groovy类,但是试用Groovy的方式定义类,这样的好处可以写少一半的代码。1.不需要public修饰符2.不需要类型说...

2018-05-30 21:19:09 185

原创 Android之了解 ListView缓存机制

1.什么是ListView在android开发中ListView是非常常用的组件,它以列表的形式来表示,即使是数据够大,也能根据数据的长度进行自适应来显示。在一定条件下,其加载大量的数据也不会发生OOM。...

2018-05-29 20:53:57 310

原创 Android之Handle全面理解

一.什么是Handler    Handler是Android给我们提供用来更新UI的一套机制,是一套消息处理机制,可以通过它来发送消息和处理消息。那作为开发者的我们,不禁会疑问?Google为什么要设计这套机制呢?这是为了解决在非UI线程中更新UI组件比较麻烦的问题。那么Android为什么不能在非UI线程中更新呢?首先Android的UI控件不是线程安全的,这是因为避免多线程并发所带来不安全问...

2018-05-22 19:50:45 22306

原创 java设计模式-单例模式

一.什么是单例模式在平时开发中使用某个类的实例时,直接使用new即可创建一个对象,试想一下当你如果频繁使用某个实例对象时,就会耗费更多的资源,就好像请了一个保姆,需要保姆帮你干一些事,如:洗衣服,拖地,扫地等等。每次需要保姆的时候就直接吩咐就行,不需要重新聘请一个。在实际很多开发场景中,都需要用到单例模式:如访问IO和数据库等资源,其中在Android开发中出色的图片加载框架ImageLoader...

2018-04-08 22:29:41 141

原创 Android之序列化知识

1.Parcelable和Serializable有什么用,它们有什么差别?2.自定义一个类让其实现Parcelable,大致流程是什么?Parcelable和Serializable有什么用,有什么差别?Parcelable和Serializable都可以实现序列化,使对象可以变为二进制流在内存中传输数据。Serizable和Parcelable接口可以完成对象的序列化过

2018-01-01 14:08:47 293

原创 Android之View的知识(getWidth() 和getMeasuredWidth区别 如何在oncreate获取宽高)

1.View的getWidth()和getMeasuredWidth()的区别2.如何在onCreate中拿到View的宽度和高度问题1:View的getWidth()和getMeasuredWidth()的区别首先 getWidth()和getMeasuredWidth()都是控件获取的宽度,但是这两者是有区别的,有什么区别呢,下面一步一步带你介绍:先举个例子:布局文件如下:

2017-12-17 14:27:58 734 2

原创 Android关于startActivityForResult的一切

1.startActivityForResult的使用场景是什么,onActivityResult回调里面的resultCode和requestCode的含义是什么?2.Activity A启动B的时候,在B中何时该执行setResult?setResult可以位于Activity的finish方法之后么?问题1:startActivityForResult的使用场景:如果想在Ac

2017-12-10 23:19:13 273

空空如也

空空如也

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

TA关注的人

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