- 博客(28)
- 资源 (5)
- 收藏
- 关注
原创 Android 动画之帧动画
介绍逐帧动画(Frame-by-frame Animations),就是通过一个接一个的加载一系列的Drawble资源来创建动画,实际上就是类似于放电影一样,按顺序播放一系列的图像,以达到动画效果。其中,AnimationDrawable是绘制动画的基础。APIXML相关节点<animation-list xmlns:android="http://schemas.android.com/apk/r
2016-10-31 17:37:11 1136
原创 Android 7.1初体验之应用快捷键
3DTouch技术用于IOS系统以后,受到了果粉的一致推捧,Android黯然身上。Android用户的福音来了,App Shortcuts完美的展现了3DTouch,个人感觉比3DTouch更为强大,其不仅仅有3DTouch的效果,同时能为该快捷键设置桌面图标。介绍使用新的快捷键功能将用户从启动器直接带到应用程序中的关键操作。用户只需长按应用程序的启动器图标即可显示应用程序的快捷键,然后点按快捷键
2016-10-28 15:39:18 3013
原创 Kotlin-对象表达式,对象声明及伴随对象
概述在Java中,不管是为了实现接口,或者是抽象类,我们总是习惯使用匿名内部类。最熟悉的例子,莫过于对单击事件的监听,也就是这样写:btn.setOnClickListener(new OnClickListener{ // 处理单击事件逻辑 *** });尽管该匿名类只能被使用一次,这样,我们没有必要再去实现OnClickListener接口并创建一个类,从而简化了代码。可是,
2016-10-26 19:53:45 5568
原创 Android 动画之补间动画
在Android中,动画可以分为三种模式,View Animation、Frame Animation、Property Animation,其中Frame Animation又是View Animation一种特殊形式,只不过它和平移、旋转等常见的View Animation在表现形式上略有不同。View AnimationView Animation又称为Tween Animation,即补间动
2016-10-24 21:15:30 1701
原创 Kotlin-抽象类和接口
对于面向对象编程来说,抽象是它的一大特征之一。在Kotlin中可以通过抽象类和接口来完成抽象。抽象类和接口有很多相似之处,又有不同之处。抽象方法抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为:abstract fun doSwim()抽象方法必须用abstract关键字进行修饰抽象方法不用手动添加open,默认被open修饰抽象方法没有具体的实现含有抽象方法的类成
2016-10-19 16:48:39 11578 3
原创 Kotlin - 继承
继承作为OOP的三大特性之一,Kotlin对其必然有自己的理解。Kotlin以“:”操作符,完成子类继承父类。AnyThe root of the Kotlin class hierarchy. Every Kotlin class has [Any] as a superclass.在官方文档上是这么介绍Any类的,Any类是所有Kotlin文件的根,所有的类均继承于Any类。创建一个类时,若为
2016-10-19 09:50:03 4411
原创 Kotlin-类
类声明在Kotlin 中类用 class 声明:class Person(name : String, age : Int) {}类的声明包含类名,类头(指定类型参数, 主构造函数等等),以及类主体,其中类体用大括号包裹。 类头和类体是可选的;如果没有类体可以省略大括号。class Empty构造函数概述在Kotlin中类可以有一个主构造函数以及多个二级构造函数。 主构造函数是类头的一部分:跟
2016-10-18 16:49:13 1214 2
原创 Kotlin中的流程控制语句
流程控制语句是编程语言中的核心之一。可以分为 分支语句、循环语句和跳转语句。下面我们深入的了解Kotlin的流程控制语句。ifif-else语句是控制程序流程的最基本的形式,其中else是可选的。在Kotlin中,if是表达式,比如它可以返回一个值。 是除了condition ? then : else)之外的唯一一个三元表达。传统用法val a = 10val b = 20var max_0:
2016-10-17 22:05:19 16679 4
原创 Kotlin - package、import及as等关键字
package为了方便管理大型软件系统中数目众多的类,解决类的命名冲突问题,类似于Java,Kotlin同样引入包(package)机制,提供类的多重类名空间。package语句必须是文件中的第一行非注释的程序代码。package foo.barfun bza() {}class Goo {}//...源文件的所有内容(比如类和函数)都被包声明包括。 因此在上面的例子中,bza() 的全名应
2016-10-17 19:42:56 5173
原创 Android之shape设置虚线无效果
hape能画直线,虚线,矩形,圆形等,当然也可以画虚线,刚开始弄了半天就是没有效果。不懈的翻阅博客,各种尝试,总算解决了这个问题。1.XML中定义shape,命名为<shape android:shape="line" xmlns:android="http://schemas.android.com/apk/res/android"> <stroke andr
2016-10-17 16:58:40 2695
转载 Java中的static关键字解析
转载至:Java中的static关键字解析 static关键字是很多朋友在编写代码和阅读代码时碰到的比较难以理解的一个关键字,也是各大公司的面试官喜欢在面试时问到的知识点之一。下面就先讲述一下static关键字的用法和平常容易误解的地方,最后列举了一些面试笔试中常见的关于static的考题。以下是本文的目录大纲: 一.static关键字的用途 二.static关键字的误区 三.常见的笔
2016-10-16 19:58:30 591
转载 Java-this关键字
转载至:Java中this关键字的几种用法当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量。(this是当前对象自己)如:public class Hello { String s = "Hello"; public Hello(String s) { System.out.println("s = " + s); Sys
2016-10-16 19:41:47 1557
原创 深入理解final关键字
在Java中,final关键字可以用来修饰数据、方法、参数、类,下面我们来了解final的关键字的用法。基本用法final 数据对于基本类型,final使数值恒定不变;而对用对象引用,final使引用恒定不变。 final修饰的基本类型,一旦被初始化后,不能再被赋值。 final修饰的对象引用,一旦引用被初始化指向一个对象,就无法再把它改为指向另外一个对象。final 类当用final修
2016-10-16 15:12:27 5616 2
原创 设计模式-桥接模式
介绍桥接模式(BridgePattern)也成为桥梁模式,是结构型设计模式之一。定义将抽象部分与实现部分分离,使他们都可以独立进行变化。使用场景如果一个系统需要在构件的抽象化角色和具体化角色之间增加更多的灵活性,避免在两个层次之间建立静态的联系。 设计要求实现化角色的任何改变不应当影响客户端,或者说实现化角色的改变对客户端是完全透明的。一个构件有多于一个的抽象化角色和实现化角色,系统需要它们之
2016-10-15 11:40:52 595
原创 设计模式-外观模式
介绍外观模式(Facade)在开发过程中的运用频率非常高,通过一个外观类使得整个系统的接口只有一个统一的高层接口,这样能够降低用户的使用成本,也对用户屏蔽了很多实现细节。当然在我们实际开发过程中,外观模式也使我们封装API的常用手段。定义要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。外观模式(Facade)提供一个高层次的接口,使得子系统更易于使用使用场景当你要为一个复杂子系统提供
2016-10-15 10:45:34 576
原创 Kotlin - 运算符重载
Kotlin支持标准的算术运算表达式, 其中运算符被声明为相应类的成员。Kotlin源代码中,我们可以自定义类型的运算符实现,即运算符的重载。这些运算符有固定的表示, 和固定的优先级。Kotlin为基本类型提供了固定名称的数值函数,比如二元运算符的左值和一元运算符的参数类型。运算符的优先级运算符重载预定义的运算符的操作对象只能是基本数据类型,实际上,对于很多用户自定义类型,也需要有类似的运算操作。运
2016-10-14 17:10:52 9638 4
原创 Kotlin - 基本数据类型
Kotlin和Java一样,都是基于JVM的静态类型语言,意味着所有变量和表达式类型在编译时已确定。不同的是,Java通过装箱和拆箱在基本数据类型和包装类型之间相互转换,但Kotlin中的,所有变量的成员方法和属性都是对象。一些类型是Kotlin中内建,相当于创建的普通类,直接调用即可。在Kotlin源代码中,不管是常量还是变量在声明是都必须具有类型注释或者初始化。如果在声明时,进行了初始化,会自行
2016-10-14 11:44:34 7921
原创 java中基本数据类型和包装类型
基本数据类型这种类型是通过诸如 int a=7; 的形式来定义的,称为自动变量。这里自动变量是字面值。不是类的实例,即不是类的引用,这里并没有类的存在。a 是指向一个 int 类型的引用,指向 7 这个字面值。由于其大小确定生存期可知(这些定义在某个程序块中,程序块退出后,字段值就消失),因此存在栈中. 由于栈的数据可以共享,因此 int a=3; int b=3; 这段代码,编译器首先处理 i
2016-10-13 22:24:11 876
转载 深入剖析Java中的装箱和拆箱
转载自:深入剖析Java中的装箱和拆箱 自动装箱和拆箱问题是Java中一个老生常谈的问题了,今天我们就来一些看一下装箱和拆箱中的若干问题。本文先讲述装箱和拆箱最基本的东西,再来看一下面试笔试中经常遇到的与装箱、拆箱相关的问题。 以下是本文的目录大纲: 一.什么是装箱?什么是拆箱? 二.装箱和拆箱是如何实现的 三.面试中相关的问题 若有不正之处,请谅解和批评指正,不胜感激。 请尊重作者劳
2016-10-13 22:04:47 539
转载 Java基本数据类型
转载自: Java基本数据类型Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值。同时限制了这些值可以进
2016-10-13 21:47:46 680
原创 设计模式 - 享元模式
介绍享元模式是对对象池的一种实现,它的英文名称叫做Flyweight,代表轻量级的意思,享元模式用来尽可能减少内存使用量,它适合用于可能存在大量重复对象的场景,来缓存可共享的对象,达到对象共享、避免创建过多对象的效果,这样一来就可以提升性能、避免内存移除等。享元对象中的部分状态是可以共享,可以共享的状态成为内部状态,内部状态不会随着环境变化;不可共享的状态称为外部状态,它们会随着环境的改变而改变。在
2016-10-13 21:05:12 551
原创 IDEA创建Kotlin工程
1.配置IDEA IDEA下载地址:https://www.jetbrains.com/idea/download/#section=windows 现IDEA最新的版本是2016.2.4,此版本已经集成了Kotlin插件。若安装的IDEA早于IDEA 15 需安装Kotlin插见。安装步骤见下图 2.创建工程,JDK版本应选择1.6以上,同时选择工程为Kotlin(Java) 3.
2016-10-13 16:40:06 9873 2
原创 设计模式-装饰模式
介绍装饰模式(Decorator Pattern)也称为包装模式(Wrapper),结构模式之一,其使用一种对客户端透明的方式来动态的扩展对象的功能,同时也是继承关系的一种替代方案之一。定义动态给一个对象添加一些额外的职责,就增加功能来说,装饰模式相比生成子类更为灵活。使用场景需要透明且动态地扩展类的功能时。UML类图 角色介绍Component:抽象组件可以是一个接口或者抽象类,其充当的就是
2016-10-12 20:50:15 599
转载 Android Support Library的前世今生
原文链接:http://www.jianshu.com/p/f5f9a4fd22e8 在之前的开发经历中经常需要导入一些如v4、v7、v13等Android官方的支持包,遇到这些情况时都是网上搜索一下,按照前人给的示例添加依赖。这么稀里糊涂的使用后代码正常运行了,但心中不免会有一些疑问,如,Android官方为什么要提供支持包,都提供哪些支持包,这些支持包又提供了什么特性,开发者又应该如何选择
2016-10-12 15:48:15 4449
转载 Android7.0(Android N)适配教程
原文链接:http://www.jianshu.com/p/56b9fb319310 Android7.0发布已经有一个多月了,Android7.0在给用户带来一些新的特性的同时,也给开发者带来了新的挑战,这几天我将应用适配到Android7.0,其中也遇到了不少问题也踩了一些坑,在这里就把我在Android7.0适配上的一些心得分享给大家,让大家的应用能早一天跑在Android7.0上。权限更改
2016-10-12 13:46:43 4015 2
原创 设计模式-缺省适配器模式
介绍大家所熟悉的是如果实现某一个接口,必须实现接口中的每一个方法。在适配器模式中,如果目标(Target)角色中的方法众多,需要的仅仅几个。但是根据接口的实现规则,其余的方法也必须实现,这必然造成了很多的不便,最突出的就繁琐。这种情况下,可以考虑实现个默认适配器,然后实际的实现目标角色接口的类可以集成这个默认适配器,然后重写默认实现的方法即可。定义缺省适配模式为一个接口提供缺省实现,这样的类型可以从
2016-10-11 21:31:52 2621
原创 设计模式 - 适配器模式
介绍适配器模式在Android开发过程中使用极高,不管ListView、GridView还是RecycleView都需要使用Adapter,在实际开发中涉及到的UI优化,其就占用了很大的比例,真是个让人头疼又喜爱的东西。适配器模式到底是个什么东西呢?适配器模式是将两个互不兼容的类融合在一起,将不同的东西通过一种转换使得他们能够协作起来。定义适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而
2016-10-11 21:30:54 686
原创 Toast使用大全
介绍官方文档上是这么介绍的,Toast是一种简易的消息提示框,该提示框不能被用户点击,且永远不会获得焦点。同时,Toast显示的时间有限,过一定的时间就会自动消失,具体时间限制由用户设定。常用API显示时间常量LENGTH_LONG:指定显示时间为长时间(默认5000毫米)LENGTH_SHORT:指定显示时间为短时间(默认1000毫米)APIcancel(): 如果Toast在显示,则取消显示
2016-10-10 16:09:17 1197
正则表达式测试分析
2018-03-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人