自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (156)
  • 收藏
  • 关注

原创 hello Kotlin

1.1 Kotlin的身世写了许久 Java,有没有发现其实你写了太多冗余的代码?后来你体验了一下 Python,有没有觉得不写分号的感觉真是超级爽?你虽然勤勤恳恳,可到头来却被 NullPointerException 折磨的死去活来,难道就没有受够这种日子么?直到有一天你发现自己已经写了好几十万行代码,发现居然全是 getter 和 setter!哈哈,实际上你完全可以不用这么痛苦,用 Kot

2016-10-28 14:56:58 4672 2

原创 android 特卖列表倒计时卡顿问题

在Android的开发中,我们经常遇见倒计时的操作,通常使用Timer和Handler共同操作来完成。当然也可以使用Android系统控件CountDownTimer,这里我们封装成一个控件,也方便大家的使用。首先上一张效果图吧:说一下造成卡顿的原因,由于滑动的时候,adapter的getView频繁的创建和销毁,就会出现卡顿和数据错位问题,那么我们每一个item的倒计时就需要单独维护,这里我用的

2016-10-27 20:36:09 5906

原创 android插件化之路

在说插件化之前,我们的理解三个概念:插件化,组件化,动态加载(又叫热加载)Android 插件化 —— 指将一个程序划分为不同的部分,比如一般 App 的皮肤样式就可以看成一个插件 Android 组件化 —— 这个概念实际跟上面相差不那么明显,组件和插件较大的区别就是:组件是指通用及复用性较高的构件,比如图片缓存就可以看成一个组件被多个 App 共用 Android 动态加载 —— 这个实际是更

2016-10-20 20:11:28 5416

原创 初识Node.js

相信对于专注javascript发展的同学来说,nodejs已经不是一个陌生的词眼。有关nodejs的相关资料网上已经铺天盖地。由于它的高并发特性,造就了其特殊的应用地位。借用Node.js官网的定义:Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 np

2016-10-17 22:07:38 4728 1

原创 Android动画深入分析

动画分类Android动画可以分3种:View动画,帧动画和属性动画;属性动画为API11的新特性,在低版本是无法直接使用属性动画的,但可以用nineoldAndroids来实现(但是本质还是viiew动画)。学习本篇内容主要掌握以下知识:1,View动画以及自定义View动画。2,View动画的一些特殊使用场景。3,对属性动画做了一个全面的介绍。4,使用动画的一些注意事项。view动画View动

2016-10-02 23:09:54 4563 1

原创 原型模式

概念: 是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例。被复制的实例就是我们所称的原型。原型模式的拷贝:分为"浅拷贝"和"深拷贝"。(这个和我们理解的拷贝是一样的)浅拷贝: 对值类型的成员变量进行值的复制,对引用类型的成员变量只复制引用,不复制引用的对象.深拷贝: 对值类型的成员变量进行值的复制,对引用类型的成员变量也进行引用对象的复制.组成原型模式涉及到三个角色

2016-10-30 22:03:49 1589

原创 解决Scrollview 嵌套recyclerview不能显示,高度不正常的问题

我们先看一个效果,问题说的就是中间的Grid效果在Scrollview 嵌套recyclerview显示问题,在Android Api 24是好的,不过在5,1,1版本(api 22)缺出现了问题最近项目中,有一个商品详情页面,页面有好几个网格页面,大家说,我们大可以用GridView去做,但是需要方的要求是,我们的网格的中间的线怎么做呢,对于GridView,我们知道我们可以这是一个背景,然后用

2016-10-29 18:18:58 5277

原创 android RecycleView Adapter简单封装

早些时候我们使用系统提供个的BaseAdapter的时候为了满足大家的需要,我们总会对BaseAdapter做一层上层的封装,然后对于实际业务我们只需要关心getView里面的View即可,是代码可读性和可维护性更高,特别是在多View的界面,这个优势就体现出来了,自从Android 5.0后系统提供的,先不说效率如何,这个既然是Google为我们提供的,我们姑且用之,不过说实话,对于它的写法不习

2016-10-29 17:48:03 2229

转载 Qzone React Native改造

