关闭
当前搜索:

[置顶] 在Mac上搭建React Native开发环境

概述前面我们介绍过在window环境下开发React Native项目,今天说说怎么在mac上搭建一个RN的开发环境。配置mac开发环境基本环境安装1.先安装Homebrew:用于安装NodeJS和其他工具。 注:Homebrew详解,对这个比较了解的略过,我也是用mac没多久,这里给小白普及下。 Homebrew全称Homebrew is the easiest and most flex...
阅读(12696) 评论(2)

[置顶] 前端开发的工具化与工程化

概述近年来,随着浏览器性能的提升与移动互联网浪潮的汹涌而来,Web前端开发进入了高歌猛进,日新月异的时代。这是最好的时代,我们永远在前行,这也是最坏的时代,无数的前端开发框架、技术体系争妍斗艳,让开发者们陷入困惑,乃至于无所适从。Web前端开发可以追溯于1991年蒂姆·伯纳斯-李公开提及HTML描述,而后1999年W3C发布HTML4标准,这个阶段主要是BS架构,没有所谓的前端开发概念,网页只不过是...
阅读(5308) 评论(0)

[置顶] iOS 滚动视图的复用问题解决方案

LazyScroll是什么LazyScrollView 继承自ScrollView,目标是解决异构(与TableView的同构对比)滚动视图的复用回收问题。它可以支持跨View层的复用,用易用方式来生成一个高性能的滚动视图。为什么要用LazyScrollView我们在做首页的时候,往往展示的东西会很多,随着View数量逐渐膨胀,没有一套复用回收机制的ScrollView已经影响到性能了,迫切需要处理...
阅读(9934) 评论(0)

[置顶] Docker与容器

Docker介绍 1. Docker 主要解决什么问题   Docker 对外宣称的是Build、Ship 和Run,Docker 要解决的核心问题就是快速地干这三件事情。它通过将运行环境和应用程序打包到一起,来解决部署的环境依赖问题,真正做到跨平台的分发和使用。而这一点和DevOps不谋而合,通过Docker可以大大提升开发、测试和运维的效率。在这个移动互联网的时代,如果一个工具能够节省人力,...
阅读(7457) 评论(2)

[置顶] 微信小程序实例-摇一摇抽奖

概述前面我们讲了如何开始微信小程序搭建和一些组件的介绍。微信小组件和微信小程序入门微信小程序目录为了更好的理解小程序和小程序开发,我们首先来看一下项目的目录。 首先看下根目录下的app.json的文件,可以看到在”pages”的数组里,里面配置了每个界面,且包含了每个界面文件的目录 我们接下来看一下page文件夹,可以看到每个页面需要包含两个文件,一个是js文件,是每个界面的入口,wxml的...
阅读(9078) 评论(2)

[置顶] 微信小程序基本组件概述

为了更好的理解微信小程序,本文90%文字描述来源于官网的介绍。官网原链接https://mp.weixin.qq.com/debug/wxadoc/dev/component/?t=20161222 本文是基本组件介绍的第一篇,主要介绍微信小程序给我们提供的小组件有哪些,并举一个简单的例子,第二篇将详细介绍各小组件的使用。基础组件框架为开发者提供了一系列基础组件,开发者可以通过组合这些基础组件进行...
阅读(11605) 评论(3)

[置顶] iOS使用自签名证书实现HTTPS请求

概述在16年的WWDC中,Apple已表示将从2017年1月1日起,所有新提交的App必须强制性应用HTTPS协议来进行网络请求。 默认情况下非HTTPS的网络访问是禁止的并且不能再通过简单粗暴的向Info.plist中添加NSAllowsArbitraryLoads设置绕过ATS(App Transport Security)的限制(否则须在应用审核时进行说明并很可能会被拒)。所以还未进行相应配...
阅读(5320) 评论(1)

[置顶] 一起聊聊什么是P问题、NP问题、NPC问题

概念P问题:如果一个问题可以找到一个能在多项式的时间里解决它的算法,那么这个问题就属于P问题。通常NOI和NOIP不属于P类问题,我们常见到的一些信息奥赛的题目都是P问题。 NP问题:可以在多项式的时间里猜出一个解的问题。NP问题不是非P类问题。NP问题是指可以在多项式的时间里验证一个解的问题。之所以要定义NP问题,是因为通常只有NP问题才可能找到多项式的算法。 所有的P类问题都是NP问题。也就...
阅读(9488) 评论(2)

[置顶] 微信小程序开发入门篇

本文档将带你一步步创建完成一个微信小程序,并可以在手机上体验该小程序的实际效果。开发准备工作获取微信小程序的 AppID登录 https://mp.weixin.qq.com ,就可以在网站的“设置”-“开发者设置”中,查看到微信小程序的 AppID 了,注意不可直接使用服务号或订阅号的 AppID 。 下载开发工具下载地址:https://mp.weixin.qq.com/debug/wxado...
阅读(11912) 评论(3)

[置顶] Support Annotation Library使用详解

概述Support Annotation Library是在Android Support Library19.1版本开始引入的一个全新的函数包,它包含了诸多有用的元注解。用来帮助开发者在编译期间发现可能存在的bug。Support Library本身也使用Annotations Library提供的注解来完善Library的代码质量。 Android的每一个版本都在不断的完善Annotation...
阅读(5364) 评论(3)

[置顶] github pages + Hexo + 域名绑定搭建个人博客增强版

概述前面我们用github pages + Hexo 搭建了一个简单版的个人博客系统,但是里面的内容单调,很多功能不够完善,所以我们需要对yelle 的主题进行优化和完善。基本搭建请访问:http://blog.csdn.net/xiangzhihong8/article/details/53355036主题配置介绍从中我们也可以看出,对于主题来讲,大部分可以配置的地方其实都是在这里的。所以我们需要...
阅读(6127) 评论(3)

[置顶] 不可错过的Node.js框架

前言Node.js是由Ryan Dahl于2009年创建的。它是一个开源的跨平台运行时环境,用于开发服务器端和网络应用程序,它是基于Google Chrome V8 JavaScript引擎构建的。Node.js使用事件驱动,非阻塞I/O模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。你可以通过在Node.js中运行JavaScript,使用Ruby或者PHP语言做想做的任何事...
阅读(3963) 评论(0)

[置顶] 如何编写入门级redis客户端

