自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

learn_to_fly的博客

总结、、学习、、

  • 博客(30)
  • 收藏
  • 关注

原创 MySQL存储过程-初识

一、存储过程的创建语法CREATE PROCEDURE 名称(指明进参IN、出参OUT、进出参INOUT 参数名 类型 )返回标签:BEGIN DECLARE 变量名 类型 (默认值DEFAULT 值) //定义变量 IF 条件 THEN ELSE LEAVE 返回标签; END IF //循环游标 OPEN 游标 //开始重复 REPEAT FETCH ... //结束重复 END REPEAT;END...

2021-12-30 16:27:32 1326

原创 递归与尾递归

什么是递归?函数调用自身,称为递归。什么是尾递归?如果尾调用自身,就称为尾递归。两者的区别递归非常消耗内存,因为需要同时保存成千上百个调用记录,很容易发生“栈溢出”错误(stack overflow)。但对于尾递归来说,由于只存在一个调用记录,所以永远不会发生”栈溢出“错误。举例说明如下:阶乘函数n!递归函数:fun factorial(n:I...

2019-05-16 14:24:46 1019 1

原创 面向对象的迪米特原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!赶在2018年最后的几天里,把之前拖延的后三个原则终于总结完成,还算圆满。这样就可以踏实地喜迎2019了。迪米特原则(Law of Demeter,LOD)LOD,也称为最少知识原则(Least Knowledge Principle)。虽然名字不...

2018-12-29 13:47:44 245

原创 面向对象的接口隔离原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!接口隔离原则(Interface Segregation Principle,ISP)ISP的定义是:客户端不应该依赖它不需要的接口。另一种定义是:类间的依赖关系应该建立在最小的接口上。接口隔离原则将非常庞大、臃肿的接口拆分成更小的和更具体的接口,这样...

2018-12-28 19:06:51 248 1

原创 面向对象的依赖倒置原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!依赖倒置原则(Dependence Inversion Principle,DIP)依赖倒置原则指代了一种特定的解耦形式,使得高层次的模块不依赖于低层次的模块的实现细节的目的,依赖模块被颠倒了。依赖倒置原则有以下几个关键点:(1)高层模块不应该依赖底...

2018-12-28 14:43:07 349

原创 面向对象的里氏替换原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!里氏替换原则(Lisvok Substitution Principle,LSP)LSP的第一种定义是:如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有发生变化,那么类型S...

2018-11-28 18:29:59 346

原创 Mac IDEA JeeSite4.0 环境搭建与部署运行

最近在接触Java EE开发平台JeeSite 4.0,官网文档上是以windows系统的eclipse搭建的环境,故在此记录总结一下Mac系统下IDEA环境的JeeSite4.0的环境搭建与部署运行,避免大家进坑。JeeSite4.0的官方文档:http://jeesite4.mydoc.io/环境准备1.Java JDK 1.8 官网下载链接 2.IDEA 官网下载...

2018-11-01 15:29:26 3161 3

原创 面向对象的开闭原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!开闭原则(Open Close Principle,OCP)开闭原则是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统。开闭原则的定义是:软件中的对象(类、模块、函数等)应该对于可扩展是开放的,而对修改是封闭的。在软件的生命周期内,因...

2018-10-24 10:20:22 479

原创 面向对象的单一职责原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!单一职责原则(Simple Responsibility Priciple,SRP)SRP的定义是:就一个类而言,应该仅有一个引起它变化的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。就像秦小波老师在《设计模式之禅》中说的:“这是一个备受争...

2018-10-19 22:57:20 418

原创 面向对象的几个原则

声明:本系列博客整理来源于《Android源码设计模式解析与实战》,仅作为个人学习总结记录,任何组织和个人不得转载进行商业活动!已有一月有余没有来更新博客,今天来对近来学习的面向对象的六大原则做下总结与记录。在面向对象的开发中,我们应该遵循与掌握这六大原则,才能够更好的理解各种设计模式。以下是分为六部分即六篇博客来分析梳理,点击链接可进行查阅。六大原则(1)单一职责原则>&g...

2018-10-19 22:35:01 362

原创 TCP,UDP,HTTP,Socket

TCP/IP:是一个协议族,其中包含应用层、传输层、网络层、数据链路层的各种协议。其中,在网络层有:IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。在传输层有:TCP协议和UDP协议。在应用层有:HTTP、FTP、TELNET、SMTP、DNS等协议。 所以说,HTTP本身就是一个协议,是从web服务器传输超文本到本地浏览器的传送协议。而Socket是...

2018-08-29 17:03:25 167

原创 Android WebView由于重定向造成的goBack()无效的问题解决

最近项目中WebView返回时需要一级一级返回,就使用到WebView.goBack()方法。可当加载重定向的URL,出现了不能正常退出WebView的问题。问题描述比如,加载此重定向URL:http://news.cctv.com/m/la/index.shtml?id=ARTIPelLhipU21KF1nsbxpA7180816在设置WebView的setWebViewClient...

2018-08-20 20:19:18 6349 2

原创 Selenium WebDriver基于Python - 使用unittest编写单元测试(二)

Selenium WebDriver是一个浏览器自动化测试的API集合。它提供了很多与浏览器自动化交互的特性,并且这些API主要是用于测试Web程序。如果仅仅使用Selenium Driver,我们无法实现执行测试前置条件、测试后置条件,对比预期结果和实际结果,检查程序的状态,生成测试报告,创建数据驱动的测试等功能。在此,我们总结一下如何使用unittest来创建基于Python的Selenium...

2018-07-06 21:53:16 1982

原创 使用Glide加载图片出现: java.lang.IllegalArgumentException: You cannot start a load for a destroyed activity

最近项目中首页的banner使用的com.youth.banner使用Glide异步加载图片:public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { ...

2018-07-06 19:57:31 5905 4

原创 Git的简单用法及Android Studio使用Git将本地代码第一次提交远程仓库

经常使用git来pull/push项目代码,故此来总结一下。 平时使用到的Git命令1)首先,先从远程代码服务器上将代码clone下来:git clone xxx(xxx代表代码地址) 以下均是在项目的路径下进行的操作!!2)查看当前本地代码新增或修改状态:git status 3)查看某一个文件在本地的所修改内容:git diff xxx 4)...

