自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 实时消息传输协议(RTMP)详解

概述概念:RTMP协议从属于应用层,被设计用来在适合的传输协议(如TCP)上复用和打包多媒体传输流(如音频、视频和互动内容)。RTMP提供了一套全双工的可靠的多路复用消息服务,类似于TCP协议[RFC0793],用来在一对结点之间并行传输带时间戳的音频流,视频流,数据流。通常情况下,不同类型的消息会被分配不同的优先级,当网络传输能力受限时,优先级用来控制消息在网络底层的排队顺序。RTMP块流实时消息

2017-03-30 22:31:34 6420

原创 移动端跨平台技术总结

概述曾经大家以为在手机上可以像桌面那样通过 Web 技术来实现跨平台开发,却因为性能或其他问题而放弃,不得不针对不同平台开发多个版本。这也违背了跨平台开发的初衷。而React Native让跨平台移动端开发在次回到人们的视野中,其成功的原因除了他“一次编写处处运行”,还因为它相比h5等前端技术,有了更接近原生的体验。 为了方便理解,笔者将跨平台技术分为4大流派:Web 流:也被称为 Hybrid

2017-03-29 17:41:11 7878 1

原创 JSBridge深度剖析

概述做过混合开发的人都知道Ionic和PhoneGap之类的框架,这些框架在web基础上包装一层Native,然后通过Bridge技术的js调用本地的库。在讲JSBridge技术之前,我们来看一下传统的实现方式。Android端Native调JSnative调用js比较简单,只要遵循:”javascript: 方法名(‘参数,需要转为字符串’)”的规则即可。在4.4之前,调用的方式:// mWebV

2017-03-27 13:16:03 19441 2

原创 小程序实现原理解析

概述作为一名前端开发,如果你还停留在应用开发层面,那你就OUT了,快来跟我一起探讨下小程序框架本身底层实现的一些技术细节吧,让我们从小程序的运行机制来深度了解小程序。 小程序是基于WEB规范,采用HTML,CSS和JS等搭建的一套框架,微信官方给它们取了一个很牛逼的名字:WXML,WXSS,但本质上还是在整个WEB体系之下构建的。 WXML,个人猜测在取这个名字的是微信的Xml,说到底就是xml

2017-03-26 22:04:43 77359 14

原创 React基础之JSX语法

概述JSX是React的核心组成部分,它使用XML标记的方式去直接声明界面,界面组件之间可以互相嵌套。可以理解为在JS中编写与XML类似的语言,一种定义带属性树结构(DOM结构)的语法,它的目的不是要在浏览器或者引擎中实现,它的目的是通过各种编译器将这些标记编译成标准的JS语言。使用JSX语法后,你必须要引入babel的JSX解析器,把JSX转化成JS语法,这个工作会由babel自动完成。同时引入b

2017-03-26 15:23:51 1574

原创 Android自定义日历源码收集

概述以前在一家OA公司的时候,做的第一个项目便是日程模块,当时由于对OA理解 的偏差,写了很多无用的代码和逻辑,也走了很多的弯路。几年过去了,现在回想起来还历历在目,今天给大家收集了一些关于日历、日程的源码。很普通的日历下载地址:http://www.dandroid.cn/?p=136支持收缩的日历源码地址:http://www.dandroid.cn/?p=461支持ListView 和 Cal

2017-03-25 22:36:13 7393 2

原创 深入理解Java之jvm启动流程

概述当我们写一个Java类,并重写Main方法,程序就能运行起来。main方法的背后,程序为什么能运行,jvm究竟做了什么处理?要理解这些,就需要了解jvm的设计原理以及启动的流程。虚拟机的启动入口位于share/tools/launcher/java.c的main方法,整个流程分为如下几个步骤: 1、配置JVM装载环境 2、解析虚拟机参数 3、设置线程栈大小 4、执行Java main方法

2017-03-24 21:46:25 13353 6

原创 传遍朋友圈的Workflow,到底是什么鬼

概述Workflow(工作流):指“业务过程的部分或整体在计算机应用环境下的自动化”。是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。工作流主要解决的主要问题是:为了实现某个业务目标,利用计算机在多个参与者之间按某种预定规则自动传递文档、信息或者任务。但是我们今天要谈的Workflow不是传统意义上的工作流,而是一款引爆 iOS 社区的限免软件。 那Workflow究竟是一款什么软件呢,为

2017-03-24 14:42:01 4791

原创 android classloader双亲委托模式

概述ClassLoader的双亲委托模式:classloader 按级别分为三个级别:最上级 : bootstrap classLoader(根类加载器) ; 中间级:extension classLoader (扩展类加载器) 最低级 app classLoader(应用类加载器)。根(Bootstrap)类加载器:该加载器没有父加载器。它负责加载虚拟机的核心类库,如java.lang.*等。例

