当前搜索:

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

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

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

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

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

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

[置顶] Docker与容器

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

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

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

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

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

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

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

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

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

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

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

[置顶] Support Annotation Library使用详解

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[置顶] Android逆向工程

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

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

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

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

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

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

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

[置顶] 算法笔记之排序

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

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

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

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

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

[置顶] hello Kotlin

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

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

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

[置顶] android插件化之路

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

[置顶] 初识Node.js

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

[置顶] Android动画深入分析

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

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

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

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

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

[置顶] Android的DataBinding原理介绍

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

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

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

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

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

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

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

[置顶] ActivityManagerService启动过程分析

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[置顶] Android Loader详解

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

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

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

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

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

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

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

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

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

[置顶] android 应用模式之mvp

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

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

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

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

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

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

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

[置顶] CoordinatorLayout

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

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

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

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

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

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

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

[置顶] android离线缓存技术

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

[置顶] java的双缓冲技术

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

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

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

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

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

[置顶] Hibernate之初体验

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

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

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

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

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

[置顶] StickyListHeaders的使用

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

[置顶] android Material Design详解

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

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

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

[置顶] android EventBus详解(三)

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

[置顶] android EventBus详解(二)

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

[置顶] android EventBus详解(一)

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

[置顶] 开源组件photoView学习

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

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

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

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

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

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

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

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

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

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

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

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

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

[置顶] studio grandle渠道打包

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

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

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

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

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

[置顶] android自定义属性

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

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

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

[置顶] 仿360静默安装

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

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

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

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

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

[置顶] volley请求原理

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

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

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

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

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

[置顶] 抓包工具Fidder详解

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

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

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

[置顶] ios开发环境搭建

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

2017 Google 开发者大会全记录

2017 年的 Google 在中国刷了好几个记忆点,从五月乌镇 AlphaGo 与中国顶尖棋手的终极对弈,到欧阳靖为 Google 翻译专门创作了 MV 大片,再到十二月今日的上海,2000 多位开发者们济济一堂,参加连续两天面向中国开发者的科技盛会,让这个冬天多了一份温暖。 不同于以往,此次 Google 开发者大会安排了 8 组嘉宾发表主题演讲,除了在去年的开发者大会发表主题演讲的 Goog...
阅读(499) 评论(0)

Kotlin的委托属性和区间

委托属性委托属性 是一种通过委托实现拥有 getter 和可选 setter 的 属性,并允许实现可复用的自定义属性。例如:class Example { var p: String by Delegate() }委托对象必须实现一个拥有 getValue() 方法的操作符,以及 setValue() 方法来实现读/写属性。些方法将会接受包含对象实例以及属性元数据作为额外参数。当一个类声明委...
阅读(258) 评论(0)

WebStorm 2017最新激活方法

Ideal是当前使用量比较大的开发工具,激活方法有三种:序列号、账号、服务器激活。一般我们选择第三种。43B4A73YYJ-eyJsaWNlbnNlSWQiOiI0M0I0QTczWVlKIiwibGljZW5zZWVOYW1lIjoibGFuIHl1IiwiYXNzaWduZWVOYW1lIjoiIiwiYXNzaWduZWVFbWFpbCI6IiIsImxpY2Vuc2VSZXN0cmljdGl...
阅读(200) 评论(0)

Kotlin语法基础之继承

Kotlin中所有的类都有一个公有的超类:Any,这是所有没有声明超类的类的默认父类。class Example //隐式继承自Any Any!=Java.lang.Object。尤其,除了equals()、hashCode()和toString()三个方法外,没有任何成员。为了显式地声明超类,语法如下:open class Base(p:Int) class Derived(p:Int):B...
阅读(38) 评论(0)

仿微信语音聊天

如上图,是常见的仿微信的聊天程序...
阅读(1353) 评论(1)

移动工程师如何学习人工智能

当前和未来两年,人工智能是技术行业的发展主流。用来开发机器学习主要有三门语言:Python Java C++,其中Python是主流。学习人工智能技术之前,得先好好复习下高数,比如说,高数,微积分,线性代数,微积分,数理统计,概率论等,还有一些典型的算法等。结合最近对人工智能的学习思路,现对移动工程师学习人工智能的学习之旅总结如下。本门课程总共分为10章,并配相关的案例讲解。 第一部分:Pytho...
阅读(547) 评论(0)