2018-06-27 15:53:15 2562

原创 Selenium WebDriver 基于Python(一)

初始Selenium Web DriverSelenium可以自动的操纵浏览器来做很多事情,它可以模拟我们与浏览器的交互,比如,访问网站,单击链接,填写表单,提交表单,浏览网页等,而且支持大多数主流的浏览器。如果要使用Selenium WebDriver,我们首先要选择一种语言来编写自动化脚本,而这个编程语言需要有Selenium client library支持。我们使用支持Seleni...

2018-06-20 19:02:49 839

原创 Android APP的minSDKVersion小于第三方库的minSDKVersion会报错的解决方法

在Android APP应用中使用第三方库时,发现引入的库报错,以引入com.youth.banner:banner:1.4.10为例:Error:Execution failed for task ':app:processDebugManifest'.> Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smalle...

2018-05-21 14:02:03 6662

原创 Android启动APP时Splash页会黑白闪屏现象的原因与优化方法

目前APP的设计思路,都会有一个启动页,来进行一些数据的初始化等一些比较耗时的操作,这就会造成启动页短暂的黑白屏闪动(黑还是白取决于app的默认主题)。那为啥会出现这种现象,并且该怎么解决这一问题呢?问题出现的原因当系统启动一个APP时,zygote进程会首先创建一个新的进程去运行这个APP,但是进程的创建是需要时间的,在创建完成之前,界面是呈现假死状态的,这就很尴尬了,因为用户会以为没有点到AP...

2018-05-18 16:22:37 2286

原创 数据传输加密 - - RSA,AES加密

 数据传输加密在开发应用过程中,客户端与服务端经常需要进行数据传输,涉及到重要隐私信息时,开发者自然会想到对其进行加密传输,即使传输过程中被“有心人”截取,也不会将信息泄漏。对于加密算法,相信不少开发者也有所耳闻,比如MD5加密、BASE64加密,DES加密,AES加密,RSA加密等等。因为最近项目中使用到RSA,AES两种非对称与对称的加密算法,下面做一个总结记录。  有关加...

2018-05-14 15:24:18 2965

原创 Protobuf及在Android Studio中的配置

