自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 蜗牛君漫聊设计模式---建造者模式

Hello~ 大家好,我是蜗牛君,我们又见面了。今天依然是蜗牛君漫聊设计模式系列中的文章—建造者模式。咱们举一个现实中的例子,可能没那么完全的恰当,但是基本的含义还是能够表达清楚的。作为一名职场人士,缴纳五险一金是每个职场中人的必备属性。用我们熟悉的互联网公司来举例,正规的公司会给员工缴纳标准的五险一金,实力雄厚的大厂会为员工缴纳六险一金甚至七险一金,而有的初创公司或者想法克扣员工利益的公司只给...

2019-06-27 18:35:37 256

原创 蜗牛君漫聊设计模式---动态代理模式

Hello~ 大家好,欢迎大家来到蜗牛君漫聊设计模式系列,今天继续给大家讲代理模式。上次我们讲完了代理模式中的静态代理,不知道大家有没有理解。今天接着给大家介绍代理模式中的动态代理模式。那今天的剧情是什么呢?还是以员工的社保为例子,再次提醒大家要对社保引起足够的重视,自己的权益一定要争取。今天的剧情就以假设蜗牛君找到工作办理入职开始吧。ok,蜗牛君轻而易举的收到了一个国内知名互联网大厂的off...

2019-06-27 18:23:08 146

原创 蜗牛君漫聊设计模式---静态代理模式

Hello~ 大家好,欢迎来到蜗牛君漫聊设计模式系列。本篇文章是蜗牛君漫聊设计模式系列的第一篇文章,若有不足之处还望大家见谅,与此同时大家也可以评论区留言,蜗牛君积极改正。今天要讲的是代理模式中的静态代理。正所谓艺术来源于生活而高于生活,代理模式同样也来源于生活又高于生活。接下来让我们通过一个现实生活中的例子来感受一下代理模式的神奇吧。01大家作为职场人士都会有一些共同的社会属性,比如缴纳社...

2019-06-26 22:36:34 157

原创 HandlerThread全面分析讲解

一、简介上一篇文章中我们很透彻的讲了android系统的消息机制原理【消息机制原理全面讲解】,再彻底的掌握了原理的基础上现在我们来看一下消息机制的常见使用方式。其中,HandlerThread是android系统为我们提供的一个工具类,这个工具类是将我们在子线程中手动创建消息机制的过程给封装了起来,便于我们的开发使用。接下来我们就结合原理篇来看看官方是如何封装的这个工具类。首先我们看看官方源码...

2019-05-16 16:20:53 239

原创 Android消息机制原理全面讲解

一、简介消息机制这个知识点,从我们第一天写android应用时就接触到了,可能大部分时间我们都用它来更新主线程的UI界面,使用上应该没事问题,但是知其然还要知其所以然,今天就让我们通过一篇文章彻底的,透彻的,永久的理解并记住Android消息机制的原理。整篇文章会围绕下面几个问题展开:1、消息机制的作用?Handler作为消息机制的发起者和终结者,我们看看Handler源码中的注释是如何说的...

2019-05-16 16:16:26 1010

原创 关于Service服务常用的知识

