react native学习笔记7——组件生命周期
每个组件都有自己的生命周期,在其生命周期内,组件经历了初始化-运行-销毁的过程。在运行阶段,每次状态(state)或属性(props)发生变化时,都有对应的组件方法将该变化通知给组件进行渲染刷新(关于state和props的介绍可以看上一节react native学习笔记6——Props和State)。下图是经典的组件生命周期图解(ES6),该图显示了组件在生命周期的各个时期系统调用的方法。...
View ArticleAndroid Studio 调试
编写代码很多时候都会“差强人意”,很难一次获得想要的结果,出现错误的时候需要查找错误的原因,这种查找的过程可以称为“程序调试”。一般来讲程序员百分之十的时间写代码,百分之九十的时间都在调试,因此要认识到调试的重要性。调试的方式有多种,这里介绍最常用的两种:Logcat调试方式和断点调试方式。2.3.1...
View ArticleAndroid项目文件结构
大致可以认为,Android APP由两部分组成,布局、属性部分和逻辑代码部分。属性和布局负责Android APP的UI,即用户看到的部分,由XML语言编写,逻辑代码部分则由Java语言编写,负责APP的逻辑控制工作。新建一个Android项目,查看左侧的Android项目文件结构如图3.1所示。图3.1...
View ArticleAndroid 布局属性值
padding和margin属性在开发中十分常用,padding意为“填充”,一般用来在控件内部填充布局,而margin意为“边缘”,一般指的是控件外部距父控件的距离,可以结合下面的图片来理解,如图3.9所示。图3.9 Android 布局示意图图中序号如表3.1所示。表3.1 Android布局示意图含义表3.2.1 Android...
View ArticleAndroid RecyclerView(九)滑动监听综述
Android RecyclerView(九)滑动监听 1 RecyclerView 的滑动监听 1.1 RecyclerView 设置滑动监听 mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView...
View ArticleiOS:在界面显示gif动画图片
默认cocoa touch无此功能,不过我们可以站在github肩上轻松实现该功能。 github地址:https://github.com/bahlo/SwiftGif 首先是安装CocoaPods,Pods依赖RubyGem,由于国内网络条件导致会出现安装卡死的现象,如果出现类似的问题,大家可以参考我ruby安装源的相关文章。 安装CocoaPods本质上很简单,就一行命令: gem...
View ArticleFlutter简介
Flutter makes it easy and fast to build beautiful mobile apps. 这是Flutter项目主页上对Flutter的定义,它可以轻松、快速地构建漂亮的移动应用。...
View ArticleFileProvider解决FileUriExposedException
FileUriExposedException 在给app做版本升级的时候,先从服务器下载新版本的apk文件到sdcard路径,然后调用安装apk的代码,一般写法如下: private void openAPK(String fileSavePath){ File file=new File(fileSavePath); Intent intent = new...
View Article获取当前页面的title
self.title= [webView stringByEvaluatingJavaScriptFromString:@"document.title"];//获取当前页面的title self.currentURL = webView.request.URL.absoluteString;...
View ArticleSpring思维导图,让Spring不再难懂(ioc篇)
Spring思维导图,让Spring不再难懂(ioc篇) 写过java的都知道:所有的对象都必须创建;或者说:使用对象之前必须先创建。而使用ioc之后,你就可以不再手动创建对象,而是从ioc容器中直接获取对象。...
View ArticleSpring思维导图,让Spring不再难懂(cache篇)
Spring思维导图,让Spring不再难懂(cache篇) 缓存是实际工作中非常常用的一种提高性能的方法。而在java中,所谓缓存,就是将程序或系统经常要调用的对象存在内存中,再次调用时可以快速从内存中获取对象,不必再去创建新的重复的实例。这样做可以减少系统开销,提高系统效率。...
View ArticleiOS开发证书管理
最近,没啥事情,就逛逛论坛,研究一些新技术,偶尔导入github上一些开源的iOS项目学习学习别人的一些写法。不过有时间,在运行别人的项目的时候,总会报一些错误,有些是语法上的错误,老的代码在新的编译环境下不通过,还有的因为因为签名导致的错误,如常见的错误提示:“Failed to create provisioning...
View ArticleAndroid解析WindowManager(一)WindowManager体系
相关文章 Android系统启动系列 Android深入四大组件 前言 WindowManagerService(WMS)和AMS一样,都是Android开发需要掌握的知识点,同样的,WMS也很复杂,需要多篇文章来进行讲解,为何更好的理解WMS,首先要了解WindowManager,这一篇我们来学习WindowManager体系。 1.Window、WindowManager和WMS...
View ArticleDagger2 总结
Dagger 就是现在一个比较火的依赖注入器框架。它使用的预编译期间生成代码完成依赖,而不是用的反射。这一点很重要,正因为这点它并不会造成运行时效率低下,只是增加了一点编译的负担。 Dagger...
View ArticleAndroid ConstraintLayout详解(一)
不知道从什么时候开始,创建的layout默认的layout是ConstraintLayout,一直不知道这是啥鬼东西,总是将其手动的改成LinearLayout,也就是说习惯了靠编写XML代码完成界面。偶然的一次机会,朋友推荐了一篇介绍ConstraintLayout的博客,一发不可收拾的出来了这篇博客。下面跟着我来了解ConstraintLayout。 LayoutEditor...
View ArticleGitChat ·测试 | 大众点评搜索测试全揭露:1:9 的测试开发比下 QA 如何前行
GitChat 作者:梦婷 原文:大众点评搜索测试全揭露:1:9 的测试开发比下 QA 如何前行 关注微信公众号:GitChat 技术杂谈 ,一本正经的讲技术 【不要错过文末活动】 背景介绍...
View ArticleAndroid Studio发布项目到jcenter,一行代码引入Module
前面我们使用自己封装的okhttp项目时候,只需要app/build.gradle文件中加一行代码就能使用项目。 compile 'com.ansen.http:okhttpencapsulation:1.0.1' 那是因为我之前就把封装的module提交到了jcenter服务器。所以android sutdio把从jcenter服务器把类库下载下来。 提交项目到jcenter...
View Article