使用artifacory部署私有仓库
由于业务规模的扩展,很多app都有拥有一组相同功能或基础服务类代码,每个app维护这样一份代码不仅不易于管理,每次更新的过程更是痛苦,通过部署私有的远程仓库,我们可以统一管理代码,进行版本管理,实现公用组件功能
由于业务规模的扩展,很多app都有拥有一组相同功能或基础服务类代码,每个app维护这样一份代码不仅不易于管理,每次更新的过程更是痛苦,通过部署私有的远程仓库,我们可以统一管理代码,进行版本管理,实现公用组件功能
介绍一些在activity中不常使用的小众生命周期函数
AsyncTask是android中最常使用的一个线程类,它将UI线程和子线程区分开来,我们可以在doInbackground中执行耗时操作,并且在onProgressUpdate和onPostExecute中执行UI操作,它很好地帮我们封装了线程切换的逻辑,使得我们可以方便地使用。
“mysql 命令是 MySQL 数据库的客户端应用程序,用于解释执行 SQL 语句
“mysql 提供的高效便利的检索功能,可以从数据中根据条件检索出符合你预期的数据,类似于去图书馆告诉管理员,我想要一本中文版,搞笑的小黄书。。。”
“数据库相当于一个巨大的图书馆,图书馆中又有很多书架(数据库中的表),这些书架上存放着不同类别的书本(数据库的数据),每一本个书架上都写着这些书架上书的属性(类别,时间,作者,数量),这些属性对应着表中的字段,而类别是中文标注的,数量是数字,时间是时间格式,这些对应着的是,每个字段都有自己的数据类型”
记录关于centOs下nginx的安装以及配置
“实现下拉刷新控件总的来说就实现几个方面,与自身布局相关的函数onMeasure,onLayout,与事件相关的函数onInterceptTouchEvent,onTouchEvent”
“Context,中文直译为“上下文”,SDK中对其说明如下:Interface to global information about an application environment.This is an abstract class whose implementation is provided by the Android system. It allows access to application-specific resources and classes, as well as up-calls for application-level operations such as launching activities, broadcasting and receiving intents, etc”
“”
“索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。它是一种以空间换时间的典型用法,它把数据查询的结构以B+树的形式存储在本地,虽然索引大大提高了查询速度,同时却会降低更新表的速度,如对表进行INSERT、UPDATE和DELETE。因为更新表时,MySQL不仅要保存数据,还要保存一下索引文件。”
Fabric是一个Python库,用于简化使用SSH的应用程序部署或系统管理任务。通过它我们可以执行本地以及服务器的shell命令,上传,下载文件,以及其他的一些功能。
Support Annotation Library是在Android Support Library19.1版本开始引入的一个全新的函数包,它包含了诸多有用的元注解。用来帮助开发者在编译期间发现可能存在的bug。Support Library本身也使用Annotations Library提供的注解来完善Library的代码质量。使用Annotation库对我们的代码进行标注,可以由ide替我们检查一些语法问题,减少代码出错的概率,同时也可以提醒其他使用者这些代码的注意点。
关于webView的使用
冷启动,即应用进程被kill后重新创建进程的启动模式,这个过程中,所有的应用资源都会被重新初始化,如果在application里面做太多资源初始化操作,就容易导致应用进入activity的时间太长
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出
关于view和自定义view你所需要知道的一切
热修复早已被用到项目的各个地方了,这篇文章介绍了热补丁tinker的介入和使用
一些android开发中不常用但碰到时会很有用的黑科技代码收集
关键点: 构造函数不对外开放,一般为private 通过一个静态方法或枚举对象返回单例类对象 确保单例类的对象只有一个,尤其在多线程模式下 确保单例类在反序列化时不会重新构造对象 必须保证线程安全