一、Service的简单概述在后台长时间运行操作而没有用户界面的应用组件,服务可由其他组件启动,即使用户切换到了其他应用,服务仍将继续在后台运行。例如,服务可以处理网络事物,播放音乐,执行文件I/O,与内容提供程序交互等等。服务有两种启动方式:(1)一种是服务可由其他应用组件启动(Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响,一...

2019-05-14 11:51:05 447

原创 关于Activity常用的知识(二)---任务和堆栈

一、任务定义指在执行特定作业时与用户交互的一系列Activity,这些Activity按照自己的打开顺序排列在堆栈(也叫返回栈)中。Android任务栈又称为Task,具有后进先出的特性,用于存放Activity组件;只有处于栈顶的Activity才可以与用户交互;当退出应用时,会清空任务栈,此时任务栈才会被销毁;任务栈也可以转移到后台,其中所有的Activity任然存在,只是失去了焦...

2019-05-14 11:19:40 365

原创 关于Activity常用的知识(一)---生命周期

一、初识ActivityActivity是Android四大组件之一,为用户提供可交互的屏幕,每个Activity都会获得一个用于绘制其用户界面的窗口。一个应用由多个Activity组成,通常会设置一个主Activity,就是启动的时候首先打开的那个Activity。当一个Activity启动另一个新的Activity时,旧的Activity会立刻停止,系统会将它保留在堆栈中,而新的Act...

2019-05-14 10:32:39 248

原创 《ReactNative系列讲义》高级篇---09.热更新差量更新

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介通过前面几篇文章我们已经实现了全量热更新,这仅仅是实现了热更新的第一步,全量更新的bundle包会稍显大一些,差量更新就是给bundle包做瘦身。 大致思路如下: 发布APP版本前,保留发布版APP的bundle包;等再次更新的时候,手动打bundle包,将生成的bundle包和保存的原始版本做差量动作,生成差量包;将生成...

2018-03-06 17:05:17 875

原创 《ReactNative系列讲义》高级篇---08.热更新分支逻辑实现

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介前面我们已经把热更新的主体逻辑讲完了,并且主节点的代码实现也一一讲解了。本篇文章我们来详细讲解分支逻辑的技术实现,这部分的内容偏JAVA基础,基本属于辅助性功能,但是实现的好坏也关系到效率的高低,接下来我们一起来看看主节点2.5.6.8的分支内容的实现过程。二、代码讲解1. 构造方法及相关对象的实现//...

2018-03-06 17:02:45 329

原创 《ReactNative系列讲义》高级篇---07.热更新全量更新主体代码实现

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介上一篇文章中我们已经大概的了解到了热更新的作用,实现思路与技术节点。既包含了全量更新也包含了差量更新,不过仅限于Android平台。我们分步前进,先做全量更新,在做增量更新;先做代码的增量更新,在做图片的增量更新。下面我们一起看看具体的实现代码如何编写。二、代码实现1. 服务器端的准备我使用的是免费的云后台...

2018-03-06 17:01:22 988

原创 《ReactNative系列讲义》高级篇---06.热更新思路讲解

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介热更新技术是ReactNative框架的一大特色。简单的说,热更新技术就是在无需用户重新下载APP SDK的情况下,更新已安装的APP除Native之外的功能,并且绝大部分情况是在用户不知道的状态下更新成功。最常见的使用场景就是一些电商类的APP在活动日替换符合活动日主题的页面,新增功能(不涉及Native功能)等等。也常用于...

2018-03-06 16:58:26 388

原创 《ReactNative实战讲义》react-native-router-flux框架篇---刷新当前页面的属性

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、内容简介给NavigationBar左上角或右上角添加点击事件二、代码实现使用到的框架属性leftTitle:左上角按钮的名字onLeft:左上角按钮的点击事件rightTitle:右上角按钮的名字onRight:右上角按钮的点击事件其他属性也可进行刷新eg:componentDidMoun...

2018-02-27 23:25:45 1884

原创 《ReactNative实战讲义》Flux框架篇---Flux框架应用

| 版权声明:本文为博主原创文章,未经博主允许不得转载。三、登录功能封装1. 创建Api.js文件封装POST请求方法function _doPost(url, formData) { return new Promise((resolve, reject) => { fetch(url, { method: 'POST', h...

2018-02-27 23:21:13 317

原创 《ReactNative实战讲义》Flux框架篇---Flux框架基础

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、基础概念介绍1.register(function callback):string注册监听器,用于监听任何的dispatched payload2.unregister(string id)取消某个dispatch的监听3. waitFor(array ids):void可以使当前执行的dis...

2018-02-27 23:19:46 335

原创 《ReactNative系列讲义》基础篇---09.Conditional Rendering

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介前面几篇文章介绍了React的数据类型和组件的概念,因此我们知道在开发时,我们可以将一些功能拆分出来,哪怕很小的功能,都是可以拆分出来的。当我们使用的时候,会根据状态值来判断我们需要加载哪一部分组件,不加载哪一部分组件。今天,我们就一起来看看根据条件渲染UI组件。 React中根据条件渲染组件的工作原理和JavaScri...

2018-02-12 20:31:24 289

原创 《ReactNative实战讲义》Redux框架篇---(四)高级应用

| 版权声明:本文为博主原创文章,未经博主允许不得转载。Redux框架篇系列文章总目录: 《ReactNative实战讲义》Redux框架篇—(一)基础知识 《ReactNative实战讲义》Redux框架篇—(二)基础应用 《ReactNative实战讲义》Redux框架篇—(三)高级知识 《ReactNative实战讲义》Redux框架篇—(四)高级应用一、简介上篇文章...

2018-01-25 15:36:00 741

原创 《ReactNative实战讲义》Redux框架篇---(三)高级知识

| 版权声明:本文为博主原创文章,未经博主允许不得转载。Redux框架篇系列文章总目录: 《ReactNative实战讲义》Redux框架篇—(一)基础知识 《ReactNative实战讲义》Redux框架篇—(二)基础应用 《ReactNative实战讲义》Redux框架篇—(三)高级知识 《ReactNative实战讲义》Redux框架篇—(四)高级应用一、简介Redu...

2018-01-24 22:30:05 468

原创 《ReactNative实战讲义》Redux框架篇---(二)基础应用

| 版权声明:本文为博主原创文章,未经博主允许不得转载。Redux框架篇系列文章总目录: 《ReactNative实战讲义》Redux框架篇—(一)基础知识 《ReactNative实战讲义》Redux框架篇—(二)基础应用 《ReactNative实战讲义》Redux框架篇—(三)高级知识 《ReactNative实战讲义》Redux框架篇—(四)高级应用一、简介在上一篇...

2018-01-24 22:17:17 354

原创 《ReactNative实战系列》Redux框架篇---(一)基础知识

| 版权声明:本文为博主原创文章,未经博主允许不得转载。Redux框架篇系列文章总目录: 《ReactNative实战讲义》Redux框架篇—(一)基础知识 《ReactNative实战讲义》Redux框架篇—(二)基础应用 《ReactNative实战讲义》Redux框架篇—(三)高级知识 《ReactNative实战讲义》Redux框架篇—(四)高级应用一、简介今天给大...

2018-01-17 10:34:03 775 1

原创 《ReactNative系列讲义》高级篇---05.react-native-vxgplayer ReadMe

| 版权声明:本文为博主原创文章,未经博主允许不得转载。Install 安装npm i react-native-vxgplayer –saveImport 导入Android Studiosetting.gradle include ':react-native-vxgplayer'project(':react-native-vxgplayer')...

2018-01-04 11:00:14 346

原创 《ReactNative系列讲义》高级篇---04.制作npm插件并发布

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介npm组件制作完成,下一步需要提交到npm服务器。这样,无论是自己还是其他开发者,都可以通过npm命令进行组件的安装。二、流程1. 创建新文件夹创建新文件夹(独立的)react-native-vxgplayer2. 创建新目录react-native-vxgplayer文件下创建新路径and...

2018-01-04 10:57:35 643

原创 《ReactNative系列讲义》高级篇---03.编写npm组件

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介ReactNative Android版的发布已有两年多了,RN官网的迭代速度也是相当之快,给广大开发者提供的API也相当丰富了,但是官方给出的API也只能是共有功能或者是常用功能。但实际中,每款APP都会根据自己的产品需求开发一些特有功能。这篇文章就通过一个支持RTSP协议的摄像头功能组件,给大家介绍一下如何制作个性化的...

2018-01-04 10:54:53 796

原创 《ReactNative系列讲义》高级篇---02.JavaScript与Native之间的通信(二)

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介上篇文章介绍到功能组件的封装,JS端和Native端之间的通讯相对来讲还是很简单的,今天我们介绍封装UI组件以及JS端和Native之间的通信方式。1. 创建CustomImageView类// 创建自定义Viewpublic static class CustomImageView extends Vi...

2017-11-13 22:22:33 514

原创 《ReactNative系列讲义》高级篇---01.JavaScript与Native之间的通信(一)

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介随着项目功能的多样化,复杂程度逐渐的增大,就会出现ReactNative官方API中有些组件无法满足产品需求,那么我们就需要自己来定义我们产品特殊需求的组件。 组件又包含功能性组件和视图组件;功能性组件中大部分都是用户通过点击之类的触发JS端调用Native组件功能,触发类型与操作方式相对简单,因此JS与Native之间...

2017-11-13 22:11:12 646

原创 《ReactNative系列讲义》进阶篇---07.Refs

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介有时我们需要组件的非典型数据或者方法,并不是以属性的方式出现,而是通过组件的引用调用。一般常见的使用场景有:管理焦点、文本选择、媒体播放、触发必要的动画、合并第三方库等等。下面让我们通过几个简单的demo来认识一下refs。二、基础知识ref是组件的一个特殊属性,任何一个组件都带有该属性。ref属性通过call...

2017-09-07 21:56:32 513

原创 《ReactNative系列讲义》进阶篇---06.FlatList(三)

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介截止到上篇文章,关于FlatList无论是简单的还是高级的属性用法都已经介绍完毕,今天我们一起来看看FlatList更高级的玩法,相关方法的调用。二、基础知识获取FlatList的引用scrollToEnd:直接跳转到内容的底部,建议设置getItemLayout属性,不然会出现卡顿scrollToIndex...

2017-09-06 23:37:30 8768 2

原创 《ReactNative系列讲义》进阶篇---05.FlatList(二)

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介上篇文章中我们了解到了FlatList组件的基本用法,其实FlatList还有很多丰富的功能,可实现更多更灵活的业务需求,接下来让我们一起来看看吧~二、基础知识支持单独的头部文件// Header布局_renderHeader = () => ( <View><Tex...

2017-09-05 21:51:46 4393 1

原创 《ReactNative系列讲义》进阶篇---04.FlatList(一)

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介FlatList,平面列表。应用场景一 般是有大量的数据一条一条的罗列出来。这些数据的属性相同,但是内容不一样。那现实中究竟是怎样的一种情景呢,下面我们一起来看看FlatList的基本用法。二、基础知识1. FlatList有哪些特性?支持跨平台(同时支持Android和IOS等平台)支持水平布局...

2017-09-04 21:54:37 2587

原创 《ReactNative系列讲义》基础篇---08.Networking

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介几乎所有的应用都需要和服务器端进行交互,以此从服务器端获取各种数据。RN中网络请求简单明了并且支持多种请求方式。下面让我们一起看看官方标准的网络请求方法(fetch)如何使用。二、基础知识fetch方法支持GET和POST请求方式第一个参数输入URL,第二个参数用来自定义HTTP请求,添加自定义的请求头或者PO...

2017-08-31 21:46:54 371

原创 《ReactNative系列讲义》基础篇---07.Handling TextInput

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介学完了数据控制,学完了设置样式,也学完了事件的处理,今天我们来学习第一个交互性组件:TextInput。该组件的应用过程中会使用到上面所有学过的知识,因此该组件也算是一个综合应用知识的案例。二、基础知识基础属性:onChangeText 获取用户输入的内容,方法类型的属性(callback),用户输入的数据会以参...

2017-08-30 21:24:40 296

原创 《ReactNative系列讲义》基础篇---06.Layout and Flexbox

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介上一篇中介绍了组件尺寸的定义方式,今天聊聊组件位置的定义方式。首先是在父组件中确定子组件的布局方式,然后选择子组件在主轴上的排列方式和次轴的排列方式。Flexbox的设计初衷是为了使布局适应不同尺寸的屏幕。除个别例外,其他的方面都和CSS中的思想保持一致。二、基础知识flexDirection:决定主轴的布局...

2017-08-29 18:31:04 582

原创 《ReactNative系列讲义》基础篇---05.Style and Flex

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介每一个核心组件都自带一个style属性,用来添加组件的样式,比如字体大小、颜色、排列方式,组件的布局方式、位置等等。下面让我们一起来学习一下style样式的基本用法。二、基础知识style属性名称和CSS一样,只不过命名规则使用驼峰法。style属性最简单的方式是JavaScript对象类型,也可写成数组类型;...

2017-08-28 21:37:52 470

原创 《ReactNative系列讲义》基础篇---04.Handling Events

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介学完了数据,接下来我们学学方法的创建与调用,以及触发方法的载体。二、基础概念1. 触发Event事件的载体ReactNative组件:Button, Touchables(包括:TouchableHighlight, TouchableNativeFeedback, TouchableOpacity, ...

2017-08-26 23:32:39 411

原创 《ReactNative系列讲义》基础篇---03.State and Lifecycle

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介上篇文章中我们一起学习了Components and Props,知道了ReactNative中两个基本概念:组件和属性,并且知道了两者之间的关系和使用方法与特性。这篇文章我们一起来认识一下ReactNative中的第二种数据类型:State。 State数据类型应用范围在组件内部,并且可依据需求实时变化并改变UI。...

2017-08-25 22:22:03 476

原创 《ReactNative系列讲义》基础篇---02.Components and Props

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介Components能够让你将UI独立分开,碎片化并重复使用。今天我们通过学习ReactNative中的数据类型来看看如何创建独立的UI Components。RN中控制组件的数据类型有两种,一种作用于组件间,叫做Props;一种作用于组件内部,叫做State。这篇文章我们先来学习一下组件间数据类型Props,也正是因为有...

2017-08-24 22:32:20 429

原创 《ReactNative系列讲义》基础篇---01.JSX

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介JSX属于React的基础概念,是JavaScript的延伸部分,正是JSX创造了React的元素。通俗的来讲,JSX类似于Web端的DIV等标签,用来描述UI该是什么样子。但是和HTML还是有一些差别的,因此我们需要重新来学一下这门新的标签语言,如果有熟悉HTML标签语言的朋友可以在学习JSX时类比一下HTML,看看到底...

2017-08-23 22:28:34 455

原创 《ReactNative系列讲义》进阶篇---03.Modal

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、简介项目开发中,总会遇到弹出窗,弹出窗的功能可能会是确认、单项选择、多选、提示等等,一般情况下我们想要的效果通常是在当前页面触发事件,弹出遮罩层,并不会完全覆盖掉当前页面,当前页面处于部分可见,而布局的焦点处于遮罩层上,一般可见布局位于中央部分,本篇博客带大家制作一个单选框的Modal二、思路整理定义需要的属性,定义属性...

2017-07-10 17:38:59 506

原创 《ReactNative系列讲义》进阶篇---02.自定义机场选择列表 AirportListView

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、内容简介对于拥有国外市场或者通讯功能的APP来说,通过列表展示选择自己需要的数据是很常见的功能模块,例如:通讯录,选择国家等等。这类组件的实现原理基本一致,本篇文章带大家实现一个机场的列表选择模块。 目前只实现了最基础的首字母定位查找功能,首字母分组功能,后期会加上模糊查询,热门城市推荐。技术点总结ReactNativ...

2017-05-17 15:00:46 727

原创 《ReactNative系列讲义》进阶篇---01.自定义单选对话框 SingleChoiceDialog

| 版权声明:本文为博主原创文章,未经博主允许不得转载。一、内容简介在我们日常的开发中经常会遇到以Dialog对话框的形式,进行单项选择的操作,例如:选择性别,选择语言等等。在这篇文章中,我们以翻译工具的选择语言功能为例,编写单项选择插件。 大体思路如下: 以ReactNative官方提供的Modal组件为核心,通过定义插件所需要的属性(props),封装出SingleChoiceDi...

2017-05-16 10:46:03 1697

空空如也

空空如也

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

TA关注的人

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