最近有项目需要使用到Protobuf,之前没有接触过它,经过一天的时间认识了它,现在来总结一下。ProtoBuf      Protocol Buffers (a.k.a., protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured

2017-07-06 10:55:51 3419 1

原创 Android LruCache内存缓存实现详解

Android开发中会遇到图片下载的操作,而图片下载为了不经常访问图片的网络请求,会做三级缓存:内存-文件-网络,同样这种缓存策略也适用其他文件的存储。首先,先拿图片URL去内存中找,如果没有就去文件中找,文件中没有找到,再去异步网络请求。下面,分析总结一下第一级缓存--内存缓存。       内存缓存会用到LruCache这个类,它是Android3.1所提供的一个缓存类,要想兼容A

2017-04-12 10:22:47 510 1

原创 有关Handler机制原理的总结

Handler是线程与线程间进行通信的一套机制。       Handler是常被开发者拿来更新UI的一种消息处理机制,它的运行机制需要底层的Looper和MessageQueue的支撑。       一个Android应用程序被创建时就会创建一个进程,该进程用应用的包名作为进程名。该进程会启动主线程ActivityThread,也叫做UI主线程,但有时需要做些耗时操作,为了不能够

2017-03-31 15:30:50 9181

原创 Android 内存泄露与内存溢出

什么是内存泄露?      Android虚拟机的垃圾回收采用的是跟搜索算法。GC会从根节点(GC Roots)开始对heap进行遍历。到最后,部分没有直接或者间接引用到GC Roots的就是需要回收的垃圾,会被GC回收掉。内存泄露是指进程中某些对象(垃圾对象)已经没有使用价值了。但是它们却可以直接或者间接引用到GC Roots导致无法被GC回收。无用的对象占据着内存空间,导致不能及时

2017-03-28 10:26:20 261

原创 在Android Studio中的混淆debug与release

一.有关混淆:什么是代码混淆Java是一种跨平台的、解释型语言,Java源代码编译成中间“字节码”存储于class文件中。由于跨平台的需要,Java字节码中包含了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成Java源代码。为了防止这种现象,我们可以使用Java混淆器对Java字节码进行混淆。混淆就是对发布出去的程

2017-02-09 17:03:03 14451 1

原创 有关android-gif-drewable

Android Studio显示gif的一种方法:使用开源的android-gif-drewable首先,AndroidStudio获取assets中的图片/文件,以gif图片为例:getAssets().openFd("xx.gif");接着,android-gif-drewable1.首先在app/build.gradle中dependencies{添加 compile

2016-12-29 17:51:35 330

原创 Android 与Html5 js相互总结

最近有涉及到android与Html 5 JS交互的工作,来记录总结一下。首先,android WebView webView 设置     webview.getSettings().setJavaScriptEnabled(true);    //绑定建立的javascript对象     webview.addJavascriptInterface(new JsInt

2016-12-22 15:26:32 350

原创 Android 微信支付详解及总结

几乎每一个Android项目中都会涉及到购买及支付,如微信支付,支付宝支付等。今天,仅针对微信支付来说,因为微信支付一不小心就会调不起登录和支付等errCode = -1的情况出现,令我们头疼不已。       首先,

2016-09-29 15:25:23 682

原创 Android渠道

最近有涉及Android各个渠道,各个市场账号的申请,来做一下总结和记录。首先,Android应用发行和发布可一键式,可用比如酷传,网址:http://www.coolchuan.com/ ,注册相关渠道后绑定即可。其中,所用到的各大渠道市场例举一下:1.QQ应用宝: http://open.qq.com/2.豌豆荚:http://developer.wando

2016-09-26 10:25:51 586

原创 activity生命周期详解

最近在看《Android开发艺术探索》,所以来做一下笔记,总结一下,加深印象。作为Android四大组件之首的activity,是使用很频繁的一种组件,下面就它的生命周期来总结一下。Activity的生命周期,可分为两种情况下:典型情况下和异常情况下的生命周期。其中,在典型情况下的是指,在有用户参与的情况下,activity所要经历的生命周期的变化;而异常情况下的则是指,a

2016-09-07 18:44:33 361

原创 Android中当一行显示两个TextView时,第一个可“…”,而第二个必须显示全部

在Android中当一行显示两个TextView时,第一个可“…”,而第二个必须全部显示这种布局时:<RelativeLayout android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:background="#cccccc" android:

2016-09-07 12:56:55 10236

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除