2017-03-23 17:20:06 14313

原创 深入理解Android Instant Run运行机制

Instant RunInstant Run,是android studio2.0新增的一个运行机制,在你编码开发、测试或debug的时候,它都能显著减少你对当前应用的构建和部署的时间。通俗的解释就是,当你在Android Studio中改了你的代码,Instant Run可以很快的让你看到你修改的效果。而在没有Instant Run之前,你的一个小小的修改,都肯能需要几十秒甚至更长的等待才能看到修

2017-03-22 10:59:52 13769

原创 android 自定义控件那些事

概述在android应用开发过程中,固定的一些控件和属性可能满足不了开发的需求,所以在一些特殊情况下,我们需要自定义控件与属性。而自定义控件通常有两种:自定义View和自定义ViewGroup。View树首先看一下Android视图的组成结构: View树的绘制原理:树的遍历是有序的,由父视图到子视图,每一个 ViewGroup 负责测绘它所有的子视图,而最底层的 View 会负责测绘自身。mea

2017-03-21 13:53:16 1479

原创 mac 搭建Android开发环境

在mac上搭建Android环境和在window上大体相同,不过就是在做环境变量配置等方面有自己独到的方式,那么我们今天就讲一下在mac系统下搭建Android环境。下载相关文件下载的文件包括Java、Android Studio。Java下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-21331

2017-03-20 19:36:12 17826 2

原创 从代码层读懂HashMap的实现原理

概述 Hashmap继承于AbstractMap,实现了Map、Cloneable、java.io.Serializable接口。它的key、value都可以为null,映射不是有序的。       Hashmap不是同步的,如果想要线程安全的HashMap,可以通过Collections类的静态方法synchronizedMap获得线程安全的HashMap。Map map = Colle

2017-03-19 22:25:26 3707 2

原创 深入理解Android渲染机制

基础知识CPU: 中央处理器,它集成了运算,缓冲,控制等单元,包括绘图功能.CPU将对象处理为多维图形,纹理(Bitmaps、Drawables等都是一起打包到统一的纹理)。GPU:一个类似于CPU的专门用来处理Graphics的处理器, 作用用来帮助加快格栅化操作,当然,也有相应的缓存数据(例如缓存已经光栅化过的bitmap等)机制。OpenGL ES:是手持嵌入式设备的3DAPI,跨平台的、功能

2017-03-18 14:33:52 7138 4

原创 OpenGL ES简介

概述在聊Android的View渲染流程中,通常会有一个比较核心的步骤:通过OpeGL ES接口调用GPU接口通知GPU绘制图形。其完整的流程:UI对象—->CPU处理为多维图形,纹理 —–通过OpeGL ES接口调用GPU—-> GPU对图进行光栅化(Frame Rate ) —->硬件时钟(Refresh Rate)—-垂直同步—->投射到屏幕。详解的绘制原理,后面会慢慢讲的。渲染的基础知识使用

2017-03-17 18:08:19 5234

原创 Android实现仿支付宝流水

今天给大家讲的是如何自定义下拉的ListView实现支付宝账单的效果,月份是需要悬浮的,然后没一个月归为一类,先看一个效果图吧。场景:后台下发的数据就是一个List<对象>,考虑到实际情况,还需要做下拉的分页操作,所以,基于上面的情况,我们需要自定义一个可以拦截月份的view。先定义一个FooterView类。public class ListViewFooter extends LinearLay

2017-03-17 16:02:07 7794 4

原创 Mac搭建 React Native 工具篇Atom+Nuclide

关于如何在mac下搭建React环境这里就不详细介绍了,有兴趣的朋友可以看:在Mac上搭建RN基础环境,今天要说的是如何在mac下使用Atom+Nuclide组合环境来开发项目。安装Atom如果没有的大家可以到官网下载:https://atom.io/,也可以到国内的镜像地址下载:https://npm.taobao.org/mirrors/atom/1.7.2/ 解压atom,打开atom,你看

2017-03-15 22:43:07 7233 3

原创 关于Android studio报junit错误的问题

概述前不久,打开以前的Android项目,报了一个 错: Exception in thread “main” Java.lang.NoClassDefFoundError: junit/textui/ResultPrinter ,详细信息如下:Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/Result

2017-03-15 18:06:10 3253

原创 android 自定义Lint

概述Android Lint是Google提供给Android开发者的静态代码检查工具。使用Lint对Android工程代码进行扫描和检查,可以发现代码潜在的问题,提醒程序员及早修正。为什么要自定义我们在实际使用Lint中遇到了以下问题:原生Lint无法满足我们团队特有的需求,例如:编码规范。原生Lint存在一些检测缺陷或者缺少一些我们认为有必要的检测。对于正式发布包来说,debug和verb

2017-03-14 12:40:03 3784 2

原创 Android面试题整理