Android Qzone 6.1版本在情侣空间涉水React Native,以动态插件方式将情侣空间进行React Natived的改造。在情侣空间基础上,Android Qzone 6.2版本以融合的方式将话题圈进行React Native改造。本文主要讲述话题圈的开发改造流程,相关数据对比及性能优化,本次改造ReactNative基于15Release。一、Android侧项目整体开发流程二

2016-10-27 20:40:23 1577

转载 ios zxing扫码问题

在ios 中 扫瞄二维码,条形码基本有 2中第三方的库,一个是zbar 一个是zxing,zxing 在android中表现的比较出色,但是在ios 中不是很好用,扫瞄效率低,我们一般都用zbar,但是有些 条形码就是很奇葩,用zbar无法识别,下面就是一种 我用了好多ios 的app 都无法识别, 《我查查》,《快拍二维码》,《微信》,自己用zbar都不行,最后用android 手机轻松扫瞄ok

2016-10-27 16:54:20 1592 1

转载 收藏了4年的Android 源码分享

Android 超过2个G的源代码集合~~几乎涵盖了所有功能效果的实现,一应俱全~~应有尽有~~360云盘地址:Android 各类源码集合汇总 (提取码:f930)另外,附上Github上及自己整理的一些代码集合~~Android手势处理集合框架 源码Android 一个简单的缓存框架 源码Android 一个流畅的PDF阅读器 源码Android 利用精简Zxing实现条形码/二维码 扫描De

2016-10-26 17:43:26 2248 1

原创 React实现动画效果

流畅、有意义的动画对于移动应用用户体验来说是非常必要的。和React Native的其他部分一样,动画API也还在积极开发中,不过我们已经可以联合使用两个互补的系统:用于全局的布局动画LayoutAnimation,和用于创建更精细的交互控制的动画Animated。AnimatedAnimated库使得开发者可以非常容易地实现各种各样的动画和交互方式,并且具备极高的性能。Animated仅关注动画

2016-10-25 09:14:23 6595

原创 解释器模式

解释器模式:解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器来解释这个语言中的句子。组成模式所涉及到4个角色:抽象表达式(Expression)角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是一个interpret()方法,称做解释操作。终结符表达式(Terminal Expression)角色:

2016-10-23 19:39:19 1688

原创 策略模式

策略(Strategy)模式策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。概述策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理。策略模式通常把一个系列的算法包装到一系列的策略类里面,作为一个抽象策略类的子类。用一句话来说,就是:“准备一组

2016-10-23 10:39:50 1751

原创 React Native网络请求

很多移动应用都需要从远程地址中获取数据或资源。你可能需要给某个REST API发起POST请求以提交用户数据,又或者可能仅仅需要从某个服务器上获取一些静态内容——以下就是你会用到的东西。新手可以对照这个简短的视频教程加深理解。使用FetchReact Native提供了和web标准一致的Fetch API,用于满足开发者访问网络的需求。如果你之前使用过XMLHttpRequest(即俗称的ajax

2016-10-22 10:13:37 11012 3

原创 android 使用Vysor投影到电脑

有没有好的投影软件可以将android屏幕投影到电脑,当然这种很多,比如360就自带了投影功能,小米盒子也可以(不过貌似只能支持到4.4版本),今天要说的是Vysor,google的一款投影软件。  Visor 的优点:     1、有线连接,画面传输速度快,延时小     在日常消费级的Android投屏领域,有非常多的应用提供无线的投屏演示功能。无线的有点是简单快捷,但是缺点也非常明显:延时严

2016-10-21 14:21:19 3827 1

原创 Android ClassLoader详解

我们知道不管是插件化还是组件化,都是基于系统的ClassLoader来设计的。只不过Android平台上虚拟机运行的是Dex字节码,一种对class文件优化的产物,传统Class文件是一个Java源码文件会生成一个.class文件,而Android是把所有Class文件进行合并,优化,然后生成一个最终的class.dex,目的是把不同class文件重复的东西只需保留一份,如果我们的Android应

2016-10-21 10:13:26 11200 1

原创 android EventBus 3.0使用指南

Enventbus的作用和好处我就不多说了,这里介绍下怎么使用。2.+版本的使用方法public void onEvent(MessageEvent event) { log(event.message);}public void onEventMainThread(MessageEvent event) { textField.setText(event.message);}

2016-10-19 19:59:41 2080

原创 Android 四种常见的线程池

引入线程池的好处1)提升性能。创建和消耗对象费时费CPU资源2)防止内存过度消耗。控制活动线程的数量,防止并发线程过多。我们来看一下线程池的简单的构造public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize,

