自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小炫风技术旅行

技术驱动世界

  • 博客(238)
  • 资源 (3)
  • 收藏
  • 关注

原创 android/ios 一键抽取硬编码字符串

android studio 插件 一键抽取硬编码字符串。由于老项目 做国际化困难,抽取繁琐。最终实在蛋疼 最终开放插件来解决。xcode 一键抽取硬编码字符串。

2023-05-23 11:29:34 1618 2

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

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

2018-11-20 21:54:49 885 1

原创 NDK体验篇

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

2018-10-09 17:07:30 218

原创 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 1144 2

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

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

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

原创 picasso 图片缓存库介绍

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

2016-06-05 16:58:42 1846

原创 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 19265 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 102089 11

原创 mybatis 以及plus 枚举处理

但是给转换仅仅是将对应的枚举转换为其索引位置,也就是"ordinal()"方法获取到的值。* 对于jackson 只需要在枚举常量添加@JsonProperty注解。* 对于gson 只需要在枚举常量添加需要@SerializedName。或者都不写序列化注解,那么会自动序列化枚举声明的字段名字 而不会导致报错。当然也可以通过代码来注册(找一个初始化bean的组件来调用下面的代码)很明显我们一般只关心序列化的注解,那么又增加一套注解麻烦。:该类实现了枚举类型和Integer类型的相互转换。

2024-04-08 17:51:33 400

原创 HarmonyOS(鸿蒙)ArkUI组件

方舟开发框架(简称ArkUI)为HarmonyOS应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。一:Image图片的数据源,支持本地图片和网络图片属性名称参数类型描述altstring |加载时显示的占位图,支持本地图片(png、jpg、bmp、svg和gif类型),不支持网络图片。默认值:null从API version 9开始,该接口支持在ArkTS卡片中使用。

2024-03-17 17:41:44 504

原创 HarmonyOS(鸿蒙)不再适合JS语言开发

鸿蒙本身有两套架构模型一种是Stage模型一种是FA模型 已经不再主推基于Js应用的只有FA模型到底什么是模型?官方解释为:HarmonyOS应用模型的构成要素包括:应用组件应用组件是应用的基本组成单位,是应用的运行入口。用户启动、使用和退出应用过程中,应用组件会在不同的状态间切换,这些状态称为应用组件的生命周期。应用组件提供生命周期的回调函数,开发者通过应用组件的生命周期回调感知应用的。

2024-03-13 12:12:38 970

原创 HarmonyOS(鸿蒙)快速入门

其他部分都一直next 就行,这个页面出现的install 建议都点击install 然后单独选择安装目录。可能存在的问题 就是nodejs 版本低 等情况 所以建议你单独安装一次 老版本的nodejs两者能共存。鸿蒙的开发工具叫DevEco 下载。

2024-03-13 10:54:05 172

原创 Android 签名机制

google 就是利用zip --EFS附加节点,除了附加节点之外的字节数据全部拿来计算hash,存入附加数据,该分块包含多个“ID-值”对,所采用的封装方式有助于更轻松地在 APK 中找到该分块。V2 整个APK文件,按文件进行hash 那么便不能随便在这里面增加文件了,增加了签名分块(不然签名信息存哪里)这里涉及一个文件概念 魔数!V1是内部文件单个签 但是增加apk文件目录下面随意增加文件并不会有影响,它只关心meta-info文件 mf汇总清单的各个文件sha256。

2024-03-01 15:11:50 519

原创 Android 应用基准分析

先推荐一个作者的开源项目 最快的Json解析方式benchmark数据开局一张图 下面再编今天要做的是Microbenchmark。

2023-12-19 13:35:36 245

原创 Gson 自动生成适配器插件

gson 零反射;编译生成gson typeAdapter;解析效率提升3倍,比moshi 和ks都快

2023-12-04 20:37:26 310

原创 Jetpack Compose 入门教程之Text

jetpack compose 文本处理

2023-09-07 11:09:31 485

原创 JetPack Compose 入门教程(持续整理笔记)

