自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ivluowei的博客

好记性不如烂笔头...

  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

转载 Java内部类详解

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟。下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题一.内部类基础在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为

2017-12-04 15:20:41 242

原创 java集合分析(9):LinkedList

先前我们分析了ArrayList , 我们知道 ArrayList 是以数组实现的,遍历时很快,但是插入、删除时都需要移动后面的元素,效率略差些。这篇我们来看看LinkedList,它是以双向链表实现的,插入、删除时只需要改变前后两个节点指针指向即可。什么是LinkedListLinkedList 是一个继承于AbstractSequentialList的双向链表。它也可以被当作堆栈、队列或双端队列

2017-11-22 16:03:59 263

原创 java集合分析(8):AbstractSequentialList

什么是AbstractSequentialListAbstractSequentialList 继承自 AbstractList,是 LinkedList 的父类,它只支持按次序访问,而不像 AbstractList那样支持随机访问。想要实现一个支持按次序访问List的话,需要继承这个抽象类,然后实现size(),listIterator()方法 对于不可修改的List,只需要实现Iterator

2017-11-20 16:34:37 264

原创 java集合分析(7):ArrayList

在前面中我们分析了几篇有关集合的类,这一篇我们来看看在我们开发当中经常用到集合类就是ArrayList.什么是ArrayListArrayList 是一个数组队列,相当于动态数组。与Java中的数组相比,它的容量能动态增长。它继承于AbstractList,实现了List, RandomAccess, Cloneable, java.io.Serializable这些接口。 ArrayList继承

2017-11-17 17:22:51 265

转载 java集合分析(6):AbstractList

