• 等级
  • 3575338 访问
  • 932 原创
  • 287 转发
  • 139 排名
  • 654 评论
  • 904 获赞

Android与RN层的交互

Android跳转到RN页面由于主客是以插件化的方式集成功能插件的,所以在主客中Android跳转到RN页面需要plugin、module和component。plugin、module不过多解释,component对应的是具体的js页面,要成功启动此页面,需要在对应的RN二方库中注册此页面。例如:AppRegistry.registerComponent(‘MyDoctors’,()=&...

2019-05-09 20:08:12

Java并发编程之Future和FutureTask

搞过Java或者客户端Android开发的都知道,创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。不过,这2种方式都有一个缺陷,就是在执行完任务之后无法获取执行结果。如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这就涉及到线程切换和线程通信等问题,就比较的麻烦。不过,好在Java从1.5版本开始,就提供了Callable和Fu...

2019-05-09 16:23:59

Android全面屏适配指南

何为全面屏全面屏是手机业界对于超高屏占比手机设计的一个宽泛的定义。从字面上解释就是,手机的正面全部都是屏幕,四个边框位置都是采用无边框设计,追求接近100%的屏占比。但受限于目前的技术,还不能做到手机正面屏占比100%的手机。现在业内所说的全面屏手机是指真实屏占比可以达到80%以上,拥有超窄边框设计的手机。全面屏手机屏幕的宽高比例比较特殊,不再是以前的16:9。比如三星的GalaxyS8屏幕...

2019-05-06 13:57:25

React Native 0.59.x新特性解读

概述众所周知,在现在的前端技术开发栈中,跨平台开发是一个重要的课题,不管是老牌的Hybird还是最近流行的RN、Weex还是Flutter,不得不说,现在前端和客户端的界限越来越模糊。最近在写《ReactNative跨平台开发进阶》一书,也是对之前的《ReactNative移动跨平台开发实战》的升级(ps,由于之前的写作功底较浅,所以写的并不是很好)。最近,RN发布了0.59.x系列版...

2019-04-17 11:39:37

android性能优化之Traceview

简介TraceView是Android平台特有的数据采集和分析工具,它主要用于分析Android中应用程序的hotspot。TraceView本身只是一个数据分析工具,而数据的采集则需要使用AndroidSDK中的Debug类或者利用DDMS工具。二者的区别如下:开发者在一些关键代码段开始前调用AndroidSDK中Debug类的startMethod...

2019-04-14 14:36:00

Vue开发React Native应用详解

概述自从2015年4月ReactNative发布以来后,关于移动跨平台的话题就层出不穷,不管是大公司还是小公司都在开始使用ReactNative来开发跨平台App。不过,也有公司对ReactNative并不看好,如Airbnb在去年就开始宣布弃用ReactNative,不管如何,ReactNative的跨平台的目的是很诱惑的。紧接着google发布了跨平台框架Flutter...

2019-04-09 20:41:42

一文看完苹果2019春季发布会

苹果于北京时间2019年3月26日在史蒂夫·乔布斯剧院(SteveJobsTheater)举行春季特别活动,和以往的春季发布会不同,此处的发布会上,苹果并没有发布什么重磅硬件产品,取而代之的则是新闻订阅服务和视频流媒体服务两个重要的新业务。总的来说呢,这场发布会和中国用户关系不大,因为除了游戏之外,其他此次发布的服务估计都不会在大陆推出。大体来说,此次发布的新闻订阅服务和视频流媒体服务主要涉...

2019-03-27 10:32:20

后端架构师技术图谱

今天无意间看到github上一篇超炫的博文,是阿里工程师总结的《后端架构师技术图谱》,分享给大家。数据结构队列集合链表、数组字典、关联数组栈树二叉树完全二叉树平衡二叉树二叉查找树(BST)红黑树B,B+,B*树LSM树BitSet常用算法排序、查找算法选择排序冒泡排序插入排序快速排序归并排序希尔排序堆排序计数排序桶排序基数排...

2019-03-20 13:44:43

移动跨平台框架Flutter介绍和学习线路

Flutter简介Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。在全世界,Flutter正在被越来越多的开发者和组织使用,并且Flutter是完全免费、开源的。Flutter历史说到Flutter,...

2019-03-16 10:12:56

Android仿微信图片视频选择器

最近公司有一个选择图库的需求,需要支持图片和视频,网上找了很多,基本是16,17年的代码,大部分也是转载的内容,因为之前做过自定义拍照和相册,以及使用gpuImage实现滤镜、贴纸等效果,所以决定自己动手撸一个。已经有一年多没有写Android代码了,主要现在做前端去了,写这篇博客的目的也是为了方便之后自己查找。下面是实现的Android图库的效果,基本上是抄的微信的,如下图。核心的实现很简...

2019-03-08 14:35:49

Android 10系统新特性解读

概述和往年一样,将于今年5月7日举办的谷歌I/O19大会上谷歌将发布首版AndroidQBeta系统。按照惯例,AndroidQBeta并非首个开发者预览版,可能是第二或者第三版,Beta阶段更大意义在于非谷歌系的OEM品牌手机加入,便于测试和用户尝鲜。至于正式版什么时候发布,按照惯例,会在8月或者9月发布稳定的版本供用户使用。根据目前流出的关于AndroidQ新闻,特别是随...

2019-03-04 12:12:01

React Native弹框封装

在使用RN开发项目时,经常会遇到各种弹框,产品在设计时又是参照iOS来做的,效果如下:基于此,我们就来封装一个这样的组件,下面是示例代码:importReact,{Component}from'react';importPropTypesfrom'prop-types';import{StyleSheet,Text,View,T...

2019-02-28 17:39:51

ESLint静态代码检查

ESLint简介ESLint是一个用来识别ECMAScript并且按照规则给出报告的代码检测工具,使用它可以避免低级错误和统一代码的风格。如果每次在代码提交之前都进行一次eslint代码检查,就不会因为某个字段未定义为undefined或null这样的错误而导致服务崩溃,可以有效的控制项目代码的质量。在许多方面,它和JSLint、JSHint相似,除了少数的例外:ESLint使用...

2019-02-27 14:46:22

Nginx 通过 Lua + Redis 实现动态封禁 IP

背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的IP黑名单。对于黑名单之内的IP,拒绝提供服务。架构实现IP黑名单的功能有很多途径:1、在操作系统层面,配置iptables,拒绝指定IP的网络请求;2、在WebServer层面,通过Nginx自身的deny选项或者lua插件配置IP黑名单;3、在应用层面,在请求服务之前检...

2019-02-24 21:04:59

Koa2开发入门

Koa2入门创建Koa2首先,我们创建一个名为koa2的工程目录,然后使用VSCode打开。然后,我们创建app.js,输入以下代码://导入koa,和koa1.x不同,在koa2中,我们导入的是一个class,因此用大写的Koa表示:constKoa=require('koa');//创建一个Koa对象表示webapp本身:constapp=newKoa()...

2019-02-21 13:46:01

Weex开发之mask

mask弹层示例在移动开发中,我们经常会做一些弹框相关的东西,在Weex跨平台框架中,实现mask效果也比较简单。下面是示例效果:以下是示例代码:<template><div><divclass="comment-btn"@click="showAd()"><textclass="comm...

2019-02-01 11:19:04

Vue经典开源项目汇总

Vue.js(读音/vjuː/,类似于view)是一套用于构建用户界面的渐进式框架,主要用于快速的构建前端界面,与其它大型的前端框架不同,Vue被设计为可以自底向上逐层应用。相比Angular.js来说,Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合,是初创项目的前端首选框架。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用...

2019-01-31 15:30:57

移动跨平台技术方案总结

“得移动端者得天下”,移动端取代PC端,成为了互联网行业最大的流量分发入口,因此不少公司制定了“移动优先”的发展策略。为了帮助读者更好地学习WEEX,本节将对ReactNative、Weex和Flutter等主流的跨平台方案进行简单的介绍和对比。ReactNativeReactNative(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早...

2019-01-22 12:39:54

iOS打包详解

背景今天使用Xcode打包上传ipa时遇到一个问题:Missingprivatekey,如下图。通过查询是.cer证书失效的问题,需要重新生成新的证书。苹果规定.cer证书只能存在于一台机器上,因此如果另一台电脑想要用的话,需要导出为.p12file,安装到另一台没有安装.cer文件的mac电脑。首先,给大家普及下基本知识,iOS有两种证书和描述文件:...

2019-01-20 18:57:19

Vue 中mixin混入机制

vue中提供了一种混合机制–mixins,用来更高效的实现组件内容的复用。混入对象可以包含任意组件选项。当组件使用混入对象时,所有混入对象的选项将被混入该组件本身的选项中。简单的说,组件在引用之后就相当于在父组件内开辟了一块单独的空间,然后根据父组件props过来的值进行相应的操作。而使用mixins机制的组件则是在引入组件之后,则是将组件内部的内容如data等方法、method等属性与父组件相...

2019-01-18 10:59:17

博客专家

xiangzhihong8

老司机,擅长一本正经的胡说八道
关注
  • 高级工程师/主管
  • 中国 上海 闸北区
奖章
  • 专栏达人
  • 勤写标兵Lv1