自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小炫风技术旅行

技术驱动世界

原创 React native 生成资源清单文件

在开发中,我们时常要引用很多资源,比如图片,字符串,颜色等等,react 这个引用方法 import和require 必须传递相对路径,不便于移动应用开发,本人实在受不了这种引用方式,而且require加载图片,不能是变量,很烦人,我给出一种映射解决办法上面这种图片引用方式实在太痛苦,我给出一种优雅方案,动态产生资源清单文件:第一步:在项目根目录新建一个init.js文件第二步...

2018-11-20 21:54:49 358

原创 NDK体验篇

前提:1. 下载最新的android studio,下载地址参考2. 下载cmake和NDK库第一个demo:会自动创建一个c++文件java类自动装载和声明了运行效果:到此 利用cmake的方式 NDKdemo完成了疑问:怎么没有看到.so文件呢?...

2018-10-09 17:07:30 106

原创 Spring AOP 的实现原理

Spring AOP 的实现原理 原理概述:织入的时机1. 编译期(AspectJ)2. 类加载时(AspectJ 5+)3. 运行时(Spring AOP)运行时织入原理1. 从静态代理到动态代理2. 基于接口代理与基于继承代理简单代理对象: package com.example.proxy;/** * com.example.prox...

2018-04-07 19:57:51 896 1

原创 mqtt 异步消息 长连接 解析

mqtt 是轻量级基于代理的发布/订阅的消息传输协议,设计思想是开放,简单,轻量级,且易于实现,这些优点使得他受用于任何环境该协议的特点有: 使用发布/订阅消息的模式,提供一对多的消息发布,解除应用程序耦合对负载内容屏蔽的消息传输使用TCP/IO 提供的网络连接有三种消息发布服务质量:  "至多一次",消息发布完全依赖底层TCP/IP 网络,会发生消息丢失或者重复,

2016-07-13 14:09:55 23992 2

原创 picasso 图片缓存库介绍

picasso  毕加索 是sequre公司开源的一个图片缓存库,(sequre公司是一个技术很nb的公司 开源项目有retrofit okhttp等众多优秀开源项目) 毕加索github地址1:可以实现图片下载和缓存功能2:picasso 已经解决了adapter中错位问题3:复杂的图片进行压缩,尽量减少内存的消耗4:实现内存缓存和二级硬盘缓存的效果picasso 框

2016-06-05 16:58:42 1608

原创 Realm 使用教程

Realm Java 原文 官网 https://realm.io/cn/docs/java/latest/0.90.1 Realm Java 让你能够高效地编写 app 的模型层代码,保证你的数据被安全、快速地存储。参考下列示例来开始你的 Realm 之旅:// Define you model class by extending the RealmObjectpublic class

2016-05-25 11:27:32 15504 2

原创 Gson 解析教程

Gson 是google解析Json的一个开源框架,同类的框架fastJson,JackJson等等本人fastJson用了两年,也是从去年才开始接触Gson,希望下面的总结会对博友有用,至于Gson与FastJson的对比,其实半斤八两的问题,不再赘述第一步:在AS下面创建java工程 并添加gson依赖compile 'com.google.code.gson:gson:2.6

2016-05-18 13:43:38 95963 10

原创 android 玩转相机开发

android 玩转相机开发

2020-01-07 19:43:56 67

原创 Mac搭建私有maven仓库,Maven私服搭建

本篇博客依照nexus-3.19.1-01版本作为教程1.下载Nexus Repository Manager 3下载下载后解压到你常用的开发目录就好2.开启服务命令/Users/用户名/Documents/nexus-3.19.1-01-mac/nexus-3.19.1-01/bin/nexus start技巧:把这个文件拖到浏览器中,就会显示完整路径...

2019-11-26 14:59:32 517

原创 React-Router使用笔记

在 web 应用开发中,路由系统是不可或缺的一部分。在浏览器当前的 URL 发生变化时,路由系统会做出一些响应,用来保证用户界面与 URL 的同步。随着单页应用时代的到来,为之服务的前端路由系统也相继出现了。react路由框架有很多,下面来一一解剖:react-router源码地址:https://www.npmjs.com/package/react-router或者https://gi...

2018-12-29 21:00:41 183

原创 ES6笔记

结构数组:Array Destructuring我们可以用这种范式来得到x对应位置的值let x=['zhangsan','lisi','wangwu'];let [z,l,w]=x;//z,l,w可以是任意名称document.write(z+l+w);//输出:zhangsanlisiwangwu对象解构 var x={name:"zhangsan",age:30}...

2018-12-19 17:35:41 142

原创 xxf_hud 使用介绍

由于rn的开源项目实在太少,想要像android ios那样有hud,既能loading,又能提示各种状态的hud,所以我封装了一个react_native平台的hud:运行效果:添加依赖: yarn add xxf_huddemo 源码: import React, {Component} from 'react'import { View, ...

2018-10-24 17:03:21 130

原创 TypeScript从0到1

什么是typescript?中文官网地址:点击typescipt的优势一个第特性叫做类型检测在打字稿里面的英文运行为变量指定类型的,比如当你为这个变量指定数字类型的值的时候,IDE会做出类型检查,然后告诉你这里可能会有错误,这个特性会减少你在开发阶段犯错误的几率。 第二个特性是语法提示在IDE里面去编写打字稿的代码时,IDE会根据你当前的上下文,把你能用的类,变量,...

2018-10-22 17:05:32 396

原创 RN 跨级传参(全局参数context)

我们知道props可以传递参数,但是需要一级一级地传递(A->B->C...),非常麻烦,这里提供一种用context实现跨级参数传递; Context属性的使用步骤 [准备阶段] 1.在产生的参数的最顶级组件中,使用childContextTypes静态属性来定义要放入全局参数的类型 2.在父组件中,提供状态,来管理数据 3.声明子组件获取全局参数的方式 imp...

2018-10-14 15:37:26 901

原创 RN 类的使用

类的创建声明类的关键词:classStudent.jsexport default class Student { constructor(name, age) { this.name = name; this.age = age; } getDesc() { return "我是:" + this.name ...

2018-10-13 11:07:24 238

原创 RN refs使用

refs 是什么呢?简单理解为组件的id标示,可以在其他地方找到这个这个组件,类似Android view的id实际例子: import React, {Component} from 'react';import {Image, Platform, StyleSheet, Text, View} from 'react-native';export default class ...

2018-10-13 10:29:51 562

原创 RN state使用详解

        我们使用两种数据来控制一个组件:props和state。props是在父组件中指定,而且一经指定,在被指定的组件的生命周期中则不再改变。 对于需要改变的数据,我们需要使用state。        一般来说,你需要在 constructor 中初始化state(译注:这是 ES6 的写法,早期的很多 ES5 的例子使用的是 getInitialState 方法来初始化 stat...

2018-10-12 16:29:11 1049

原创 RN的props使用详解

  props是组件的属性,描述一个组件的,类似Android Attribute如下实例,props从外部传递进来:import React, {Component} from 'react';import {Platform, StyleSheet, Text, View} from 'react-native';export default class PropsCo...

2018-10-12 14:25:06 1712

原创 RN的导入导出

1.类的导出和导入在官方生成的项目中,我们可以看到一个特别的关键字 exportexport就是提供给外部导入的标示导入语法:import LifecycleComponent from "./xxxComponent";2.变量的导出导入导出变量:方式1:方式2:导入变量:import {age, name} from "./ExportCompone...

2018-10-12 11:34:00 242

原创 RN组件生命周期

在Android 和IOS我们都知道组件都有生命周期,RN的组件依旧不例外;RN组件的生命周期主要分为3个部分1.装载组件2.更新组件3.卸载组件方法名 作用 调用次数 constructor 构造函数,初始化需要state 1次 componentWillMount 控件渲染前触发 1次 render 渲染控件的方法 ...

2018-10-12 10:56:38 488 1

原创 RN创建组件的三种方式

RN创建组件的三种方式:1.ES6(推荐,比较新的语法)2.ES53.函数式创建Hellocomponent.jsimport React, {Component} from 'react';import {Platform, StyleSheet, Text, View} from 'react-native';/** * 方式1:ES6 */export defa...