概述Redis是开源的、基于内存的数据结构存储系统,可用作数据库、缓存以及消息代理方面。Redis支持许多种数据结构,并内置了丰富的诸如冗余、脚本、事务、持久化等功能,深受业界喜爱,被各种业务系统广泛使用。为了方便使用,Redis官网推荐了针对各种编程语言的多种客户端,支持java、c#、python、c++等主流编程语言。那么大家会问,既然Redis客户端已经这么丰富了,为什么还要尝试自己编写客户...
阅读(2578) 评论(0)

[置顶] 机器学习简介及常用算法

概念什么是机器学习? 机器学习是英文名称Machine Learning(简称ML)的直译。机器学习涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。 相对于传统...
阅读(8206) 评论(0)

[置顶] Android自动打包工具aapt详解

概念在Android.mk中有LOCAL_AAPT_FLAGS配置项,在gradle中也有aaptOptions,那么aapt到底是干什么的呢? aapt即Android Asset Packaging Tool(Android 打包工具),在SDK的build-tools目录下。我们可以查 看,创建, 更新ZIP格式的文档附件(zip, jar, apk)。也可将资源文件编译成二进制文件,尽...
阅读(5672) 评论(0)

[置顶] 区块链的现状与未来

在上一篇文章中我们聊到了区块链技术的一些基本概念以及运行的原理性的东西,以及在金融行业的应用,那我们接下来要分析下区块链除了在互联网、金融领域之外,还有没有其他的用途。区块链与法律这个标题貌似有点大,那我说一个例子:从世界最大众筹项目DAO的技术漏洞引起的以太币被盗风险说起,谈到作为面向未来的法律人应该如何参与到区块链这场世纪浪潮中。未来的区块链的发展影响到的不只是互联网和金融,还有法律甚至很多行...
阅读(6573) 评论(0)

[置顶] React Native实现一个自定义模块

概述在 前期介绍React Native 项目结构的时候,我们讲解过React的项目组成,其中说过 node_modules 文件夹,这是一个存放 node 模块的地方。我们知道React是用npm来管理项目的。提到npm,一般指两层含义:一是 Node.js 开放式模块登记和管理系统,另一种是 Node.js 默认的模块管理器,是一个命令行软件,用来安装和管理 node 模块。npm 使用介绍n...
阅读(4280) 评论(0)

[置顶] Android逆向工程

在Root前提下,我们可以使用Hooker方式绑定so库,通过逆向方式篡改数值,从而达到所谓破解目的。然而,目前无论是软件加固方式,或是数据处理能力后台化,还是客户端数据真实性验证,都有了一定积累和发展,让此“懒技术”不再是破解修改的万金油。再者,阅读汇编指令,函数指针替换,压栈出栈等技术需要一定技术沉淀,不利于开发同学上手。两年前,也是因为懒,很懒,非常懒,堆积了足够的动力,写了一个基于人工模拟...
阅读(3991) 评论(0)

[置顶] Intellij IDEA 插件开发之自建插件仓库

Intellij IDEA 有一个自己的官方的插件仓库,但是当我们的开发的 Intellij IDEA 的插件不能够对外公开时,我们就需要搭建自己的 Intellij IDEA 的插件仓库。前不久我们也尝试着使用Intellij IDEA自己开发一个插件点击打开链接。搭建 Intellij IDEA 插件仓库Intellij IDEA 的官方文档里面有提到怎么去新建一个插件仓库,但是,这部分的文档...
阅读(6840) 评论(1)

[置顶] “区块链”究竟是什么鬼

最近区块链比较火,区块链是什么鬼,怎么以前没听过,不过说个东西你一定听过-比特币,以前区块链用在比特币上,一直到最近半年,区块链已经渐渐开始有了一些其他应用,特别是在金融领域。那么什么是区块链呢?他和比特币有什么联系呢?我今天整理了之前各家所言,大体上也就明白区块链是什么玩意了。区块链在比特币的应用比特币点对点网络将所有的交易历史都储存在“区块链”(blockchain)中。区块链在持续延长,而且...
阅读(21813) 评论(10)

[置顶] css模块化及CSS Modules使用详解

什么是css模块化?为了理解css模块化思想,我们首先了解下,什么是模块化,在百度百科上的解释是,在系统的结构中,模块是可组合、分解和更换的单元。模块化是一种处理复杂系统分解成为更好的可管理模块的方式。它可以通过在不同组件设定不同的功能,把一个问题分解成多个小的独立、互相作用的组件,来处理复杂、大型的软件。看完模块化,是不是有种拼图的即视感,可以把大图分成各个小图,然后把小图拼成大图,分与合的艺术...
阅读(6703) 评论(1)

[置顶] 算法笔记之排序

最近在看《算法笔记》,如果单从算法来说,这本书真正做到了短小精悍,首先以排序入题,那么我们今天也来说说排序。排序将一堆杂乱无章的元素按照某种规则有序排列的过程就叫“排序”.排序是一种非常基础的算法,有着广泛的理论和实践基础。对一个排序算法来说,一般从如下3个方面衡量算法的优劣:时间复杂度:主要是分析关键字的比较次数和记录的移动次数。空间复杂度:分析排序算法中需要多少辅助内存稳定性:若两个记录A和B...
阅读(3327) 评论(1)

[置顶] Android动态加载入坑指南

曾几何时,国内各大公司掀起了一股研究Android动态加载的技术,两年多过去了,动态加载技术俨然成了Android开发中必须掌握的技术。那么动态加载技术是什么呢,这里谈谈我的个人看法,如有雷同,纯属偶然。什么是动态加载技术对于动态加载的概念,没有一个权威的定义,参考网上的解释,我们举一个例子,动态加载代码就是通过在运行时加载外部代码(磁盘,网络等)改变程序行为的技术(感觉有点像装饰者模式)。主要目...
阅读(4918) 评论(0)

[置顶] 手机直播连麦技术分析

直播火了,连麦直播也火了,那么说明是直播,连麦直播是什么。手机直播连麦功能的特点,我们按下面三部分来聊一聊手机直播和直播连麦:手机直播连麦功能的特点人物画像和设计思维一个有趣的连麦功能交互建议手机直播连麦功能的特点体验了斗鱼、NOW直播、美拍直播、淘宝直播、新浪直播、映客、me直播等直播平台、发现只有映客和me直播推出了手机直播的连麦功能。我们从以下三点来展开分析直播连麦的特点:连麦功能的权限连麦...
阅读(12363) 评论(2)

[置顶] hello Kotlin

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

[置顶] android 特卖列表倒计时卡顿问题

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

[置顶] android插件化之路

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

[置顶] 初识Node.js

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

[置顶] Android动画深入分析

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

[置顶] AnimatedPathView实现自定义图片标签

