[置顶] gitlab操作指南

概述GitLab是利用 Ruby on Rails 一个开源的版本管理系统,实现一个自托管的Git项目仓库,可通过Web界面进行访问公开的或者私人项目。它拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库。团队成员可以利用内置的简单聊天程序(Wall)进行交流。它还提供一个代码片段收集功能可以轻松实现代码复用,便于日...
阅读(4599) 评论(6)

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

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

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

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

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

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

[置顶] Docker与容器

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

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

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

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

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

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

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

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

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

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

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

[置顶] Support Annotation Library使用详解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[置顶] Android逆向工程

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

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

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

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

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

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

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

[置顶] 算法笔记之排序

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

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

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

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

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

[置顶] hello Kotlin

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

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

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

[置顶] android插件化之路

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

[置顶] 初识Node.js

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

[置顶] Android动画深入分析

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

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

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

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

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

[置顶] Android的DataBinding原理介绍

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

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

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

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

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

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

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

[置顶] ActivityManagerService启动过程分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[置顶] Android Loader详解

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

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

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

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

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

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

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

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

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

[置顶] android 应用模式之mvp

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

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

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

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

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

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

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

[置顶] CoordinatorLayout

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

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

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

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

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

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

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

[置顶] android离线缓存技术

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

[置顶] java的双缓冲技术

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

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

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

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

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

[置顶] Hibernate之初体验

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

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

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

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

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

[置顶] StickyListHeaders的使用

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

[置顶] android Material Design详解

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

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

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

[置顶] android EventBus详解(三)

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

[置顶] android EventBus详解(二)

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

[置顶] android EventBus详解(一)

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

[置顶] 开源组件photoView学习

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

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

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

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

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

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

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

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

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

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

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

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

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

[置顶] studio grandle渠道打包

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

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

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

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

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

[置顶] android自定义属性

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

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

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

[置顶] 仿360静默安装

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

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

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

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

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

[置顶] volley请求原理

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

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

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

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

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

[置顶] 抓包工具Fidder详解

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

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

