- 博客(54)
- 资源 (4)
- 收藏
- 关注
原创 5.Kotlin-泛型
1.泛型(generics)与java类似,kotlin的类页游类型参数:class Box<T>(t:T){var value = t}一般情况,使用泛型实例,需要类型参数:val box : Box<Int> = Box<Int>(1)如果类型参数可推断出来,可省略类型参数:val box = Box(1) //1是Int,编译器可推断出...
2018-08-28 09:18:45
323
1
原创 4.Kotlin-密封类
密封类 sealed class密封类:受限的类继承结构(有限集合的类型,不能有任何其他的类型)在某种意义上,密封类就是扩展的枚举类enum不同之处:枚举类的每个枚举常量只存在一个实例,密封类的一个子类可以包含状态的多个实例密封类的所有子类都必须与密封类在同一个文件中密封类子类的子类(间接继承者)可以放在任何位置,无需在同一个文件中//在kotlin1.1之前,该...
2018-08-28 09:17:13
284
原创 View-属性动画
android中动画一共有三种1.帧动画2.View动画3.属性动画由于前面两个动画有一定的局限性,android3.0之后,谷歌推出了新的动画框架,帮助开发者实现更加丰富的动画效果。在Animator框架中使用最多的就是AnimatorSet和ObjectAnimator配合:使用ObjectAnimator进行更精细化的控制,控制一个对象和一个属性值,而使用多个ObjectAnim...
2018-07-31 11:58:14
273
转载 Glide-V3使用
作者:MrTrying链接:https://www.jianshu.com/p/7ce7b02988a4一、简介Glide,一个被google所推荐的图片加载库,作者是bumptech。这个库被广泛运用在google的开源项目中,包括2014年的google I/O大会上发布的官方app。(PS:众所周知的简介就到此为止了)Glide 对于 Android SDK 的最低要求是 API...
2018-07-30 18:05:47
795
原创 View-View的滑动
View的滑动就是获取View的偏移量,修改View的坐标,实现View的滑动有很多种方法。1.layout()方法View绘制的时候会通过调用onLayout()方法设置控件的位置,我们可以通过修改设置位置的属性来控制View的坐标。 private int lastX;private int lastY;public boolean onTouchEvent(Motio...
2018-07-30 18:04:04
149
原创 View-Notification
Notification可以让我们在获得消息的时候,在状态栏,锁屏界面来显示信息。Notification有三种,普通样式,折叠样式,悬挂样式。1.普通NotificationNotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICAT...
2018-07-23 16:06:30
332
原创 View-CardView
CardView是一个卡片式布局,继承FrameLayout,可以设置圆角和阴影,是控件具有立体感,也可以包含其他的布局容器和控件。1.配置build.gradle如果SDK低于5.0,需要引入v7包dependencies {compile fileTree(include: ['*.jar'], dir: 'libs')compile 'com.android.suppor...
2018-07-23 14:26:10
739
原创 View-RecyclerView
RecyclerView是用来替换ListView和GridView,它具有高度的解耦和更高的效率,可以通过设置LayoutManager,ItemDecoration和ItemAnimator实现不同的多样效果。使用时分割线和点击事件需要自己去实现。1.配置build.gradledependencies { compile fileTree(include: ['*.jar']...
2018-07-23 12:03:03
201
原创 3.Kotlin-数据类 data class
一。数据类的概念我们经常创建一些只保存数据的类。 在这些类中,一些标准函数往往是从数据机械推导而来的。在 Kotlin 中,这叫做 数据类 并标记为 data,类似于Javabean为了确保自动生成的代码一致性和有意义,数据类必须满足一下要求:主构造函数必须要至少有一个参数主构造函数中的所有参数必须被标记为val或者var数据类不能有以下修饰符:abstract,inner,open,sealed...
2018-07-10 14:10:31
838
原创 2.Kotlin-扩展函数
为MutableList类扩展一个swap函数: fun MutableList<Int>.swap(index1: Int, index2: Int) { val tmp = this[index1] //this: 当前MutableList对象 this[index1] = this[index2] this[index...
2018-07-10 13:17:02
245
原创 Kotlin-构造函数
一个类有一个主构造函数,可以有多个次构造函数。主构造函数中不能包含任何代码,初始化代码可以放在初始化代码块中,init关键字:class Person constructor(name : String){var myName = nameinit{println("name is ${name}")}}也可以在主构造方法里进行参数的初始化。class Person (val name : Str...
2018-07-10 11:37:25
499
原创 View-WebView获取url的title
项目中加载一个地址需要显示网页的TitleWebview有提供的获取方法:webView.setWebChromeClient(new WebChromeClient() { @Override public void onReceivedTitle(WebView view, final String title) { super.onReceivedTitle(vie...
2018-06-13 17:39:45
3565
原创 View-TextView设置显示个数
一 需求有时候TextView需要显示固定的个数,超出部分后面显示 “..." 。解决方法:<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:maxEms="5" android:ellip...
2018-06-06 14:23:27
1704
原创 Glide-设置缓存的key
继承GildeUrl类在项目开发中遇到了一个问题:图片是上传到阿里云上的,因为图片是私有的,图片地址后面会带有一些权限的认证,这样用一张图片地址会经常的变化,这样用gilde默认的缓存基本上失效。public class Engine implements EngineJobListener, MemoryCache.ResourceRemovedListener, E...
2018-05-29 11:53:25
2563
1
原创 Android中通过代码修改bitmap的宽高
public Bitmap getNewBitmap(Bitmap bitmap, int newWidth ,int newHeight){ // 获得图片的宽高. int width = bitmap.getWidth(); int height = bitmap.getHeight(); // 计算缩放比例. float scaleWidth = ((...
2018-05-24 16:14:47
6036
转载 Glide-最新版V4使用指南
文章转载地址: https://blog.youkuaiyun.com/u013005791/article/details/74532091概述1 集成2 基本用法3 注解(V4新特性)和自定义方法3.1 在项目中实现AppGlideModule:3.2 GlideExtension3.2.1 GlideOption3.2.2 GlideType4 占位符设置占位符:5 Options5.1 Request...
2018-05-24 14:37:13
502
原创 View-Shape虚线
在android中画一条虚线,可以通过shape设置背景在drawable文件下创建xml文件:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="line"> <stroke android:dashGap="1dp" andro...
2018-05-21 15:38:11
228
原创 View-给布局,控件添加阴影效果
一.使用属性 elevation。 在Material Design主题当中给UI元素引入了高度的概念,视图的高度由属性Z来表示,决定了阴影的视觉效果,Z越大,阴影就越大且越柔和。但是Z值并不会影响视图的大小。 二.使用 layer-list layer-list 的大致原理类似 RelativeLayout(或者FrameLayout) ,也是一层层的叠加 ,后添加的会覆...
2018-05-21 15:37:38
3414
1
原创 View-TextView行间距设置
1、设置行间距:android:lineSpacingExtra,取值范围:正数、负数和0,正数表示增加相应的大小,负数表示减少相应的大小,0表示无变化。<TextView android:id="@+id/txt_msg" android:layout_width="wrap_content" android:layout_height="wrap_conte...
2018-05-21 15:36:58
883
原创 View-获取宽度高度OnGlobalFocusChangeListener
我们知道在oncreate中View.getWidth和View.getHeight无法获得一个view的高度和宽度,这是因为View组件布局要在onResume回调后完成。所以现在需要使用getViewTreeObserver().addOnGlobalLayoutListener()来获得宽度或者高度。这是获得一个view的宽度和高度的方法之一。OnGlobalLayoutListener 是...
2018-05-21 15:36:10
969
原创 Glide-加载图片带绿色背景问题
问题:在使用Glide图片加载库,加载图片的时候,图片会有一层绿色的背景色。原因:Glide使用bitmap的编码默认是RGB565,所以有时的时候由于过度压缩导致了图片变绿。 解决方法:重新配置bitmap编码,改为ARGB_8888。public class GlideConfiguration implements GlideModule{ @Override p...
2018-05-21 15:35:28
952
原创 CSS
CSS层叠样式表 将网页中的样式分离出来,完全由css来控制,增强样式的复用性以及可扩展性。 格式: 选择器{属性名:属性值; 属性名:属性值...} Css和html代码相结合的四种方式: 1.每一个html标签都有一个style属性。 2.当页面有多个标签有相同的样式时,可以进行复用。 <style> Css代码 </style> ...
2012-06-24 23:23:19
263
原创 HTML-标签
HTML:是超文本标记语言 , 它的语言是由标签组成的 HTML的数据都封装在标签中,通过对标签中的属性内容改变也就实现了对封装的数据的改变。 HTML标签都在<html></html>中(代码的范围) 该范围中可以定义两部分内容:一个是头,一个是体 <html> <head></head> &l...
2012-06-17 16:46:06
165
原创 实现类似Spring的配置的AOP框架
工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换。其getBean方法根据参数字符串返回一个相应的实例对象,如果参数字符串在配置文件中对应的类名不是ProxyFactoryBean,则直接返回该类的实例对象,否则,返回该类实例对象的getProxy方法返回的对象。BeanFactory的构造方法接收代表配置文件的输入流对象,配置文件格式如下: #...
2012-05-31 14:26:37
228
原创 动态代理
程序的代理 要为已存在的多个具有相同接口的目标类的各个方法增加一些系统功能,例如,异常处理、日志、计算方法的运行时间、事务管理、等等 AOP 交叉业务: 有部分是相同的 交叉业务的编程问题即为面向方面的编程(Aspect oriented program ,简称AOP),AOP的目标就是要使交叉业务模块化。可以采用将切面代码移动到原始方法的周...
2012-05-30 16:44:25
145
原创 -Java高新技术,类加载器
系统默认3个类加载器: BootStrap , ExtClassLoader , AppClassLoader 类加载器也是一个Java类,所以必定有一个不是Java类的加载器来加载类加载器,那就是BootStrap 3个类加载器之间的关系 类加载器加载类时有一个委托机制来使用不同的类加载器 首先当前线程的类加载器去加载线程中的第一个类。如果类A中引用了类B,...
2012-05-29 21:23:08
171
原创 -泛型
ArrayList<E>类定义和ArrayList<Integer>类引用中涉及如下术语:整个称为ArrayList<E>泛型类型ArrayList<E>中的E称为类型变量或类型参数整个ArrayList<Integer>称为参数化的类型ArrayList<Integer>中的Integer称为类型参数的实...
2012-05-29 10:56:35
168
原创 Java高新技术 ,反射
Class类。Class类实例对象对应各个类在内存中的字节码一个类被类加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是类的字节码,不同类的字节码是不同的,所以它们在内存中的内容是不同的,这一个个的空间可分别用一个个的对象来表示,这些对象具有相同的类型Class类型。获得各个字节码对应的实例对象有三种方法1)类名.class System.class2)对象.ge...
2012-05-20 16:26:47
192
原创 Java高新技术,静态导入,可变参数,增强for,基本数据拆箱与装箱,枚举
1静态导入import 语句可以导入一个类或某个包中的所有类import static 语句导入一个类中的某个静态方法或所有静态方法2可变参数可变参数的特点。只能出现在参数列表的最后。调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的 形式访问可变参数public int add(int x ,int ... args) { int sum = x...
2012-05-17 00:41:53
130
原创 网络编程2
URL类 URL url = new URL(http://127.0.0.1:8080/myweb/demo.html?name=df,age=30); throws MalformedURLException 这样可以通过其方法获得我们想要的信息 String getFile() 获取此 URL 的文件名。...
2012-05-15 22:25:50
124
原创 网络编程1
网络模型 OSI参考模型 TCP/IP参考模型 应用层 应用层表示层会话层传输层 传输层网络层 网际层数据链路层 主机至网络层物理层 网络通讯要素 IP地址 网络中设备的标识 不易记忆,可用主机名 本地回环地址:127.0.0.1...
2012-05-14 21:45:39
194
原创 GUI
布局管理器 容器中组件的排放方式就是布局 。常见的布局管理器 1 FlowLayout(流式布局管理器) 从左到右的排列方式排序 Panel 默认的布局管理器 2 BorderLayout(边界布局管理器) 东 南 西 北 中 Frame默认的布局管理器 3 GridLayout(网格布局...
2012-05-13 11:03:47
198
原创 IO类 操作对象 管道流 RandomAccessFile类
操作对象 ObjectInputStream与ObjectOutputStream 被操作的对象需要实现Serializable接口 管道流 RandomAccessFile 该类不是算是IO体系中子类。而是直接继承自Object。 但是它是IO包中成员。因为它具备读和写功能。内部封装了一个数组,而且通过指针对数组的元素进行操...
2012-05-11 10:53:14
299
原创 IO ..File类 Properties 打印流 合并流
File类 用来将文件和文件夹封装成对象,方便对文件或文件夹的属性信息进行操作,File对象可以作为参数传给流对象的构造函数。 创建File对象 1 File f1 = new File("a.txt"); 2 File f2 = new File("c:\\abc", "b.txt"); 3 File d = new File("c:\\abc"); File f3 =...
2012-05-07 09:48:31
238
原创 字节流 InputStream OutputStream
字节流 InputStream OutputStream BufferedInputStream BufferedOutputStream 读取转换流 InputStreamReader 键盘的常见写法 BufferedReader br = new BufferedReader( new InputStreamReader( System.in ...
2012-04-30 16:15:28
227
原创 IO :BufferedWriter BufferedReader
1 BufferedWriter 2 BufferedReader 3 装饰设计模式 当想对已有的对象进行功能增强时,可以定义类将已有的对象传进去,基于已有的功能进行加强。自定义的类为装饰类 装饰类通常会通过构造方法接收被装饰的对象,并基于接收对象的功能,提供更强的功能。 装饰与继承的区别 装饰模式比继承要灵活,避免了继承体系的臃肿。降低了类与...
2012-04-27 16:47:41
205
原创 IO FileWrite FileReader
FileWrite /*字符流和字节流: 字节流两个基类:InputStream OutputStream 字符流两个基类:Reader Writer 既然IO流是用于操作数据的,那么数据的最常见体现形式是:文件。 那么先以操作文件为主来演示。 需求:在硬盘上,创建一个文件并写入一些文字数据。 找到一个专门用于操作文件的Writer子类对象。FileWriter。 ...
2012-04-19 12:16:49
142
原创 System类 Date类 Runtime类 Calendar类 Math类
System类 System:类中的方法和属性都是静态的。out:标准输出,默认是控制台。in:标准输入,默认是键盘。 描述系统一些信息。 获取系统属性信息:Properties getProperties(); Properties prop = System.getProperties(); 因为Properties是Hashtable的子类,也就是Map集合的一...
2012-04-19 12:05:27
149
原创 集合 Map
Map集合:该集合存储键值对。一对一对往里存。而且要保证键的唯一性。 1,添加。 put(K key, V value) putAll(Map<? extends K,? extends V> m) 2,删除。 clear() remove(Object key) 3,判断。 containsValue(Object value) co...
2012-04-19 11:53:28
165
ViewFlow类似ViewPager效果
2013-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人