2018-10-11 17:56:04 1011 1

原创 RN错误大全

500之 index.js could not be found App.jsURL: http://10.0.2.2:8081/index.delta?platform=android&dev=true&minify=falseerror: bundling failed: Error: Unable to resolve module ./../react-tran...

2018-10-11 12:03:33 561

原创 WebStorm开发React Native

1.下载webstorm百度一下就知道了2. 在webstorm下配置node环境:2.安装官方支持架包npm install -g create-react-app3.新建react app项目new project进入构建中...(稍等一会)构建完成...

2018-10-11 10:18:14 128

原创 Mac平台搭建RN开发环境

1.安装 Node, Watchman官方参考brew install nodebrew install watchman如果出现出现 brew install node command not foundbash 下执行 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/maste...

2018-10-10 20:09:09 1411

原创 NDK交互处理之数据类型

java 和c,c++数据类型并不一致,如何建立通信桥梁呢?并不像网络传输 text或者json等等可以完成约定,那么他们之间的转化关系是什么样子呢?参考官方文档基本数据类型转化如下:2.引用类型如下: ...

2018-10-09 17:30:21 132

原创 java重新认识线程的状态

java线程的状态又称为线程的生命周期,源码如下:  /** * A thread state. A thread can be in one of the following states: * <ul> * <li>{@link #NEW}<br> * A thread that has not ye...

2018-09-29 19:31:34 79

原创 java Classloader 类加载器

类的加载时指将类的.class文件中的二进制数据读取到内存中,将其存放在运行时数据区的方法区,然后在堆区创建一个java.lang.Class对象,用来封装类在方法区的数据结构 java虚拟机与程序的生命周期在如下几张情况,java虚拟机讲结束生命周期1.执行了System.exit()方法2.程序正常执行结束3.程序在执行过程中遇到异常或错误终止4.由于操作系统出现错误...

2018-09-23 19:15:03 96

原创 Java 8 Lambda表达式

只能用于函数式接口语法如下:/** * ():表示参数列表,不需要指定参数的类型,会自动推断 * -> :链接符 * {} :表示方法体 */实例1 @FunctionalInterface interface IWorker { void test(); } /** * ():表示参数列表,不需要指定参数...

2018-09-20 10:58:31 49

原创 Java8 在接口的变化

Java8 对接口的改变1.增加了default方法和static方法,这两种方法完全可以有方法体2.default方法属于实例,static方法属于类(接口)3.接口中的静态方法不会被继承,接口中的静态变量会被继承实例如下: package com.xxf.lambda.java8features;/** * com.xxf.lambda.java8features ...

2018-09-19 16:31:09 2656

原创 手动实现一个可重入锁

首先 自定义一个锁,我们可以实现Lock接口;lock接口源码如下:package java.util.concurrent.locks;import java.util.concurrent.TimeUnit;public interface Lock { void lock(); void lockInterruptibly() throws Inte...

2018-09-18 16:58:44 310 1

原创 java CountDownLatch

countdownlatch是一个用来控制并发很常见的工具,可以接受到其他线程都执行完毕的消息1.创建countdownlatch/** * Constructs a {@code CountDownLatch} initialized with the given count. * * @param count the number of times {@...

2018-08-19 22:33:21 90

原创 java cyclicbarrier的使用

一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环 的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到...

2018-08-19 21:58:27 129

原创 java semaphore实现信号灯

java semaphore实现信号灯semaphore可以维护当前访问自身的线程个数,并提供了相应的同步机。使用semaphore可以控制同时访问资源的线程个数.例如:实现一个文件允许的并发访问数.       semaphore实现的功能就类似测试所有的5个坑,假如有是个人要上测试,那么统发能有多少个人去上测试呢?同时只能有5个人能够占用,当5个人中的任何一个人让开后,其中等待的的...

2018-08-19 20:03:32 303

原创 JS从0到1

类型判断typeof(xx)js可以定义为一门弱类型语言,当然也有typescript强制约束类型,js获取变量的类型的方法:typeofvar xx='hello';console.log(xx);alert("type:"+typeof(xx));输出:type:string;注意:数组的类型也是objectvar arr=[1,2];alert('arr t...

2018-08-07 13:42:33 162

原创 Kotlin 函数和函数表达式

函数的定义关键字fun函数中的参数定义(s:String) 变量名:变量类型函数的返回值 fun myFun(s:String):返回值类型(如String)  函数中返回依旧return 例子:  fun myFunc(name: String, age: Int): String { return "my name is $name age is...

2018-07-24 17:53:48 505

原创 Android P版本应用兼容性适配技术指导

ndroid P版本中伴随很多机制和新增特性的改变,对自研以及第三方应用带来了很多兼容性问题。本文档第1章主要介绍谷歌P版本开发环境搭建以及调试;第2章节主要是对P版本兼容性现状一些摸底测试情况以及问题分类;第3章节主要是P版本一些特性介绍以及应用适配P版本的一些开发指导。1. Android P背景1.1 Android P版本里程碑Preview 1 (initial release, alp...

2018-07-02 11:49:44 4855

原创 OC 时间格式化

创建时间对象 //日期创建 NSDate *d=[NSDate date]; NSLog(@"date==%@",d);

2018-07-01 22:59:03 747

原创 OC NSArray与字典用法

OC NSArray用法

2018-06-18 19:21:23 157

原创 OC NSPoint用法

NSPoint源码typedef CGPoint NSPoint;/* Points. */structCGPoint { CGFloat x; CGFloat y;};typedef struct CG_BOXABLE CGPoint CGPoint;

2018-06-17 19:00:39 707

原创 OC NSRange用法

NSRange的定义typedef struct _NSRange { NSUInteger location; NSUInteger length;} NSRange;从源码中我们可以看到,NSRange是一个结构题,其中location是一个以0为开始的index,length是表示对象的长度;...

2018-06-17 18:25:58 1492

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