号外,号外,《React Native移动开发实战》出版啦

对不起,我来晚了首先要感谢支持和关注我的朋友,感谢人邮的赵老师,还有公司的领导和同事,他们在我写作的过程中给了很多有用的信息,也给了很多有用的建议,为本书的写作提供了很大帮助。感谢,再次感谢!!! 工作6年多以来,一直想写一本自己的书,一方面是对自己工作经历的一个总结,也是对希望写一本书给曾经的自己一个交代,毕竟30岁的人了,搞不了几年的技术了。我一直有写博客的习惯,喜欢将自己工作和生活的点滴...
阅读(478) 评论(3)

Kotlin之Elvis 操作符

Elvis 操作符的优先级首先要注意到,Elvis 操作符的优先级是比较低的,特别是比加减乘除的运算符低,混合运算时一定要记得加上括号。比如:fun Iterable.contentHashCode(): Int { return fold(1) { hash, element -> hash * 31 + (element?.hashCode(...
阅读(924) 评论(0)

归并排序算法的编码和优化

在大型公司的面试过程中,排序是必问的知识。本篇内容来自《算法(第4版)》 — — Robert Sedgewick, Kevin Wayne概念归并排序的实现我是这样来描述的:先对少数几个元素通过两两合并的方式进行排序,形成一个长度稍大一些的有序序列。然后在此基础上,对两个长度稍大一些的有序序列再进行两两合并,形成一个长度更大的有序序列,有序序列的的长度不断增长,直到覆盖整个数组的大小为止,归并排序...
阅读(509) 评论(0)

Kotlin语法基础之运算符

运算符计算机程序中最小的程序单位成为表达式,每个表达式都可以由两部分组成,即操作数和运算符。操作数可以是变量、常量、类、数组、方法等,甚至是其他表达式。而运算符则用于支出表达式中单个或者多个操作数参与运算的规则,表达式通过运算之后产生的值依赖于表达式中包含的运算符的优先级和结核性。Kotlin语言包含了Java语言中的所有运算符的特性,并结合C语言的优点,增加自定义运算符的逻辑。这些运算符之中,主要...
阅读(281) 评论(0)

Kotlin语法基础之控制流

Kotlin 的控制流与 Java 的控制流基本相同,只是使用 when 代替了 switch。当然,在 Kotlin中,if 和 when 不仅仅可以作为语句使用,还可以作为表达式使用,这些内容会在本节详细讲解。条件语句在 Kotlin 中,if 语句本身就是表达式,有返回值,因此,Kotlin 并不需要像 Java 那样提供三元操作符(condition ?then: else)。下面是传统的...
阅读(385) 评论(0)

Kotlin 包和 import 语句使用

Kotlin 包和 package 语句Kotlin 包与 Java 包的概念是一样的,都表示文件结构(语法上并不严格要求),可以起到区分同名源代码文件、组织项目结构的作用。不过,由于允许包级函数和包级属性的存在,Kotlin 包的内容更加丰富,不像 Java 包只包含类和接口。与 Java 源文件相同,Kotlin 源文件至多有一个 package 语句,必须放在第一行(除注解外),多个文件层次间...
阅读(158) 评论(0)

使用多个Target去管理项目版本环境

在实际开发中,为了保证所开发的产品能够尽量完美上线,在上线前会特意测试几轮,保证所开发的应用没有问题。据此,在实际的开发过程中,往往需要区分测试环境和线上环境,在Android开发中,可以通过gradle脚本来识别,并在代码中体现出来。 在ios开发中,如果一个包需要同时包含debug和线上的relase环境,则需要打两个.a文件,然后合并在一起。除了上述情况之外,有一些App还分为专业版与普通版...
阅读(642) 评论(0)

Facebook iOS UI 工具ComponentKit简介

在 iOS 上面开发界面,需要创建视图、配置界面、视图分层等等很多步骤,也就不可避免的需要书写 N 多的代码。这还仅仅是界面设计,除此之外,完成 controllers 的回调、控制内部事务在界面上的显示效果、界面的操控和内部事务的联系等等多方面的事情都需要手动解决。即便是界面很简单的 App,如果存在这种复杂的双向数据流的关系,那么代码也会变得很复杂很容易出错。Qt 的信号、槽和 iOS 的 Ta...
阅读(64) 评论(0)

ios打包ipa文件并上传到托管平台

当我们开发完app后,需要将ipa/apk提交给测试人员测试,然后才能上线。下面就来看一下如何打包ipa文件,并上传托管平台。做过ios开发的童鞋都知道,ios为开发者提供了描述文件有2类,有说是3种(说的是iOS App):在Development类下就一种,用于真机调试Debug模式的描述文件;然而在Distribution类下,有2种描述文件。正常情况下,我们会使用App Store——Cre...
阅读(284) 评论(0)

OSGi简介

这两天在研究Kotlin时,看到Kotlin和和OSGi的完美融合,就有必要介绍下OSGi。OSGi是什么OSGi是Open Services Gateway initiative的缩写,叫做开放服务网关协议。我们说到OSGi时,根据上下文不同,通常可能指OSGi联盟、OSGi标准或者OSGi框架。OSGi联盟成立于1999年,当时是为了建立一套将可管理的服务(Managed Service)通过网...
阅读(167) 评论(0)

JVM体系结构认知

虚拟机何为虚拟机呢?虚拟机是模拟执行某种指令集体系结构(ISA)的软件,是对操作系统和硬件的一种抽象。其软件模型如下图所示: 计算机系统的这种抽象类似于面向对象编程(OOP)中的针对接口编程泛型(或者是依赖倒转原则),通过一层抽象提取底层实现中共性的部分,底层实现这个抽象并完成自己个性的部分。也就是说通过一个抽象层次来隔离底层的不同实现。虚拟机规范定义了这个虚拟机要完成的功能(也就是接口),底层的...
阅读(557) 评论(2)

使用Kotlin进行服务器端开发

开发优势Kotlin非常适合开发服务器端应用程序,用它可以编写简洁明了的代码,同时保持与现有基于Java的技术堆栈的完全兼容性和平滑的学习曲线: 表现力:Kotlin语言创新一些功能,如支持类型安全的构建器和委托属性,可帮助构建功能强大且易于使用的抽象。 可扩展性:Kotlin对协同程序的支持有助于构建服务器端应用程序,扩展到拥有适度硬件要求的大量客户端。 互操作性:Kotlin与所有基于Java的...
阅读(297) 评论(0)

搞定BAT Java面试题

下面就Java常见的面试题做一个简单的总结,一句话掌握这些面试题,搞定BAT不是梦。基本概念操作系统中 heap 和 stack 的区别;什么是基于注解的切面实现;什么是 对象/关系 映射集成模块;什么是 Java 的反射机制;什么是 ACID;BS与CS的联系与区别;Cookie 和 Session的区别;fail-fast 与 fail-safe 机制有什么区别;get 和 post请求的区别;...
阅读(423) 评论(1)

人工智能当道,你离失业还有多远

当今社会最火爆的两个话题,一个是人工智能,一个是云计算。今天我们来聊聊人工智能。近年来,人工智能在国家和社会的持续关注下得到了大力的发展,展望未来,以工业4.0 为代表的智能技术将影响包括中国在内的全球劳动力就业市场。近年来,一些低端的产业正在被以人工智能蚕食。前不久,富士康上了一批机器人,几万人被迫离开流水线,回到市场重新找工作。如今,人工只能在医疗、教育、咨询服务等领域已无人能敌。根据最近几年的...
阅读(403) 评论(0)
1021条 共52页1 2 3 4 5 ... 下一页 尾页
    本人新书
    个人资料
    • 访问:1978110次
    • 积分:27039
    • 等级:
    • 排名:第224名
    • 原创:741篇
    • 转载:258篇
    • 译文:22篇
    • 评论:364条
    技术公众号
    微信公众号,欢迎关注
    博客专栏
    站长统计
    微博
    最新评论