老早用过小红书app,对于他们客户端笔记这块的设计非常喜欢,恰好去年在小红书的竞争对手公司,公司基于产品的考虑和产品的发展,也需要将app社交化,于是在社区分享这块多多少少参照了小红书的设计,这里面就有一个比较有意思的贴纸,标签等设计,这里用到了GpuImage的库,这个demo我也将代码开源了,有需要的去fork我的github的代码,今天要说的是详情页面的AnimatedPathView实现可...
阅读(3588) 评论(2)

[置顶] React Native项目组织结构介绍

代码组织:目录结构:. ├── components //组成应用的各个组件 │   ├── Routers.android.js //每个组件若实现不一样,分为android的实现和ios的实现。 │   ├── Routers.ios.js │   ├── common //公共组件 │   ├── issues //议题页面 │   ├── navigat...
阅读(7364) 评论(2)

[置顶] Android的DataBinding原理介绍

Activity在inflate layout时,通过DataBindingUtil来生成绑定,从代码看,是遍历contentView得到View数组对象,然后通过数据绑定library生成对应的Binding类,含Views、变量、listeners等。生成类位于build/intermediates/classes/debug/…package…/databinding/xxx.Java 下,...
阅读(4233) 评论(2)

[置顶] Android开发模式之MVC,MVP和MVVM的简单介绍与区别

相信大家对MVC,MVP和MVVM都不陌生,作为三个最耳熟能详的Android框架,它们的应用可以是非常广泛的,但是对于一些新手来说,可能对于区分它们三个都有困难,更别说在实际的项目中应用了,有些时候想用MVP的,代码写着写着就变成了MVC,久而久之就对它们三个的选择产生了恐惧感,如果你也是这样的人群,那么这篇文章可能会对你有很大的帮助,希望大家看完都会有收获吧!文章重点:(1)了解并区分MVC,...
阅读(4738) 评论(1)

[置顶] android dataBinding详解

官方介绍地址:http://developer.android.com/intl/zh-cn/tools/data-binding/guide.html2015 Google IO 大会带来的 Data Binding 库使得 Android 开发者可以方便的实现 MVVM 架构模式。使用DataBinding可以改善应用程序的开发,使代码更加干净优雅。何为MVVM模式,其实就是在View和Mod...
阅读(4165) 评论(0)

[置顶] React Native运行原理解析

Facebook 于2015年9月15日推出react native for Android 版本, 加上2014年底已经开源的IOS版本,至此RN (react-native)真正成为跨平台的客户端框架。本篇主要是从分析代码入手,探讨一下RN在安卓平台上是如何构建一套JS的运行框架。一、 整体架构RN 这套框架让 JS开发者可以大部分使用JS代码就可以构建一个跨平台APP。 Facebook官方...
阅读(23814) 评论(0)

[置顶] RecyclerView 实现横向滚动效果

我相信很久以前,大家在谈横向图片轮播是时候,优先会选择具有HorizontalScrollView效果和ViewPager来做,不过自从Google大会之后,系统为我们提供了另一个控件RecyclerView。RecyclerView是listview之后的又一利器,它可以实现高度的定制。今天就利用RecyclerView实现我们需要的相册效果。先上一个图:主要实现就是一个RecyclerView...
阅读(12548) 评论(13)

[置顶] ActivityManagerService启动过程分析

之前讲Android的View的绘制原理和流程的时候,讲到过在Android调用setContentView之后,Android调用了一个prepreTravle的方法,这里面就提到了ActivityManagerService。ActivityManagerService提供的主要功能:       (1)统一调度各应用程序的Activity       (2)内存管理       (3)进程管...
阅读(3851) 评论(0)

[置顶] ViewPager 实现 Galler 效果, 中间大图显示,两边小图展示(优化篇)

上一张效果图: 之前的项目有一个Galley的项目,但是代码结构特别乱,别问我为什么,我也是刚接手这个项目,为了方便以后阅读和维护我对一些模块进行了重构。ViewPager实现Galler效果,但是当时时间比较急,写的比较仓促,上一篇实现了简单的效果,但是对于初始的时候左边滑动是有问题的,这是因为我们在自己的Adapter的时候对于getCount,我们想通过Integer.MAX_VA...
阅读(4879) 评论(7)

[置顶] ViewPager 实现 Galler 效果, 中间大图显示,两边小图展示

正常情况下, ViewPager 一页只能显示一项数据, 但是我们常常看到网上,特别是电视机顶盒的首页经常出现中间大图显示两端也都露出一点来,这种效果怎么实现呢?先上一张效果图: 大家第一眼肯定想到了Gallery,这是最早android图库自带的效果,现在基本不用,那有没有其他好的办法呢?我们首先考虑的还是ViewPager+PagerAdapter的实现策略。...
阅读(5191) 评论(1)

[置顶] WebStorm开发工具设置React Native智能提示

最近在做React Native开发的时候,相信大家一般会使用WebStorm,Sublime,Atom等等开发工具。二之前搞前端的对WebStorm会很熟悉,WebStorm最新版是WebStorm2016.2.1,React Native默认不能智能提示代码,githun有一个开源的插件:ReactNative-LiveTemplate。 ReactNative的代码模板,包括:...
阅读(18146) 评论(0)

[置顶] netty对http协议解析原理解析

本文主要介绍netty对http协议解析原理,着重讲解keep-alive,gzip,truncked等机制,详细描述了netty如何实现对http解析的高性能。 1 http协议 1.1 描述         标示 ASCII 描述 字符 CR  13 Carriage return (回车)  \n...
阅读(8739) 评论(4)

[置顶] window环境下搭建react native及相关插件

可以先浏览一下中文翻译的开发文档具体了解一下关于React Native,想要查看官方文档可以点http://facebook.github.io/react-native/docs/getting-started.html。 在官方文档中,只给出在Window上安装React Native的教程,没有给Mac下的教程,我在网上找了半天,找了部分内容,又根据自己的理解整理了一下 1...
阅读(3780) 评论(0)

[置顶] 浅谈我为什么选择用Retrofit作为我的网络请求框架

比较AsyncTask、Volley、Retrofit三者的请求时间 使用 单次请求 7个请求 25个请求 AsyncTask 941ms 4539ms 13957ms Volley 560ms 2202ms 4275ms Retrofit2.0 312ms 889...
阅读(4758) 评论(0)

[置顶] 高仿今日头条(2)

接上一篇博客:http://blog.csdn.net/xiangzhihong8/article/details/51262939 这部分主要是实现频道管理页面,先上两张图片, 自定义拖动控件,onInterceptTouchEvent事件拦截,dispatchTouchEvent事件分发,onTouchEvent(对于View而言) 想要具体了解android的事件拦截机制,请访...
阅读(2436) 评论(0)

