如何脱颖而出?
前两天有一位同学在小密圈里问我一个问题,说自己高中学历,想要学习编程,不知道可行么? 我给他的回答是:很难,非常难,比你想象的还要难,但是难不代表不可行。 有别的热心的同学评论说,没什么不行的,只要比别人更努力就行,你看张哥,当初不也是非科班,学渣出身么,一步步靠自己努力走到现在。...
View ArticleAndroid程序员学PHP开发(36)-ThinkPHP5.0(8)前台引入模板分离-phpStudy+Sublime
转载请注明出处:http://blog.csdn.net/iwanghang/觉得博文有用,请点赞,请评论,请关注,谢谢!~上一篇博文,我们联系了一下 站点域名管理 和 自动生成,在这个基础上,我们来联系一下...
View Article设计模式-桥梁模式
1.桥梁模式的定义及使用场景 定义: 桥梁模式也称为桥接模式,是结构型设计模式之一。将抽象和实现解耦,使得两者可以独立地变化 使用场景: 不希望或不适合使用继承的场景 例如继承层次过渡、无法更细化设计颗粒等场景,而要考虑使用桥梁模式 接口或抽象类不稳定的场景 明知道接口不稳定还想通过实现或继承来实现业务需求,那是得不偿失,也是比较失败的做法 重用性要求较高的场景 2. 桥梁模式的优缺点 2.1优点...
View ArticleiOS开发-苹果热更新禁止-JSpatch禁止-热更新上线被拒绝
今天一大早看各个iOS开发群炸锅了,原来是苹果大佬禁止了热更新和JSpatch。导致很多人的项目上线和更新被拒,目前还没有解决方案,也要等着业界大佬们尽快出方案,哈哈。 那么来说说JSpatch有什么风险,按照苹果的用意,应该是为了拒绝那些【不正规】的App,比如赌博、XX视频下载、刷钱刷积分、外挂之类的。 这是苹果发的具体内容:...
View ArticleReact-Native之禁用Navigator默认的右滑手势返回上一页
前言 对于RN默认的导航组件Navigator, 可以通过右滑切换view,这样效果往往在项目中并不是很需要,但是想要去掉,也着实费了点功夫,下面来看如何解决这个问题? 方法 主要原理,也很简单,就是设置gestures属性为{}或者null即可,为了方便使用,我们直接看代码: ... <Navigator ref="navigator" initialRoute={{name: 'your...
View ArticleReact-Native在登陆成功或注销后销毁路由,只保留当前栈
前言 在移动APP中,我们经常会遇到登陆成功,或者注销后,不允许返回上一页面,这就需要我们清楚栈中的其余view, RN中我们应该如何处理呢? 方法 主要原理是借助于onDidFocus和immediatelyResetRouteStack两个方法实现。 对此我们先看看Navigator提供给我们默认的方法有哪些? getCurrentRoutes() -...
View ArticleAndroid源码解析四大组件系列(二)---Activity启动过程的总体把握
之前写过Service的启动过程,相对来说Activity的启动过程比Service的启动过程更为复杂,其一Activity的生命周期方法比Service多,其二Activity具有启动模式和返回栈。写本文的目的在于更清晰的梳理Activity的启动过程,加强自己的内功修炼,博客粉丝日益增多,力在以最简单的方式让大家理解,跟大家一起学习。 Activity的启动过程计划用三篇博客来写;...
View ArticleEasyPlayer声音自动停止、恢复,一键静音等功能
我们在开发播放器时,可能会需要静音或者降低音量的功能。比如说某款音乐播放器,当在后台播放时,如果此时有另外的系统通知声音发出,可能播放器会把音量降低,系统声音结束后,再调高;如果有来电了,播放器可能会把音乐暂停,等通话结束后再继续播放。还有,比方说我们在某个场合放个视频,不料音量很大,会引来很多目光(很尴尬),这时候可能我们需要一键静音的功能。那这些功能我们应该如何实现呢?...
View ArticleReact-Native之TextInput实现高度自增长解决方案
前言 TextInput在部分业务场景下, 需要随着字体多少进行高度自行调节,那么这个效果如何实现呢? 方法 为了方便重用,我们定义一个公用的组件: class AutoExpandingInput extends Component{ onContentSizeChange(event) { this.setState({height:...
View ArticleActivity 显示和隐式跳转对比
显示跳转 实现 优点 缺点 隐式跳转 实现 优点 缺点 本文对比 Activity 的两种跳转方式的利弊。 显示跳转 实现 Intent intent = new Intent(mContext, AnotherActivity.class); startActivity(intent); 优点 性能高; 可读性强; 目标 Activity 唯一; 缺点 产生强耦合 目标 Activity...
View ArticleAndroid 使用Java8新特性之Lambda expression
前言 Lambda expression,java8的新特性。使用Lambda expression,可以替代只有一个函数的接口实现,告别匿名内部类,代码看起来更简洁易懂。 java8还有其它一些新特性,不过在android上可能都无法使用。 studio 2.x后 支持jack编译器,使用它,能使用java8的Lambda expression,但其它特性也不敢保证就能用。 注:Android...
View ArticleReact-native之Navigator调用popToRoute无效解决方案
前言 在使用RN过程中, 经常会遇到如下场景, 当前在D页面, 栈里有A =》 B => C => D 四个页面, 我们往往需要返回之前的某个页面(B页面),并卸载 C, D两个页面,此时就需要用到官方定义的popToRouter方法,但是本人尝试了一下无效, this.props.navigator.popToRoute({name:'login'}); 于是查找一番找个了一个方法。...
View ArticleAndroid快速依赖注入框架Dagger2使用1
一、啥是Dagger2 前面的概念可能开始看不懂,给点耐心,看到例子就懂了。 本篇文章需要注解方面的知识,不了解的可以先看:http://blog.csdn.net/niubitianping/article/details/60145128 Dagger2的内容有点多,一点得有耐心。 1.1 简介...
View ArticleAndroid自定义View实现垂直时间轴布局
时间轴时间轴,顾名思义就是将发生的事件按照时间顺序罗列起来,给用户带来一种更加直观的体验。京东和淘宝的物流顺序就是一个时间轴,想必大家都不陌生,如下图:分析实现这个最常用的一个方法就是用ListView,我这里用继承LinearLayout的方式来实现。首先定义了一些自定义属性:attrs.xml<?xml version="1.0" encoding="utf-8"?>...
View Article【图形图像】Android SurfaceFlinger之BufferQueue
在Android中,BufferQueue是Surface实现本地窗口的关键,驻留在SurfaceFlinger进程中进行服务,下面从BufferQueue的结构开始分析。 1、BufferQueue模式 BufferQueue相关的源码在frameworks/native/libs/gui/,涉及以下几个重要的数据结构: class BufferQueue; class...
View ArticleReact Native模块之Share调用系统分享应用实践
前言 对于原生应用开发而言,调用系统匹配的应用进行分享是非常常见操作,今天我们来看一下,RN中如何封装这一个操作的。 方法 RN中存在一个模块Share, 即为调用匹配的app进行分享操作。 在iOS中,通过调用一个包含’action’,’activityType’的对象,然后返回一个Promise对象。如果用户点击关闭弹框,那么调用Share.dismissedAction方法。...
View ArticleOpenGL核心技术之延迟着色法
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,国家专利发明人;已出版书籍:《手把手教你架构3D游戏引擎》电子工业出版社和《Unity3D实战核心技术详解》电子工业出版社等。CSDN视频网址:http://edu.csdn.net/lecturer/144...
View Article