package java.util; /** * List 接口的骨干实现,分别有类ArrayList,Vector,内部类SubList,抽象类AbstractSequentialList实现了该接口 * 。注意:对于连续的访问数据(如链表),应优先使用 AbstractSequentialList,而不是此类(jdk说明). * 要实现不可修改的列表,编程人员只需扩展此类,并提供

2017-11-10 10:19:23 194

转载 java集合分析(5) : List

List接口是Collection的子接口,用于定义线性表结构,其中ArrayList可以理解为一个动态数组,而LinkedList可以理解为一个链表常用操作: 插入和删除操作: void add(int index,E element): 将给定的元素插入到指定位置,原位置及后续元素都顺序向后移动。 E remove(int index): 删除给定位置的元素,并将被删除的元素

2017-11-09 16:17:43 276

原创 java集合分析(4):AbstractCollection

在上一篇中我们学习了Collection的基本概念和用法,这篇我们来看看实现了Collection接口的抽象类AbstractCollection。AbstractCollection直接实现Collection接口的类只有AbstractCollection类,该类是一个抽象类,提供了对集合类操作的一些基本实现。List和Set的具体实现类基本上都直接或间接的继承了该类; 如果想要实现一个不可修

2017-11-02 15:30:23 260

原创 java集合分析(3):Collection

上面一篇我们对ListIterator进行了分析,接下来我们看看Collection 。Collection 接口:java.util.Collection 是一个集合接口(集合类的一个顶级接口)。它提供了对集合对象进行基本操作的通用接口方法。Collection接口在Java 类库中有很多具体的实现。Collection接口的意义是为各种具体的集合提供了最大化的统一操作方式,其直接继承接口有Lis

2017-10-28 20:52:26 204

原创 Java集合分析(2):ListIterator

上面一篇我们对Iterator进行了分析,接下来我们看看ListIterator。ListIterator 继承自 Iterator 接口(关于Iterator的介绍 请点这里),在 Iterator 的基础上增加了 6 个方法,下面我们就来看看这几个新增的方法:void add(E e) 将指定的元素插入列表,插入位置为迭代器当前位置之前(注意:是之前);boolean hasPrevio

2017-10-22 21:08:01 222

原创 Java集合分析(1):Iterator(迭代器)

集合框架在开发中经常用到,但一般情况下,我们只限于会用,却不知道其原理,用的过程会发生什么异常,我们也不知所然。所以我觉得花点时间研究研究集合框架还是很好的。首先我们先看看集合框架的类图:从上面的集合框架图可以看到,Java集合框架主要包括两种类型的容器:一种是Collection,另一种是Map,而 我们又能看到Collection 又继承了 Iterable< E > 接口,所以本节我们先学习

2017-10-20 16:04:02 345

转载 Java: 接口和抽象类

对于面向对象编程来说,抽象是它的一大特征之一。在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下Java中的接口和抽象类。下面是本文的目录大纲:一.抽象类二.接口三.抽象类和接口的区别;一.抽象类在了解抽象类之前,先来了解一下抽象方法。抽象方法是一种

2017-10-19 22:53:56 246

转载 Java的版本历史与特性

一个比较流行的问题是,“Java下一个版本会有什么特性呢?” 。这是否是个好问题却有待商榷。在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在哪个发行版中引入的。除了列出的特性外,每个发行版还做了很多优化和修复BUG的工作。Java SE 8Java 8是于2014年3月14号发布。从Java 8开始开发代号已经弃用了,所以从Java 8之后

2017-10-19 10:24:34 287

转载 浅谈Java中的equals和==

在初学Java时,可能会经常碰到下面的代码:1 String str1 = new String("hello");2 String str2 = new String("hello");3 4 System.out.println(str1==str2);5 System.out.println(str1.equals(str2));为什么第4行和第5行的输出结果不一样?=

2017-10-18 13:44:58 231

原创 Android 事件分发机制分析

在Android开发中,我们经常会遇到手势滑动冲突的情况,当遇到这种情况我们要怎么去解决它,那就需要弄明白它的事件分发机制原理,这里我先画出了整个Touch事件分发的流程图: 注释: 上面流程图中的super, true, false 字代表返回值(return true、return false、return super.xxxxx()),super 的意思是调用父类

2017-10-13 17:24:02 347

原创 Android 自定义ViewGroup

上一篇学习了Android自定义View的流程及步骤,这篇学习下如何去自定义一个ViewGroup,我们知道ViewGroup就是View的容器类,它内部包含了许多个控件,即一组view,而我们经常用的LinearLayout,RelativeLayout等都是ViewGroup的子类 , 所以它的整个绘制过程相对于View会复杂一点,但还是三个步骤measure,layout,draw。构造函数

2017-10-09 14:27:27 644

转载 Java基础:final、finally和finalize的区别

final、finally和finalize的区别是什么? 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、finally和finalize虽然长得像孪生三兄弟一样,但是它们的含义和用法却是大相径庭。这一次我们就一起来回顾一下这方面的知识。 我们首先来说说final。它可以用于以下四个地方: 定义变量,包括静态的和非静态的。 定义方法的参数。 定义方法

2017-09-29 22:50:50 270

原创 Android 自定义View

在开发中,android原生的控件很多时候不能满足产品的设计需求,这个时候我们就需要自己去实现这些效果,而自定义View对很多程序猿的来说还是有点困难的,但这又是高手进阶的必经之路,所以在这里大致了解下自定义view的绘制流程以及步骤:什么是ViewView是Android中所有控件的基类,View是一种界面层的控件的一种抽象,它代表了一个控件,在Android设计中,ViewGroup也继承了Vi

2017-09-27 16:56:21 953

转载 Android中添加两个(多个)FileProvider节点问题

我们知道在android7.0,修改了对私有存储的限制,导致在获取资源的时候,不能通过Uri.fromFile(..)来获取uri了,但是在写入数据的时候是可以通过Uri.fromFile(..)来获取uri的,android 官网给出的解决办法是通过FileProvider来解决这一问题,我们需要在AndroidManifest.xml 配制provider节点。<provider and

2017-09-25 13:59:30 1223

原创 java.util.ConcurrentModificationException

今天在华为mate9上遇到这么一个问题,错误log:错误log中报AppManager类112行出错,如下图:这个bug很特殊,我在小米和华为的部分手机中,都没有报错,可就在华为mate9中报错,实在很苦恼,上网了查阅了资料,终于在这http://www.jianshu.com/p/c5b52927a61a 这篇文章中找到了答案,具体解决办法也很简单,原先代码中我是这样创建activity管理栈的我

2017-09-25 13:13:31 550

原创 android Scroller的用法总结

在android开发中有多种方式实现View的滑动,常见的有以下几种: 1.不断的修改View的LayoutParams; 2.通过动画对View实现位移的效果; 3.调用View的ScrollTo(),ScrllBy().这里要说的是第三种方式首先看看ScrollTo(),ScrllBy()的用法: scrollTo(int x, int y):scrollTo( )表示View相对于其初始位置滚

2017-09-22 17:26:30 590

原创 android 在浏览器中打开app

最近项目中有这样一个需求,需要在网页中打开app,并跳转到相对应的界面,一开始还有点困惑,怎么从浏览器的网页中打开app呢?在网上查阅了资料发现实现起来还是比较简单的,特此记录一下:实现原理就Android平台而言,URI主要分三个部分:scheme, authority,path, queryString。其中authority又分为host和port。格式如下:scheme://host:por

2017-09-21 14:36:38 2987 3

原创 android RecyclerView局部刷新

项目中列表需要有点赞的功能,这时我们想到RecyclerView比listview的好处就是,recyclerview有单条item刷新的方法,于是就调用了RecyclerView的notifyItemChanged(int position)方法,结果发现刷新单个布局的时候图片闪烁, mRecycleViewAdapter.notifyItemChanged(position);这种效果肯定是

2017-09-20 17:29:15 7587 3

原创 Failed to allocate a 38189038 byte allocation with 16777216 free bytes and 20MB until OOM

在项目中将图片以base64格式上传,发现当上传的图片大于10张时,app直接崩溃了,出错log如下:定位到出错代码发现是封装的网络底层出现了问题,代码如下:出错log显示340行有问题,我看了半天也没发现有什么问题,最后在https://stackoverflow.com/questions/32919833/jsonobject-tostring-returns-outofmemoryerror

2017-09-20 14:06:31 18591 4

原创 解决android6.0ScrollView嵌套RecyclerView显示不全问题

解决android6.0 ScrollView嵌套RecyclerView显示不全问题在项目中遇到这种情况, 在6.0手机上发现 ScrollView嵌套RecyclerView显示不完全,而在6.0以下手机上显示却是正常的,这就很奇怪,上网搜索一番,结果发现只需要在RecyclerView外层在嵌套个RelativeLayout就行了, <RelativeLayout andro

2017-09-20 12:58:16 733

原创 CSDN-Markdown使用方法

Markdown使用方法一、标题通过在行首插入 1 到 6 个 # ,来定义对应的 1 到 6 阶 标题#一级标题##二级标题###三级标题####四级标题#####五级标题######六级标题二、段落和换行在 Markdown 中段落由一行或者多行文本组成,相邻的两行文字会被视为同一段落,如果存在空行则被视为不同段落( 在编辑情况下,多个空格和tab,markdown仅作为一个空格字符)。Mark

2017-09-19 17:34:41 647

listview的事件处理

listview与button共存抢夺焦点问题得解决,以及在adapter中写个接口,点击按钮,改变listview中的值

2015-12-02

空空如也

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

TA关注的人

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