[置顶] 高仿今日头条(1)

本片博客主要实现今日头条的主题框架。 先上两张图 直接贴代码: @InjectView(android.R.id.tabcontent) FrameLayout tabcontent; @InjectView(android.R.id.tabs) TabWidget tabs; @InjectView(R.id.tabhost) Ta...
阅读(3118) 评论(0)

[置顶] Android Loader详解

一,android装载器基本方法 装载器从android3.0开始引进。它使得在activity或fragment中异步加载数据变得简单。装载器具有如下特性: 它们对每个Activity和Fragment都有效。 他们提供了异步加载数据的能力。 它们监视数据源的一将一动并在内容改变时传送新的结果。 当由于配置改变而被重新创建后,它们自动重连到上一个加载...
阅读(7546) 评论(1)

[置顶] android 开发从入门到精通

Android-Tips This is an awesome list of tips for android. If you are a beginner, this list will be the first choice for you when you have a difficult time. Welcome Star and Fork, your suppo...
阅读(4066) 评论(0)

[置顶] Stackoverflow上人气最旺的10个Java问题

1、 为什么两个(1927年)时间相减得到一个奇怪的结果? (3623个赞) 如果执行下面的程序,程序解析两个间隔1秒的日期字符串并比较: 01 public static void main(String[] args) throws ParseException { 02     Simpl...
阅读(2703) 评论(0)

[置顶] 仿12306查询火车票功能

首先感谢http://www.zuidaima.com/share/1861712958622720.html对我的帮助,我在此基础上修改了页面的显示, 先上效果吧 public class SearchTrainController implements X509TrustManager { private static String QUERY_RUL = "https://kyfw....
阅读(4973) 评论(4)

[置顶] android 自定义gallerey并实现预览功能

自从Gallery被谷歌废弃以后,Google推荐使用ViewPager和HorizontalScrollView来实现Gallery的效果。的确HorizontalScrollView可以实现Gallery的效果,但是HorizontalScrollView存在一个很大的问题,如果你仅是用来展示少量的图片,应该是没问题的,但是如果我希望HorizontalScrollView可以想ViewPag...
阅读(2183) 评论(0)

[置顶] android wheelview实现三级城市选择

很早之前看淘宝就有了ios那种的城市选择控件,当时也看到网友有分享,不过那个写的很烂,后来(大概是去年吧),我们公司有这么一个项目,当时用的还是网上比较流行的那个黑框的那个,感觉特别的丑,然后我在那个开源的wheelview的基础上做封装,用户只需要专心数据的组装即可,然后填充就行,其他的可以不必考虑。 接下来说下我的思路:网络请求-数据返回-设置数据-数据填充控件 接下来直接按上面的流程直接...
阅读(4978) 评论(0)

[置顶] android 热修补之andfix实践

对于网上提供的热补丁修复就不多说了,主要有这3种方式可以实现(至于其他的方式,暂不清楚) 1.dexposed     github https://github.com/alibaba/dexposed 2.andfix   github https://github.com/alibaba/AndFix 3.bsdiff  http://blog.csdn.net/lazye...
阅读(4169) 评论(0)

[置顶] android 应用模式之mvp

说到MVP就不得不提到MVC,做过J2EE的猿友们肯定知道MVC是个什么东西。MVC即 Model、View、Controller, 那MVP就Model、View、Presenter。Model用于提供数据模型,View用于显示数据,当然Presenter也就用来处理业务逻辑并将数据显示数据到View上了,它是Model和View的桥梁。 题外话,其实在15年的时候,我们公司的项目就采用mvp...
阅读(2117) 评论(0)

[置顶] Android网络请求框架之Retrofit实践

网络访问框架经过了从使用最原始的AsyncTask构建简单的网络访问框架(甚至不能称为框架),后来使用开源的android-async-http库,再到使用google发布的volley库,一直不懈的寻找更好的解决方案,到现在也没找到,不过据行业所说,Retrofit算是行业比较牛逼的开源请求框架了吧,也算找 到了一些更好的方案,在这里做些记录,也做共享。 下面是我们常用的mvp模式的运行模型:...
阅读(2171) 评论(0)

[置顶] android自定义view实现公章效果

上次去一个公司面试,面试官问了一个题,怎么用android的自定义view实现一个公章的效果,据说这是华为之前的面试题,我想了下,要是公章的效果,最外层是一个圆,里面是一个五角星,但是这文字怎么画呢,比较难搞,后来回来看了下java的api,发现人家的Path里面本来就提供了这么一个方法: public void addArc(RectF oval, float startAngle, fl...
阅读(3262) 评论(0)

[置顶] Universal-Image-Loader源码分析,及常用的缓存策略

讲到图片请求,主要涉及到网络请求,内存缓存,硬盘缓存等原理和4大引用的问题,概括起来主要有以下几个内容: 原理示意图     主体有三个,分别是UI,缓存模块和数据源(网络)。它们之间的关系如下: ① UI:请求数据,使用唯一的Key值索引Memory Cache中的Bitmap。 ② 内存缓存:缓存搜索,如果能找到Key值对应的Bitmap,则返回数据。否则执...
阅读(2399) 评论(0)

[置顶] CoordinatorLayout

CoordinatorLayout作为“super-powered FrameLayout”基本实现两个功能:  1、作为顶层布局  2、调度协调子布局 CoordinatorLayout使用新的思路通过协调调度子布局的形式实现触摸影响布局的形式产生动画效果。CoordinatorLayout通过设置子View的 Behaviors来调度子View。系统(Support V7)提供了AppB...
阅读(2392) 评论(0)

[置顶] android-async-http框架源码分析

async-http框架源码解析...
阅读(2485) 评论(0)

[置顶] android 实现淘宝收益图的折线

实现的效果我一会贴上,我先说下原理,我们知道要实现在canvas上画线,不就是要搞一个paint嘛,然后首先肯定要设置下paint的属性,那么画文字呢,不就是Textpaint吗, 对,就是这么简单,接下来怎么画,折线图主要分为X轴和y轴,x轴表示日期,y表示收益,好,说道这里,大家应该知道怎么去做了,下面直接贴代码, 这个方法是,画x,y坐标系的,以及上面的日期和收益了 private...
阅读(2942) 评论(0)

[置顶] Android热补丁技术—dexposed原理简析(手机淘宝采用方案)

上篇文章《Android无线开发的几种常用技术》我们介绍了几种android移动应用开发中的常用技术,其中的热补丁正在被越来越多的开发团队所使用,它涉及到dalvik虚拟机和android的一些核心技术,现在就来介绍下它的一些原理。 本篇先介绍dexposed方案:https://github.com/alibaba/dexposed,它是手机淘宝团队使用的热补丁方案,后来开源到github...
阅读(2704) 评论(0)

[置顶] android离线缓存技术

离线缓存是指在有网络的状态下将从服务器获取的网络数据,如Json 数据缓存到本地,在断网的状态下启动APP时读取本地缓存数据显示在界面上,常用的APP(网易新闻、知乎等等)都是支持离线缓存的,这样带来了更好的用户体验。 如果能够在调用网络接口后自动缓存返回的Json数据,下次在断网状态下调用这个接口获取到缓存的Json数据的话,那该多好呢?Volley做到了这一点。 因此,今天这篇文章...
阅读(2787) 评论(0)

[置顶] java的双缓冲技术

Java的强大特性让其在游戏编程和多媒体动画处理方面也毫不逊色。在Java游戏编程和动画编程中最常见的就是对于屏幕闪烁的处理。本文从J2SE的一个再现了屏幕闪烁的Java Appilication简单动画实例展开,对屏幕闪烁的原因进行了分析,找出了闪烁成因的关键:update(Graphics g)函数对于前端屏幕的清屏。由此引出消除闪烁的方法——双缓冲。双缓冲是计算机动画处理中的传统技术,在...
阅读(2150) 评论(0)

[置顶] struts2实现ajax校验的2种方法

共同的一点是,Action都需要将一个方法暴露出来,给前端javascript调用  javascript的代码都是一样的:  Js代码   function testAjax() {          var $userNameInput = $("#ajax_username");       var userName = $userNameInput....
阅读(2452) 评论(0)

[置顶] Android+struts2+json方式模拟手机登录功能

涉及到的知识点:  1.Struts2框架的搭建(包括Struts2的jSON插件)   2.Android前台访问Web采用HttpClient方式。   3.Android采用JSON的解析。 服务端主要包含一个Action,通过struts的web配置配置struts.xml驱动业务逻辑的执行,然后对于符合条件的登录,返回给客户端通过jsonobject包装的数据。...
阅读(5578) 评论(0)

[置顶] Hibernate之初体验

在开始学Hibernate之前,一直就有人说:Hibernate并不难,无非是对JDBC进一步封装。一句不难,难道是真的不难还是眼高手低?       如果只是停留在使用的层面上,我相信什么技术都不难,看看别人怎么做的,你也可以很快上手。       这难道是学习的最终目的吗?       不是,绝对不是。我们需要了解这门技术的基本概念,它到底是什么,它是干什么的,它有什么优缺点...
阅读(2029) 评论(0)

[置顶] 天下网上系统使用及介绍

源码我已经放在git上了,有需要的可以到https://github.com/xiangzhihong/B2CShop 系统介绍 本章的天下陶网络商城主要分为:前台游客浏览、普通用户操作和后台管理3部分。结合目前网上购物平台系统的设计方案,本项目具有以下特点:界面设计美观大方、操作简单。功能完善、结构清晰。普通用户的购物操作。能够实现后台用户和商品管理。能够实现推荐商品的操作。...
阅读(2440) 评论(0)

[置顶] 为什么我们要使用ssh框架技术,及感想

前言:       在公司从C++转向Java Web方向大概有3个月(11月初-1月底)了。三个月前对Java和Web还几乎是零基础。然后从安装Eclipse,MySQL,tomcat开始,到学习HTML/CSS/Javascript,JQuery,JSP,SQL,在项目已有的架构Spring-Struts-Hibernate上,开始加入新的功能页等。这三个月,写了很多的JavaScrip...
阅读(3717) 评论(0)

[置顶] StickyListHeaders的使用

我们知道在ios中字母的导航有悬停的效果,在android中,git上有大神实现了这种悬停的功能,我们只要将普通的Listview改为StickyListHeadersListView然后设置adapter就行,不过这个的adapter是StickyListHeadersAdapter。 StickyListHeaders StickyListHeaders is an Android...
阅读(2914) 评论(0)

[置顶] android Material Design详解

原文地址:http://blog.csdn.net/jdsjlzx/article/details/41441083/ 前言 我们都知道Marterial Design是Google推出的全新UI设计规范,如果对其不太了解的可以看下:Material design非官方中文指导手册 ,或者我的前面几篇Material Design的译文,相比之前Google在Android Hol...
阅读(2360) 评论(1)

[置顶] android gif动画开源框架android-gif-drawable

地址:https://github.com/koral--/android-gif-drawable   github里介绍挺详细的 项目中需要显示gif图片,并对用户体验有较高的要求,之前一直在使用gifview,但一直不能很好的解决OOM问题,后来在github中搜索到android-gif-drawable,觉得这个开源组件不错。   开源jar下载: http...
阅读(2551) 评论(0)

[置顶] android EventBus详解(三)

post()方法调用流程 我们继续来看EventBus类,的另一个入口方法post() //已省略部分代码 public void post(Object event) { PostingThreadState postingState = currentPostingThreadState.get(); ListObject> eventQueue = posting...
阅读(1982) 评论(0)

[置顶] android EventBus详解(二)

上一节讲了EventBus的使用方法和实现的原理,下面说一下EventBus的Poster只对粘滞事件和invokeSubscriber()方法是怎么发送的。 Subscribe流程 我们继续来看EventBus类,分析完了包含的属性,接下来我们看入口方法register() 通过查看源码我们发现,所有的register()方法,最后都会直接或者间接的调用register...
阅读(1986) 评论(0)

[置顶] android EventBus详解(一)

EventBus 是一款针对Android优化的发布/订阅事件总线。主要功能是替代Intent, Handler, BroadCast 在 Fragment,Activity,Service,线程之间传递消息.优点是开销小,使用方便,可以很大程度上降低它们之间的耦合,使得我们的代码更加简洁,耦合性更低,提升我们的代码质量。 类似的库还有 Otto ,今天就带大家一起研读 EventBus 的源码...
阅读(2146) 评论(0)

[置顶] 开源组件photoView学习

功能特性  支持放缩超出边界,多点触控和双击事件  滚动和滑动  和ViewPager等能完美兼容  矩阵变化等有回调,方便前台其他展示的改变  单击,长按都有回调提醒 源码剖析 那么怎么来学习他的源码呢,我们从以下几个部分来说吧  代码目录结构     从上面结构图中我们能知道他的功能总体划分,有了一个总体的认识啦。   ...
阅读(1993) 评论(0)

[置顶] ViewPagerIndicator+viewpager指示器详解

前几天学习了ViewPager作为引导页和Tab的使用方法。后来也有根据不同的使用情况改用Fragment作为Tab的情况,以及ViewPager结合FragmentPagerAdapter的使用。今天学习一种利用开源控件ViewPagerIndicator实现Tab的方式,也是各种新闻客户端等APP开发最常用的。 1.如何使用开源框架 第1步:improt library项目 第2...
阅读(3132) 评论(0)

[置顶] 仿网易新闻客户端

https://github.com/xiangzhihong/newsApp newsApp是一款仿网易新闻的客户端产品,非官方版本,属于个人业余时间做的一个小项目; 界面有一些仿网易新闻客户端 主要用到了网络请求,下拉刷新,指示器,以及一些自定义的动画效果,由于现在流行将代码开源,如实我也开源了几个项目,希望大家喜欢。 主要分为四大板块: 【文章】 【视频...
阅读(2661) 评论(0)

[置顶] 如何上传代码到git上

windows环境下上传代码到git仓库   1,https://github.com/new 2,创建成功后是这样子的   3,远程添加github上的Blog仓库。 1)进入本地文件夹下-右击鼠标-Git Gui-远端(remote)-Add... 2)获取github中Blog仓库的地址。 3) 在Add Remote窗口中填写名字、Location。 ...
阅读(4634) 评论(0)

[置顶] 实现去哪儿来回机票选择的view

最近有个控件是实现和去哪儿和阿里旅行的app的选择日历效果,反编译没有效果的情况下我自己实现了个,大致的原理是: 上面是产品需要实现的效果,我看了下不就是一个ListView+gridView就能实现么,方案有了,自定义的CalendarView实现对日期的计算,然后可以按ios显示的风格显示日历 public class MyCalendar extends LinearLayo...
阅读(3114) 评论(2)

[置顶] 解决水平ListView在ScrollView中出现的滑动冲突

解决的问题有两个:  1)实现水平滑动的ListView。重写AdapterView,上代码:  Java代码   package com.liucanwen.horizontallistview.view;      import java.util.LinkedList;   import java.util.Queue;      import andro...
阅读(2506) 评论(0)

[置顶] Android逆向分析(2) APK的打包与安装背后的故事

前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之鱼不如授之以渔,只有知道一些基本原理,才能让我们以后能自行解决更多问题。 那么,你知道么?从我们在Android Studio中,点击run,到app运行在手机上,之间究竟发生了什么,代码...
阅读(2398) 评论(0)

[置顶] Spring的声明式事务管理

在service类前加上@Transactional,声明这个service所有方法需要事务管理。每一个业务方法开始时都会打开一个事务。 Spring默认情况下会对运行期例外(RunTimeException)进行事务回滚。这个例外是unchecked 如果遇到checked意外就不回滚。 如何改变默认规则: 1 让checked例外也回滚:在整个方法前加上 @Transa...
阅读(1908) 评论(0)

[置顶] studio grandle渠道打包

1. Mainfest 文件中添加一个键值对,这里的value 我定义为  “UMENG_CHANNEL_VALUE”(当然实际应用中可以根据自己的需要命名),后面打包的时候会对这个值进行替换。 value="UMENG_CHANNEL_VALUE" android:name="UMENG_CHANNEL"/> 2. 打开app下的build.gradle(你的model下的bu...
阅读(2189) 评论(0)

[置顶] Spring 官网jar下载

1,首先输入http://spring.io/进入Spring官网 2,点击project 栏,找到Spring framwork 3,点击reference  4,找到Distribution Zip Files,点击下载spring的web链接,http://repo.spring.io/release/org/springframework/spring/ ...
阅读(2037) 评论(0)

[置顶] android studio比较长用的几款插件

不懂安装studio插件,看参考博文:android stuido插件安装:http://blog.csdn.net/liang5630/article/details/46372447 1、ButterKnife Zelezny ButterKnife 注解生成器,使用起来非常简单方便,使用ButterKnife的有福了! 2、SelectorChapek 设计师...
阅读(1947) 评论(0)

[置顶] 一个比较牛逼人的博客

http://www.xamasoft.com/json-class-generator/...
阅读(2165) 评论(0)

[置顶] android自定义属性

1、引言 对于自定义属性,大家肯定都不陌生,遵循以下几步,就可以实现: 自定义一个CustomView(extends View )类编写values/attrs.xml,在其中编写styleable和item等标签元素在布局文件中CustomView使用自定义的属性(注意namespace)在CustomView的构造方法中通过TypedArray获取 ps:如果你对上述几...
阅读(1855) 评论(0)

[置顶] gradle构建android项目详解

1、用Gradle构建 1.1 工程结构 如图所示,这是一个不能更普通的Android的Gradle工程了。 根目录下面的settings.gradle当中主要是用来include子模块的,比如我们这个工程有一个叫作app的子模块,那么settings.gradle的内容如下: include ':app' 根目录下面的build.gradle包含一些通用...
阅读(3162) 评论(0)

[置顶] 仿360静默安装

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47803149 之前有很多朋友都问过我,在Android系统中怎样才能实现静默安装呢?所谓的静默安装,就是不用弹出系统的安装界面,在不影响用户任何操作的情况下不知不觉地将程序装好。虽说这种方式看上去不打搅用户,但是却存在着一个问题,因为Android系统会在安装界面当中把程序所...
阅读(2251) 评论(0)

[置顶] 将html5项目部署到tomcat上,并实现安卓手机访问

最近在使用Webstorm开发项目中前端相关的内容,但是涉及到使用ajax技术,不能够跨域访问相关json文件和服务,需要将前端代码部署到tomcat服务器上。但是,如果通过手动拷贝的方式,太过于复杂,大大降低了开发的效率,但实在无法割舍Webstorm,只好查阅了一些资料,解决部署的问题。 具体的步骤如下:  html5项目如图: (1)打开设置setting面板 ...
阅读(4584) 评论(0)

[置顶] Android listView异步下载和convertView复用产生的错位问题

1:Item图片显示重复 这个显示重复是指当前行Item显示了之前某行Item的图片。 比如ListView滑动到第2行会异步加载某个图片,但是加载很慢,加载过程中ListView已经滑动到了第14行,且滑动过程中该图片加载结束。第2行已不在屏幕内,根据上面介绍的缓存原理,第2行的View对象可能被第14行复用,这样我们看到的就是第14行显示了本该属于第2行的图片,造成显示重复。 ...
阅读(2490) 评论(0)

[置顶] volley请求原理

Volley 实现原理解析 本文为 Android 开源项目实现原理解析 中 Volley 部分 项目地址:Volley,分析的版本:35ce778,Demo 地址:Volley Demo 分析者:grumoon,校对者:huxian99,校对状态:完成 1. 功能介绍 1.1. Volley Volley 是 Google 推出的 Android ...
阅读(2051) 评论(0)

[置顶] android自定义listview实现header悬浮框效果

之前在使用iOS时,看到过一种分组的View,每一组都有一个Header,在上下滑动的时候,会有一个悬浮的Header,这种体验觉得很不错,请看下图: 上图中标红的1,2,3,4四张图中,当向上滑动时,仔细观察灰色条的Header变化,当第二组向上滑动时,会把第一组的悬浮Header挤上去。 这种效果在Android是没有的,iOS的SDK就自带这种效果。这篇文章就介绍如何...
阅读(2261) 评论(0)

[置顶] android放大镜效果实现

public class ShaderView extends View {       private final Bitmap bitmap;       private final ShapeDrawable drawable;       // 放大镜的半径          private static final int RADIUS = 80;       // 放大倍数...
阅读(3826) 评论(1)

[置顶] 抓包工具Fidder详解

第一步:下载神器Fiddler,下载链接: http://fiddler2.com/get-fiddler 下载完成之后,傻瓜式的安装一下了! 现在这个下载链接失效了,可以百度下载 第二步:设置Fiddler 打开Fiddler,     Tools-> Fiddler Options (配置完后记得要重启Fiddler) 选中"Decrpt HTT...
阅读(2400) 评论(0)

[置顶] java 的序列化和反序列化的问题

绝对经典...
阅读(2252) 评论(0)

[置顶] Picasso and Android-Universal-Image-Loader缓存框架

picasso Picasso http://square.github.io/picasso/Square的开源项目之一 最大特点就是你只需要一句代码: Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView); 缓存什么的设置基本可以忽略了 另外的一些诸如裁剪图片: Picasso.w...
阅读(5271) 评论(0)

[置顶] ios开发环境搭建

故事版(Storyboard)是一个能够节省你很多设计手机App界面时间的新特性,下面,为了简明的说明Storyboard的效果,我贴上本教程所完成的Storyboard的截图: 现在,你就可以清楚的看到这个应用究竟是干些什么的,也可以清楚的看到其中的各种关系,这就是Storyboard的强大之处了。如果你要制作一个页面很多很复杂的App,Storyboard可以帮助你解...
阅读(2279) 评论(0)

使用Gradle方式构建Kotlin缓存

Kotlin 1.2.21 允许 Kotlin 项目使用构建缓存,通过 Gradle 的构建缓存功能,可以提升 Kotlin 代码的编译速度,加快开发周期。本文将结合实际例子,介绍利用 Gradle 加速 Kotlin 代码编译的原理、配置示例以及在 IDE 中的使用方法。 原理 构建缓存的工作原理是在缓存中存储编译过的类、测试结果和其它构建工序,同时记录所有的任务输入,包括输入文件内容、相关......
阅读(253) 评论(0)

Android+TensorFlow+CNN+MNIST实现手写数字识别

开发环境 TensorFlow: 1.2.0 Python: 3.6 Python IDE: PyCharm 2017.2 Android IDE: Android Studio 3.0 训练与评估 训练和评估部分主要目的是生成用于测试用的pb文件,其保存了利用TensorFlow python API构建训练后的网络拓扑结构和参数信息,实现方式有很多种,除了cnn外还可以使用rnn......
阅读(560) 评论(3)

React Native也能玩区块链了

区块链天生具有的不可更改性和去中心化特性,使得开发许多令人惊叹的使用案例成为可能,例如自治组织、销售、社交网络、保险公司以及成百上千人之间的游戏。 近日,根据 dApp 白皮书介绍,相对于后端代码运行在集中的服务器的 App 而言,dApp 的后台代码基本上运行在一个去中心化的点对点网络。 本文将阐述如何使用 React Native 来制作一个跨平台的移动 dApp,用于将你最爱的密码朋......
阅读(470) 评论(0)

将Kotlin代码编译成Javascript 代码

在Kotlin和Javascript平台的互操作过程中,往往会涉及Kotlin代码和 Javascript 代码相互转换的过程,本文主要介绍如何将Kotlin代码编译成Javascript 代码。 1,创建JavaScript的应用程序 首先创建一个新的应用程序或目标JavaScript模块时,并需要选择Kotlin - JavaScript作为编译运行目标。 默认情况下,插件选择与......
阅读(282) 评论(0)

iOS关键组件iBoot源代码泄露

昨天(2月7日),有匿名开发者在 GitHub 上传了 iOS 核心组件的源代码,这可能会促进黑客和安全研究人员找到 iOS 漏洞,并使 iPhone 陷入危险境地。git地址:https://github.com/h1x0rz3r0/iBoot。 不过,8日早上已经看不到相关的源码信息了,该项目已经转为Private,相关信息可以查看下面的链接: https://github.com/g......
阅读(271) 评论(0)

区块链游戏大全

“数字货币”和”区块链技术”这两个关键词在互联网平台炒的火热,多数网友在完全不懂金融学和交易技术的情况下,竟全程无障碍地参与了这场”货币大战”,可以说,区块链游戏是继比特币和以太坊技术之后,区块链的有一大实战应用。2017年底到2018年初,数十家互联网公司和竞相推出各类区块链游戏,抢占市场先机,这些新型的区块链游戏有哪些? 从目前区块链技术的发展形势来看,这类新型游戏非常具备颠覆传统交易方......
阅读(223) 评论(0)

Google发布Android KTX预览版

前天,Google 发布了 Android KTX 预览版,Android KTX 是一组扩展程序,它能使 Android 上的 Kotlin 代码更简洁,从而提高开发者的编程体验。 大家知道,Google在2017年的Google I/O大会上将Kotlin列为第一开发语言之后,便不遗余力的支持Kotlin。Android KTX 中支持 Android 框架的部分现在可在 GitHub 库中...
阅读(220) 评论(0)

漫谈分布式与区块链

最近区块链的话题很火,有人想用它改变世界,有人想用它招摇撞骗。其实,说道区块链就不得不提分布式系统,可以说分布式是基础,区块链不过是在分布式的基础上做了一些“封装”,从技术的角度看,区块链是一种与分布式系统有关的技术。今天不具体聊区块链,今天具体聊分布式。 分布式系统 一个由区块链技术支撑的系统,比如比特币网络或以太坊,从技术上看,是一个很庞大的分布式系统。因此,我们首先从分布式系统开始说...
阅读(136) 评论(0)

IOS开发之逆向分析

首先,本逆向分析是系列文章,会分别从常见的逆向技巧来介绍iOS开发中常见的逆向技术。 网络分析 在逆向过程中很多时候需要分析APP和Web端数据交互的内容那么最简单的方式即是抓包网络分析,而使用Charles、Tcpdump也是逆袭分析最基本的手段。本文以Charles为例来介绍网络相关的内容。 Charles 是在 Mac 下常用的网络封包截取工具,在做 移动开发时,我们为了调试与服务...
阅读(355) 评论(0)

Kotlin与Java互操作

互操作就是在Kotlin中可以调用其他编程语言的接口,只要它们开放了接口,Kotlin就可以调用其成员属性和成员方法,这是其他编程语言所无法比拟的。同时,在进行Java编程时也可以调用Kotlin中的API接口。 Kotlin调用Java Kotlin在设计时就考虑了与Java的互操作性。可以从Kotlin中自然地调用现有的Java代码,在Java代码中也可以很顺利地调用Kotlin代码。...
阅读(476) 评论(0)

移动PWA初探

在去年上海举办的2017谷歌开发者大会上,PWA作为会议的一个重要内容被推介,笔者作为参会嘉宾看了PWA的内容后,觉得这种技术会是未来移动发展的一个趋势。Google开发技术推广工程师Michael Yeung介绍称,新浪微博正在打造一款全新体验的Web Mobile PWA应用,读者可以通过微博提供的PWA版访问网址:m.weibo.cn/beta。 在当前的移动跨平台开发方案中,主要的技...
阅读(208) 评论(0)

RxJs简介

这两年,各种异步编程框架,上面RxJava,RxAndroid,RxSwift等等,今天要聊的是RxJs,对于我等入门不久的前端工程师来说,这个框架还是比较有新颖的,中文官网地址:http://cn.rx.js.org/ RxJs简介 RxJS是一个异步编程的库,同时它通过observable序列来实现基于事件的编程。它提供了一个核心的类型:Observable,几个辅助类型(Observ...
阅读(427) 评论(0)

基于OpenCV的跳一跳外挂实现原理

最近,微信跳一跳小游戏迅速走红并且在朋友圈刷屏,游戏的规则很简单,就是控制一个小矮子再各个墩子上跳来跳去。由于游戏比较简单,一时间大家都玩起来了,这也带动了一些作弊的产生。Android和iOS的小程序都可以刷分,如果想要刷分,可以参考下面这个开源项目:Python刷分。 今天要给大家讲的是如何使用OpenCV来给Android小程序刷分。 其实,刷分的思路都是一致的:通过Android手...
阅读(425) 评论(0)

React Native 0.50版本新功能简介

React Native在2017年经历了众多版本的迭代,从本人接触的0.29版本开始,到前不久发布的0.52版本,React Native作为目前最受欢迎的移动跨平台方案。虽然,目前存在着很多的功能和性能的缺失,但是不可否认的是React Native确实在进步。 本文主要从以下几个方面来对React Native0.50+进行讲解: 在兼容性方面新增了对Android8.0、iPhone...
阅读(376) 评论(0)

Android滤镜效果实现及原理分析

Android在处理图片时,最常使用到的数据结构是位图(Bitmap),它包含了一张图片所有的数据。整个图片都是由点阵和颜色值组成的,所谓点阵就是一个包含像素的矩阵,每一个元素对应着图片的一个像素。而颜色值——ARGB,分别对应着透明度、红、绿、蓝这四个通道分量,他们共同决定了每个像素点显示的颜色。下图是ARGB的模型图。 色彩矩阵分析 在Android中,系统使用一个颜色矩阵-Col...
阅读(314) 评论(0)

Spring Boot入门及整合mybatis

Spring Boot入门 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置,使用Spring Boot可以大大的提供软件的开发效率。 特点: 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Mav...
阅读(313) 评论(0)

2017移动开发年终盘点

2017年已经过了大半个月,2017年移动端经历了哪些大事件呢,现在总结如下。 Android 技术动态 在今年 Google I/O 大会上,谷歌 CEO Sundar Pichai 宣布谷歌的正在从“移动为首位”转变为“AI 高于一切”,所以与往年的开发者大会相比,今年会议的大部分内容都围绕 AI 展开,如 Google 将开放 Tensor Flow、TPU 等软硬件工具给开发者,还发布...
阅读(354) 评论(0)

Swift开发React Native组件

前面说过,React Native作为一个全新的跨平台开发框架,好多东西还不是很成熟,很多原生的控件还不是很完善,于是好多爱好者便自己封装相关的组件,可以使用oc来封装,也可以使用Swift来封装。关于封装的原理,大家可以访问我的书的《React Native移动开发实战》。 基础 学习本章知识,需要读者具备一定的OC和Swift语言基础,读者可以从下面的链接中获取学习资料。 Apple 官...
阅读(305) 评论(0)

深入理解Android插件化技术

插件化技术可以说是Android高级工程师所必须具备的技能之一,从2012年插件化概念的提出(Android版本),到2016年插件化的百花争艳,可以说,插件化技术引领着Android技术的进步。本篇文章转载自腾讯bugly,觉得写得不错,转载分享给大家。 插件化提要 可以说,插件化技术涉及得非常广泛,其中最核心的就是Android的类加载机制和反射机制,相关原理请大家自行百度。...
阅读(514) 评论(0)

Kotlin DSL详解

DSL简介 所谓DSL领域专用语言(Domain Specified Language/ DSL),其基本思想是“求专不求全”,不像通用目的语言那样目标范围涵盖一切软件问题,而是专门针对某一特定问题的计算机语言。总的来说 DSL 是为了解决系统(包括硬件系统和软件系统)构建初期,使用者和构建者的语言模型不一致导致需求收集的困难。 举一个具体的例子来说。在构建证券交易系统的过程中,在证券交易活...
阅读(648) 评论(0)
1056条 共53页1 2 3 4 5 ... 下一页 尾页
    本人新书
    个人资料
    • 访问:2233152次
    • 积分:29438
    • 等级:
    • 排名:第208名
    • 原创:763篇
    • 转载:268篇
    • 译文:25篇
    • 评论:395条
    技术公众号
      欢迎关注我的公众号,每天为你推荐最新的博文,与大家一起学习共同进步!
    博客专栏
    站长统计
    微博
    最新评论
    本人新作

    新书