2016-10-19 09:43:16 5720

原创 Java注解

自Java5.0版本引入注解之后,它就成为了Java平台中非常重要的一部分。Annotion(注解)是一个接口,程序可以通过反射来获取指定程序元素的Annotion对象,然后通过Annotion对象来获取注解里面的元数据。那么什么是注解呢?举一个简单的例子。@Overridepublic String toString() { return "This is String Represe

2016-10-18 19:15:57 2165

原创 Android View架构总结

View和Activity的区别View有哪些?ViewGroup是什么?为什么Google产生ViewGroup?View的层级结构是什么?View的onMeasure()/onLayout()/onDraw()方法做了什么?View和Activity的区别android的四大组件,Activity是四大组件中唯一一个用来和用户进行交互的组件。可以说Activity就是android的视图层。

2016-10-17 22:22:33 6880

原创 Android面试之高级篇

结合自己之前去很多大公司的面试经历和自己面别人的一些题,这里做一些总结,Android面试中常见的面试题。1,Android的Handler运行机制    要解释Handler的运行机制就要讲几个对象:Message、Handler、Message Queue、Looper。Handler获取当前线程中的looper对象,looper用来从存放Message的   MessageQueue中取出M

2016-10-16 12:05:38 1321

转载 android PakageManagerService启动流程分析

PakageManagerService的启动流程图1.PakageManagerService概述PakageManagerService是android系统中一个核心的服务,它负责系统中Package的管理,应该程序的安装、卸载等。后面PakageManagerService简称PMS。2.SystemServer启动PackageManagerService我之前的ATA文章有说到,Syst

2016-10-14 11:41:51 2793

原创 工具武装前端工程师

本文主要介绍前端开发中常用的工具集合。编辑器1. SublimeText(Windows/Mac)可以长期免费试用这个工具已经很火了,我之前是99%的码是这上面撸出来的。关键是它的小巧、简洁、快枪手,长大的文本打开速度也是杠杠的。编码垒字的神器,还能览图/文件对比/....拥有插件扩展机制,在它上面有一系列特别好用的插件,其中最喜欢的插件是  PlainTasks 我用它做一些简单的任务管理,比如

2016-10-13 11:21:13 1279

转载 View绘制流程

1. View 树的绘图流程当 Activity 接收到焦点的时候,它会被请求绘制布局,该请求由 Android framework 处理.绘制是从根节点开始,对布局树进行 measure 和 draw。整个 View 树的绘图流程在ViewRoot.java类的performTraversals()函数展开,该函数所做 的工作可简单概况为是否需要重新计算视图大小(measure)、是否需要重新安

2016-10-13 10:23:37 2622

原创 建造者模式

概念: 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 [构建与表示分离,同构建不同表示]与工厂模式的区别:在建造者模式里,有个指导者,由指导者来管理建造者,用户是与指导者联系的,指导者联系建造者最后得到产品。即建造模式可以强制实行一种分步骤进行的建造过程。建造模式是将复杂的内部创建封装在内部,对于外部调用的人来说,只需要传入建造者和建造工具,对于内部是如何建造成成品的,调

2016-10-12 15:24:28 2121

转载 ECMAScript 6之Set和Map数据结构

Set基本用法ES6提供了新的数据结构Set。它类似于数组,但是成员的值都是唯一的,没有重复的值。Set本身是一个构造函数,用来生成Set数据结构。var s = new Set();[2, 3, 5, 4, 5, 2, 2].map(x => s.add(x));for (let i of s) { console.log(i);}// 2 3 5 4上面代码通过add方法向S

2016-10-11 17:28:06 1503

原创 java 之容器

在Java中,我们想要保存对象可以使用很多种手段。我们之前了解过的数组就是其中之一。但是数组具有固定的尺寸,而通常来说,程序总是在运行时根据条件来创建对象,我们无法预知将要创建对象的个数以及类型,所以Java推出了容器类来解决这一问题。Java的容器类分为List,Set,Queue和Map。我们也称它们为集合类(Collection)。Java使用泛型来实现容器类,例如我们要使用顺序表这一数据结

2016-10-10 18:54:30 1536

转载 Mpg123源代码详解

Mpg123与libmad一样,支持mpeg1,2,2.5音频解码。目前来看mpg123比libmad支持了网络播放功能。而且libmad基本上开源社区在2005年左右,基本停止更新,mpg123至今还在持续更新源代码。1.      mpg123是如何支持某种音频驱动的?Mpg123跟liamad一样,向下也支持oss,alsa,win32等驱动,是如何支持的。Libmad是修改config文件

2016-10-10 15:46:51 3125

原创 Android Studio自动导包

很多同学在使用Android Studio的时候会发现不进行设置的话它不能自动的导入一些包名,当然有快捷键Alter + enter键但是只能导入一个。但是当我们的项目比较大的时候,有些代码和方法用的比较多的时候,我们手动导包会显得比较麻烦。1,setting或者选择studio的小小扳手然后就可以自动导入了。

2016-10-10 10:41:31 1107

APMInsigh Android性能监控代码

APMInsight Android性能监控示例代码,本文介绍如何在应用性能监控全链路版控制台接入应用。

2022-09-27

Android离线包前端代码

Android离线包前端代码,在前端打包的过程中同时生成离线包,我的思路是 webpack 插件在 emit 钩子时(生成资源并输出到目录之前),通过 compilation 对象(代表了一次单一的版本构建和生成资源)遍历读取 webpack 打包生成的资源,然后将每个资源(可通过文件类型限定遍历范围)的信息记录在一个资源映射的 json 里

2022-06-03

AndroidDemo.zip

AndroidDemo.zip

2021-12-18

Flutter 跨平台应用开发简单的示例

Flutter 跨平台应用开发简单的示例,常见组件效果,路由混合开发示例

2021-01-13

ModalViewDemo.zip

React Native自定义Modal弹框,文章参考https://xiangzhihong.blog.csdn.net/article/details/110388181

2020-11-30

ArouterDemo.zip

Arouter模块化开发示例,详情可以参考https://xiangzhihong.blog.csdn.net/article/details/94736340

2019-07-05

NotchScreenTool-master.zip

现在,市面上的屏幕尺寸和全面屏方案五花八门,而最常见的就是刘海屏,不过对于右侧较小的刘海,业界一般称为水滴屏或美人尖。

2019-06-09

算法面试题总结.docx

算法笔记

2019-06-06

淘票票前端代码.zip

网上下载的前端淘票票的源码,新书入门,源码链接https://github.com/canfoo/react-taopiaopiao

2019-05-14

android 视频图片预览

Android的图片加视频的预览,视频和图片分开管理,有需要的可以看看

2019-04-28

旅游网站Vue前端

使用Vue编写的前端界面,数据使用的是本地的模拟数据,前端小白可以看看

2019-04-24

民宿小程序和后台

民宿微信小程序,有后台,运行小程序需要先在本地部署后台代码

2019-04-11

ViewPager+Fragment视频切换

Android VideoView 在ViewPager+Fragment中切换视频播放引起的ANR问题

2019-03-29

微信自定义播放组件

仿照微信视频播放的组件,支持视频和图片切换等功能。

2019-03-20

android photoViewy源码

Android图片预览源码,photoViewy支持图片的放大与缩小,是一个Android开发必备库,最新版2.0.0

2019-03-12

Android仿微信图片选择

最近公司有一个选择图库的需求,需要支持图片和视频,网上找了很多,基本是16,17年的代码,大部分也是转载的内容,因为之前做过自定义拍照和相册,以及使用gpuImage实现滤镜、贴纸等效果,所以决定自己动手撸一个。

2019-03-12

iOS骨架屏源码

骨架屏实现,涵盖Android、iOS、前端的骨架屏实现,文章地址:https://blog.csdn.net/xiangzhihong8/article/details/85780629

2019-01-04

RN提示模版

RN提示模版

2018-12-14

微信小程序源码

前段时间用了下快狗打车,感觉贼方便,本部分是微信小程序源码。

2018-11-19

Jest单元测试

单元测试例子,博客地址:https://blog.csdn.net/xiangzhihong8/article/details/83819929

2018-11-09

Antd管理系统

React+Antd后台管理系统,项目源码地址:https://github.com/zhaoyu69/antd-spa

2018-11-01

FlatBuffer

flatbuffer是google的一个跨平台串行化库,开发这个最初是用在游戏项目中,代码是实例

2018-10-25

Javassist代码注入

javassist实现代码注入,详细内容可以参考;https://blog.csdn.net/xiangzhihong8/article/details/83060674

2018-10-15

仿喜马拉雅FM

最近抽空面了几家公司,大部分都是从基础开始慢慢深入项目和原理。面试内容还是以OC为主,但是多数也都会问一下Swift技术情况,也有例外全程问Swift的公司(做区块链项目),感觉现在虽然大多数公司任然以OC做为主开发语言,但是Swift发展很强势,估计明年Swift5以后使用会更加广泛。

2018-09-26

Picker组件及其他组件

资料是使用RN开发的滚轮组件,支持常见的单滚轮、双滚轮和三滚轮,此外还提供了一些其他的自定义组件,需要新建一个项目并将代码拷贝过去

2018-09-04

Android原生集成RN

最近,很多的公司,特别是小公司、小项目,为了解决人力成本的问题,都开发将移动原生开发转到了跨平台开发,或者原生+h5的混合开发,今天要说的是如何在原生项目中集成React Native。

2018-06-06

Flutter跨平台

使用Google跨平台开发框架Flutter开发的APP,Flutter是Google用以帮助开发者在Ios和Android两个平台开发高质量原生应用的全新移动UI框架

2018-06-01

vue手机客户端

在移动应用中很多功能都是必不可少的,使用vue构建移动应用自然也就需要实现这些功能。

2018-05-16

阿里的Atlas组件化框架

Atlas是一个Android客户端容器框架,主要提供了组件化、动态性、解耦化的支持,支持在编码期、Apk运行期以及后续运维修复期的各种问题。Atlas目前支持的主要功能有: - 在工程期,实现工程独立开发,调试功能,工程模块的独立; - 在运行期间,实现完整的组件生命周期映射,类隔离等机制; - 在运维期间,提供快速增量的更新修复功能,快速升级。

2018-05-10

Tinker热修复

使用Tinker热修复,文章介绍可以点击下面的链接:https://mp.csdn.net/mdeditor

2018-05-04

Android模块化

阿里ARouter路由实现模块化开发,Android平台中对页面、服务提供路由功能的中间件。模块化的要解决的问题:模块间页面跳转(路由);模块间事件通信;模块间服务调用;模块的独立运行;模块间页面跳转路由拦截。

2018-04-23

hexo博客打赏源码

关于如何使用Hexo+Hexo主题搭建博客系统,可以参考我之前的博客的介绍:(https://blog.csdn.net/xiangzhihong8/article/details/53727310,查看效果可以查看以下地址:https://blog.csdn.net/xiangzhihong8/article/details/79712140

2018-03-27

阿里聚安全

阿里聚安全,如何防护app被破解,如何保护app和如何破解别人的app

2018-01-03

阿里云精选API

阿里云 API Playbook,精选了100+个API,不仅有阿里云官方提供的API,也包含了大 量阿里云合作伙伴提供的优质API,涵盖了从生活服务、金融征信、气象水利、到企业 服务等十几个应用场景。 通过这本精选手册,您可以快速了解每个API提供的功能及适用的场景,帮助您快速查 找到满足特定功能的API。您也可以通过对多个API进行编排组合,来轻松完成一项应用 创新。

2017-12-27

微信语音聊天

仿微信等即时通讯的语音聊天功能,可以根据实际情况做相应的优化

2017-12-08

美团RN项目

1,请确保你已经安装了React Native所需要的环境(Android sdk环境,前端环境)。 相关资料:http://reactnative.cn/docs/0.46/getting-started.html 2,使用npm工具安装项目依赖的库(在项目目录下):npm install

2017-07-31

RN 城市列表

RN 城市列表选择,实现和原生一样的效果

2017-07-21

安卓聊天页面

如何写出优雅的代码,耦合性低的代码,详细介绍请查看:http://blog.csdn.net/xiangzhihong8/article/details/73381892

2017-06-17

移动实战源码

React Native实战源码

2017-06-09

美团首页搭建

美团首页界面搭建,包括网络请求,由于ios9之后强制使用https协议,所以需要注意下。

2017-06-02

空空如也

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

TA关注的人

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