绝对经典...
阅读(2068) 评论(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...
阅读(5055) 评论(0)

[置顶] ios开发环境搭建

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

Vue.js 2.5新特性介绍

TypeScriptTypeScript是一种由微软开发的自由和开源的编程语言。它是JavaScript的一个超集,而且本质上向这个语言添加了可选的静态类型和基于类的面向对象编程。2012年十月份,微软发布了首个公开版本的TypeScript,在2013年6月19日,微软发布了TypeScript 0.9的正式版本,到目前为止,TypeScript已发展到2.x版本,相关资料可以查看W3C Type...
阅读(40) 评论(0)

ThinkJS 简介

简介最近几年,前端技术呈现出突飞猛进的发展,涌现出了一大批优秀的前端框架,今天给大家带来的就是基于node的一款优秀的优秀的前端框架。之前一直用Express来搭建比较简单的Node应用,但是对于相对复杂的应用来说,Express还是太轻量了。而作为一款优秀的国产前端框架,ThinkJS整合了大量的项目最佳实践,让企业级开发变得更加简单、高效。从 3.0 开始,框架底层基于 Koa 2.x 实现,兼...
阅读(233) 评论(0)

Vue.js快速入门

Vue.js简介Vue.js(读音 /vjuː/, 类似于view)是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计。Vue 的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue 完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组...
阅读(199) 评论(1)

使用Gitbook写电子书

工作以来一直有些博客的习惯,除了在各大站长写博客外,还可以使用 gitbook 将博客整理成电子书出版,如果受到好评还可以将图书弄成电子版出版。 经过近半年的整理,我的新书《React Native移动开发实战》就要发售了,提前打个广告,书名和封面样式还在确认中,也欢迎大家给出好的点子。 今天要给大家说的是如何利用GitBook编写一本属于自己的点子书。1,GitBook Editor首先到官网...
阅读(185) 评论(0)

React 动画框架简介

由于 React 加持了虚拟 DOM 等诸多特性,所以在 React 上实现常规的动画效果有一些特别之处。本文不会深入探讨 React 对动画的处理逻辑,只会简单地演示如何使用 React 创建动画效果。React 插件React 官方提供了两个插件用于处理动画效果:一个是偏底层的 react-addons-transition-group,一个是在前者基础上进一步封装的 react-addons-...
阅读(141) 评论(0)

微信小程序之picker组件

作为移动端的分发入口,微信小程序虽然没有当初期望的那么火,但是却是一个不能忽视的入口。撇开微信小程序对于腾讯生态的原因不说,微信小程序对于开发还是很方便的,特别是对于白痴选手来说,基本不需要多少过多的学习,就能写一个不错的小程序。下面就微信小程序常见的组件分别做详细的介绍,本篇主要介绍picker组件。运行效果如下: picker选择器分为5种:分别是普通选择器,多列选择器,时间选择器,日期选...
阅读(259) 评论(0)

Windows环境下通过SSH登录新浪云

在后端系统开发中,开发完成之后,如果需要对外提供服务,需要部署到相应的对外公网服务器上。而作为个人开发者,或者测试用户,可以选用现在比较成熟的云,将代码托管,著名的有阿里云(需要备案),本文为了方便说明,我选择了新浪云,文档配置地址如下。Windows环境下通过SSH登录云新浪云自定义运行环境支持证书通过SSH登录到启动的容器虚拟机,如果你使用的是Windows环境,可以参考以下步骤操作:生成SSH...
阅读(90) 评论(0)

vue.js与其他前端框架的对比

ReactReact 和 Vue 有许多相似之处,它们都有: 使用 Virtual DOM 提供了响应式 (Reactive) 和组件化 (Composable) 的视图组件。 将注意力集中保持在核心库,而将其他功能如路由和全局状态管理交给相关的库。 由于有着众多的相似处,我们会用更多的时间在这一块进行比较。这里我们不只保证技术内容的准确性,同时也兼顾了平衡的考量。我们需要承认 React 比 Vu...
阅读(215) 评论(0)

macOS安装Mysql数据库

最近闲来没事,想使用Node+mysql搭建一套服务器环境,并对外提供接口的方式给移动客户端和微信小程序提供数据。这里采用的服务器技术是NodeJs+ThinkJs+mysql,运行的效果如下: 启动服务: 本地测试: 微信客户端从服务端读取数据: 安装Mysql1,下载Mysql安装(官方地址:https://dev.mysql.com/downloads/mysql/),选择对应...
阅读(262) 评论(0)

前端ThinkJS框架解析

Thinkjs 是一个快速、简单的基于MVC和面向对象的轻量级Node.js开发框架,遵循MIT协议发布。秉承简洁易用的设计原则,在保持出色的性能和至简的代码同时,注重开发体验和易用性,为WEB应用开发提供强有力的支持。Thinkjs里面很多特性来源于ThinkPHP,同时根据Node.js的特点,使用了Promise, WebSocket等特性,让代码更简洁、优雅。Thinkjs最大的特色是对目前...
阅读(249) 评论(0)

谷歌增强现实技术ARCore

简介随着,今年苹果在6月的WWDC 2017上发布的ARKit,谷歌也在前不久(8月29日),发布了用于Android平台的AR SDK——ARCore。这弥补了AR在Android市场上的空缺,让无数Android用户激动不已,要知道Android拥有超过20亿活跃设备,如果说ARKit是苹果AR的起点,那么说ARCore掀起了移动AR市场的狂潮,ARCore的横空出世意味着AR进入手机大群体用户...
阅读(300) 评论(0)

客户端WebP 图片格式优化

前言在移动端,图片一直是流量大头,一些商品列表和详情等页面,图片大小动不动就以几百K,当然在某些比较大的公司会根据具体情况去加载相应尺寸的图片,这就意味着服务器必须提供多套尺寸的图片。而对传统的JPEG、PNG 和 GIF 这些图片格式的优化几乎已经达到了极致,而 Google在这个时候给了开发者一个新选择:WebP。在Google 的明星产品如 Youtube、Gmail、Google Play...
阅读(349) 评论(0)

苹果2017秋季大会回顾

作为一个苹果开发者,每年一度的苹果开发者大会和产品发布大会是必须关注的,今年的苹果新品发布会在史蒂夫·乔布斯剧院举行,在这次大会上,发布了iPhone X、iPhone 8/8 Plus、Apple Watch 3,以及Apple TV 4K版盒子四款硬件新品。下面就来认识下这4款新品吧。 iPhone X作为此次发布会的绝对主角,iPhone X获得了太多的关注了期待。在此前,消息称其将搭载OL...
阅读(452) 评论(0)

Android 进程回收之LowMemoryKiller原理篇

在前面的文章Android进程保活一文中,对于LowMemoryKiller的概念做了简单的提及。LowMemoryKiller简称低内存杀死机制。简单来说,LowMemoryKiller(低内存杀手)是Andorid基于oomKiller原理所扩展的一个多层次oomKiller,OOMkiller(Out Of Memory Killer)是在Linux系统无法分配新内存的时候,选择性杀掉进程,到...
阅读(420) 评论(0)

再谈Android客户端进程保活

在很多移动应用中,特别是即时通信类项目中,保活是一个永远无法避免的一个话题。保活,按照我的理解,主要包含两部分: 网络连接保活:如何保证消息接收实时性。 进程保活:尽量保证应用的进程不被Android系统回收。 在很早以前,谈Android的保活都会涉及到进程常驻内存,如何进行性能优化等话题,今天就这些话题,做一个简单的总结。Android进程在讨论这个问题之前,我们首先来看一些现象级APP的...
阅读(1088) 评论(0)

iOS入门之打包静态库

在项目开发中,或多或少的都会使用第三方库,有时候也会将自己项目中独立于业务的相关代码打包成库以供别人使用。在Android开发中,一般打包为aar或者jar文件以供第三方使用。iOS开发中,则可以直接打包为.a文件,iOS内置了Static Library的模板,所以使用上也是十分的方便。 在正式讲解打包.a静态库之前,首先来看一些概念:什么是库?所谓库就是程序代码的集合,是共享程序代码的一种方式...
阅读(795) 评论(0)

iOS开发证书管理

最近,没啥事情,就逛逛论坛,研究一些新技术,偶尔导入github上一些开源的iOS项目学习学习别人的一些写法。不过有时间,在运行别人的项目的时候,总会报一些错误,有些是语法上的错误,老的代码在新的编译环境下不通过,还有的因为因为签名导致的错误,如常见的错误提示:“Failed to create provisioning profile.”,ios的证书管理是ios开发中必须掌握的技能,本文先简单的...
阅读(703) 评论(0)

中国AR行业专题研究报告

本报告将从AR技术特征入手,研究技术背后的产业逻辑,通过对国内AR市场代表性初创厂商的研究,探讨未来AR的商业化之路。1,突破屏幕、虚实融合、自然交互是增强现实技术最重要的特征。 2,核心技术突破,政策利好,行业应用广泛和交互方式的变革推动增强现实技术快速发展。 3,技术驱动的特点决定增强现实行业将经历较长的技术红利期。 4,顺势而为,结合自身优势,找准合适的技术应用场景,提供增量价值,是创业...
阅读(447) 评论(0)

iOS开发技巧篇

在iOS开发中,有一些技巧可以提高程序猿的开发效率。1,Xcode真机调试Xcode 7推出之前,想要真机调试,iOS开发者必须花$99购买苹果开发者账号,而且步骤繁琐,需要下载证书认证。随着苹果公司推出了Xcode 7之后,大幅度的简化了真机调试的步骤。但是如果要测试推送等,还是需要证书的。第一步:准备Mac电脑,Apple ID, iPhone手机,Xcode 集成开发环境; 第二步:打开X...
阅读(221) 评论(0)

iOS AutoLayout全解

AutoLayout简介Autolayout是一种全新的布局技术,专门用来布局UI界面的,用来取代Frame布局在遇见屏幕尺寸多重多样的问题。Autolayout自iOS 6开始引入,但是由于Xcode 4的不给力,当时并没有得到大规模推广。在iOS 7(Xcode5)开始,Autolayout的开发效率得到很大的提升,苹果官方也推荐开发者尽量使用Autolayout来布局UI界面,减少纯代码的方式...
阅读(922) 评论(0)
989条 共50页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:1787651次
    • 积分:25163
    • 等级:
    • 排名:第251名
    • 原创:718篇
    • 转载:251篇
    • 译文:20篇
    • 评论:338条
    技术公众号
    微信公众号,欢迎关注
    博客专栏
    站长统计
    微博
    最新评论