似乎自去年下半年以来,大家跳槽的少了,还有有些公司裁员了,前几年火热的移动端、前端岗位也越来越少,回归理性。现在各大公司对移动Android/ios的需求基本要求都是三年以上相关经验,有过大型互联网项目经验,基础扎实。那么对于我们从事Android开发的程序员,我们究竟需要掌握哪些技术呢?面试官究竟会问什么呢?今天,结合我的面试经验,给大家整理一下。Android常见面试题整理以我的经...

2017-03-12 20:05:04 5404

原创 一起来聊聊虚拟红包的技术实现

2017年1月20日,腾讯发布消息称将推出Q-Glass,除了一般VR眼镜的标配功能外,Q-Glass还能实现眨眼抢红包。听起来是不是很酷炫?上市时间可要在10年后。不过,2016年底支付宝首推AR实景红包,QQ也紧随其后,一场AR实景红包大战悄然打响。 作为最近两年比较热门的技术,VR技术悄然成为移动技术之后有一大竞相追逐的技术,目前市面上比较成熟和出名的VR开发商,诸如:Google VR,O

2017-03-11 22:53:33 5404 1

原创 ios入门之消息推送

前言在去年的苹果大会上,苹果带来的iOS 10 系统中将之前繁杂的推送通知统一成UserNotifications.framework 来集中管理和使用通知功能,还增加一些实用的功能——撤回单条通知、更新已展示通知、中途修改通知内容、在通知中显示多媒体资源、自定义UI等功能。 那么在ios10之前,ios的消息推送是怎么分类的呢?ios 10之前在ios之前,iOS推送分为Local Notifi

2017-03-11 09:48:59 1814

原创 IOS入门之StoryBoard

概述在iOS的发展历程中,IOS开发经历了三种主要流派:使用代码手写UI及布局;使用单个xib文件组织viewController或者view;使用StoryBoard来通过单个或很少的几个文件构建全部UI。而在最近几年的开发中,苹果对 Storyboard 的开发力度也不断增强,添加了更多功能和特性,大大方便了界面的开发、适配以及提升代码性能。我们来看看三种方式的主要区别:手写页面和逻辑代码如果你

2017-03-08 22:18:25 5781

原创 Android通信安全之HTTPS

HttpsHTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL

2017-03-07 22:03:10 2289

原创 Android的.so文件你需要知道那些知识

.so文件的前世今生早期的Android系统几乎只支持ARMv5的CPU架构,而现在它可以支持7种,几乎涵盖了市面上大部分的CPU架构。Android系统目前支持的CPU架构主要包含以下7种:ARMv5,ARMv7 (从2010年起),x86 (从2011年起),MIPS (从2012年起),ARMv8,MIPS64和x86_64 (从2014年起),每一种都关联着一个相应的ABI。二进制接口(AB

2017-03-05 22:50:51 3972

原创 Android 配置Freeline教程

Freeline简介Freeline是蚂蚁金服旗下一站式理财平台蚂蚁聚宝团队15年10月在Android平台上的量身定做的一个基于动态替换的编译方案,5月阿里集团内部开源,稳定性方面:完善的基线对齐,进程级别异常隔离机制。性能方面:内部采用了类似Facebook的开源工具buck的多工程多任务并发思想:端口扫描,代码扫描,并发编译,并发dx,并发merge dex等策略,在多核机器上有明显加速效果,

2017-03-05 18:14:35 2809

原创 Mac 高效工作指南

序很多做开发的程序员,都喜欢用mac,其绚丽的外观,加上手感体验,很适合开发和装逼用。其实除了这些为什么那么多程序员喜欢用mac呢,分析了一下使用mac的好处,无外乎以下几点:Mac OS X 是基于 Unix 的,对于开发人员来说,Unix 下一堆好用的工具都可以随手捡到。并且好多的后端开发都是需要unix或linux的环境支持的。不需要维护。Mac 买来就直接用,磁盘碎片整理?不需要。装驱动

2017-03-04 11:45:06 3052

转载 你想了解的前端知识都在这里了

前端开发全面知识库,包括HTML5,CSS3和js的基本框架知识,以及DOM和BOM操作的基础知识和一些基本工具和IDE。学习本篇,你将了解到以下知识。核心 CoreHTML5W3C http://www.w3school.com.cn/html5/ W3C https://www.w3.org/html/ig/zh/wiki/HTML5 菜鸟教程 http://www.runoob.com/h

2017-03-02 16:17:15 3949

原创 React Native之Picker组件详解

Picker简介在iOS和Android中选择器(Picker)是常见的控件之一,比如TimePickr(Android),pickerView(ios),并且这些基本控件可以实现诸如地址选择等效果。在RN开发中,系统也为我们提供Picker控件。应用如下:

2017-03-01 22:45:18 17965 9

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关注的人

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