命令式和声明式 UI大战,个人认为命令式UI自定义成都较高,能更深入到性能,内存优化方面,而申明式UI 是现在主流的设计,比如React,React Native,Flutter,Swift UI等等,现在性能也逐渐在变得更好,还有一个原因compose 是KMM 嫩完整跨平台的UI基础。

2023-08-15 09:58:14 790

原创 android NFC 从0到一

nfc

2023-08-03 20:38:32 352 2

原创 Widget Extention开发笔记

Widget Extention开发笔记

2022-08-08 21:51:46 758

原创 Android 兼容搜狗输入法 英文输入 回车监听无效的bug

Android 应用 大多都没在润键盘监听上做功夫 突然发现搜狗输入法 回车监听无效 于是探索1小时 得出解决方案继承EiditText 复写 @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { return new InputConnectionWrapper(super.onCreateInputConnection(outAttrs),true){

2021-07-10 20:55:54 800 3

原创 NSFileManager类与文件操作

用于对文件与目录进行的多种操作的(创建,复制,重命名,删除等)可以通过defaultManager类方法创建-[NSFileManager defaultManager]一些文件操作的概念:-当前目录:.-上级目录:..-根目录 :/-home目录 ~-绝对路径:从根目录开始的路径-相对路径:从当前目录开始的路径常用的目录操作1.获取当前目录:currentDirectoryPath2.概念当前目录:changerCurrentDireactoryPath:path3.创

2021-06-24 21:10:44 695

原创 对象归档与KVC KVO

对象归档是一个过程,即某种格式来保存一个或者多个对象,以便以后还原这些对象在其他语言中,对象归档也叫对象序列化对象归档包括两个过程--将对象z

2021-06-19 11:34:29 261

原创 Block与局部变量的关系

Block语法 返回值(^Block名字)(参数)=^(参数){ return 返回值}

2021-06-17 19:27:29 300

原创 Kotlin 之高级特性

kotlin高级特性:扩展Java语言并不支持这扩展,java的扩展是多态 也就是要继承类或者装饰设计模式,kotlin允许为某个类构建扩展方法而不用继承或者装饰语法: fun 类名.扩展方法名(参数) eg. fun MutableList<Int>.swap(index: Int, index2: Int) {例子:为list提供交换的扩展方法fun MutableList<Int>.swap(index: Int, index2: Int) { .

2020-12-04 15:49:57 401

原创 Flutter教程

我的共享笔记地址:印象笔记本篇博客属于笔记整理形式,且站在java开发和js开发角度来阐述,有些是直接说和什么类似,一致,不会阐述太多!一.flutter支持的数据类型1. number类型: int和double 注意:double类型的值可以是整形也可以是浮点类型double d=13.5;d=12;2.String类型String nullStr;print(nullStr==null);//truenullStr="";print(nullStr....

2020-10-17 18:23:46 2053

原创 android 玩转相机开发

android 玩转相机开发

2020-01-07 19:43:56 352 1

原创 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 1459

原创 React-Router使用笔记

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

2018-12-29 21:00:41 343

原创 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 239

原创 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 390

原创 TypeScript从0到1

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

2018-10-22 17:05:32 769

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

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

2018-10-14 15:37:26 1744

原创 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 634

原创 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 1134

原创 RN state使用详解

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

2018-10-12 16:29:11 1985

原创 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 4032

原创 RN的导入导出

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

2018-10-12 11:34:00 530

原创 RN组件生命周期

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

2018-10-12 10:56:38 1246 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 1886 1

原创 RN错误大全

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

2018-10-11 12:03:33 972

viewoverlay

viewoverlay 浮层 不影响原视图 适合动画的处理....

2016-01-08

人脸识别,人脸解锁

人脸识别 人脸解锁 99%正确率,简单实用 底层是科大讯飞实现

2016-01-08

加密混淆文件

加密混淆文件 ApkEnTools工具的使用:

2014-11-24

空空如也

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

TA关注的人

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