- 博客(26)
- 资源 (4)
- 收藏
- 关注

转载 设计模式大全
Java中23种设计模式目录1. 设计模式 31.1 创建型模式 41.1.1 工厂方法 41.1.2 抽象工厂 61.1.3 建造者模式 101.1.4 单态模式 131.1.5 原型模式 151.2 结构型模式 171.2.1 适配器模式 171.2.2 桥接模式 191.2.3 组合模式 231.2.4 装饰模式 261.2.5 外观模
2014-11-07 09:39:50
469
原创 Android面试题大全
新的一年校园招聘又开始了,想起去年我经历的校园招聘,是一个屡战屡败,屡败屡战的过程。在这个过程中不断面临问题,也不断总结。这是我在面试Android过程中经常遇到的问题,现总结给大家做一个参考。 1 HttpClent 和HttpUrlConnection的区别? 2 HashMap和HashTable的区别是什么? 3 当Android系统的内存不够时,回收的进程顺序是什么?即先回收什么进程
2017-03-08 16:05:59
298
转载 带你学开源项目:OkHttp--自己动手实现okhttp
一、开源项目 OkHttp在Android、Java开发领域中,相信大家都听过或者在使用Square家大名鼎鼎的网络请求库——OkHttp——https://github.com/square/okhttp ,当前多数著名的开源项目如 Fresco、Glide、 Picasso、 Retrofit都在使用OkHttp,这足以说明其质量,而且该项目仍处在不断维护中。二、问题在分析okhttp源码之前,
2016-08-07 16:21:15
549
转载 Android Contxt上下文
1、Context概念 其实一直想写一篇关于Context的文章,但是又怕技术不如而误人子弟,于是参考了些资料,今天准备整理下写出来,如有不足,请指出,参考资料会在醒目地方标明。 Context,相信不管是第一天开发Android,还是开发Android的各种老鸟,对于Context的使用一定不陌生~~你在加载资源、启动一个新的Activity、获取系统服务、获取内部文件(夹)路径、创建View
2016-08-04 09:49:25
334
原创 Android图片加载框架Picasso
参考链接http://bbs.itcast.cn/thread-87019-1-1.htmlhttp://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0731/1639.html1 Picasso介绍picasso是Square公司开源的一个Android图形缓存库,地址http://square.github.io/picasso/,可以
2016-08-01 19:00:17
499
原创 Android中的Activity
1 Activity的生命周期1 Activity生命周期的七个方法Android中Activity在生命周期中最多有四种状态: - 运行状态 - 暂停状态 - 停止状态 - 销毁状态Activity类中定义了七个回调方法,覆盖Activity生命周围的每一个环节。 - onCreate() 创建时调用,完成初始化工作 - onStart() 由不可见变为可见时调用 - onResu
2016-07-31 17:16:48
348
原创 设计模式-单例模式
1 单例模式(1) 什么是单例模式单例模式主要是为了避免因为创建了多个实例造成资源浪费,且多个实例由于多次调用容易导致结果出现错误,使用单例模式就能够宝成应用中有且只有一个实例,保证一个类在内存中的对象的唯一性。在一些常用的工具类、线程池、缓存、数据库等程序中,我们只能创一个对象。(2) 单例模式的设计思想在上面我们说到现在解决问题的关键就是保证在应用中只有一个对象就行了,那么怎么保证只有一个对象呢
2016-07-28 09:42:52
252
原创 Android AccessibilityService
1 AccessibilityService的介绍许多Android使用者因为各种情况导致他们要以不同的方式与手机交互。这包括了在有些用户在视力上、身体上、年龄上的问题导致他们不能看清完整的屏幕或者使用触屏。也包括了无法很好接收到语音信息和提示的听力能力比较弱的用户。Android提供了Accessibility功能和服务来帮助这些用户更简单的操作折欸,包括文字转语音(这个不支持中文),触觉反馈、手
2016-07-15 19:14:30
3074
原创 dp、dpi、pt、sp的关系
1 概念px pixel 即像素pt pointdpi dot per inch 即像素密度,每英寸的像素点 举个例子: 分辨率为320 * 240 的屏幕物理尺寸是2英寸 * 1.5 英寸,即这部手机的dpi为160,即每英寸有160个像素点2 屏幕的分辨率分辨率指的是设备屏幕横向和纵向的像素个数,常见的手机分辨率有: - QVGA 240 * 320 像素 - HVGA 48
2016-07-15 19:12:40
701
原创 Android内存泄露分析
1 什么是内存泄露java使用有向图机制,通过GC自动检查内存中的对象,如果GC发现一个或一组对象为不可到的状态,则该对象从内存中回收。也就是说,一个对象不被任何引用指向的时候,则该对象会被GC发现的时候被回收。另外,如果一组对象只包含相互的引用,而没有来自它们之外的外部引用,仍然属于不可达。Android中内存泄露的原因1 Android中使用Handler造成的内存泄露在Android中,我们经
2016-07-15 19:11:44
359
原创 OKHttp框架源码分析(一)
1 总体设计上面是OkHttp的总体设计图,主要是通过Dispatcher不断从RequestQueue中取出请求(Call),根据是否已经有缓存调用Cache或者NetWord这两类数据获取接口,从内存缓存或者服务器请求得到数据。OkHttp有两者请求方式,同步请求和异步请求。通过请求时通过Call.execute()直接返回当前的Response,而异步请求会把当前的请求通过call.enque
2016-07-15 19:10:07
663
原创 网络请求框架OKHttp
1 前言Android为我们提供了两种Http交互方式:HttpURLConnetcion和Apach HTTP Client,虽然两者都支持HTTPS,流的上传和下载,配置超时,Ipv6和连接池,已经足够满足我们各种HTTP请求的需求。但更高效的HTTP可以让我们的应用更快、更加节省流量。2 OKHttp介绍OKHttp是HTTP Android客户端,支持SYPD(共享一个Sokket来处理同一
2016-07-15 19:08:57
709
原创 MVP架构的理解与实现Demo
1 MVC架构MVC架构介绍现在的Android程序大多采用MVC的架构,MVC的架构软件可以分为三个部分: - 视图(View): 用户界面 - 控制器(Controller) : 业务逻辑 - 模型(Model) : 数据保存MVC架构的核心如下图所示: View传送指令到Controller, Controller完成业务逻辑后,要求Model改变状态,Model将新的数据发送到V
2016-07-01 20:47:40
2513
1
原创 面向对象的六大设计原则(基于Volley框架分析)
1 单一职责原则单一职责原则(Single Responsibility Principle, SRP).一个类只有一个引起它变化的原因,简单的讲就是一个类只做一件事。如果一个类有一个以上的职责,这些职责会耦合在一起,当一个职责发生变化时,可能会影响其他的职责。准守单一职责原则,每个类都有比较单一的职责,这就是高内聚,低耦合。单一职责原则的难点在于职责的划分会依靠个人的经验来界定。在Android的
2016-06-28 20:26:23
464
原创 Volley源码解析(三)网络请求流程
volley封装的很好,使用起来很方便,在一篇博客中,我们学些了volley进行网络请求的三个步骤,以及请求不同格式定义不同的Request,但是对Volley的源码我们还不是很清楚,就让我们一起来阅读以下Volley的源码,将Volley的工作流程和工作原理梳理以下。首先我们看一下Volley官方文档给我们的Volley工作流程图OK,我们就根据这张图,从我们使用Volley进行网络请求的步骤来阅
2016-06-24 19:10:36
3346
原创 Volley源码分析(二)-Volley中的Request类
3 Request类和Response类刚才我们分析了请求String发生乱码的原因与解决方案,是因为如果服务器在http响应Response中没有设定编码方式charset,就会使用默认的ISO-8859-1编码方案。更进一步,我们分析一下Request类,看一下使用Volley进行http请求的。http请求报文分为三个部分 - 请求行 实体行包括请求的方法、请求的url地址、请求的协议版本号
2016-06-24 19:09:29
718
原创 Volley源码解析(一)Volley中乱码问题及解决方案
1 返回值乱码问题我们在使用Volley进行网络请求非常的简单,如请求一个字符串只需要定义一个StringRequest的对象就可以了。如:StringRequest stringRequest = new StringRequest("http://www.baidu.com", new Response.Listener<String>() {
2016-06-24 19:08:40
1606
原创 Volley的介绍与基本使用
1 Volley的简单介绍我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据。Android系统中主要提供了两种方式来进行HTTP通信,HttpURLConnection和HttpClient,几乎在任何项目的代码中我们都能看到这两个类的身影,使用率非常高。不过HttpURLConnection和HttpClient的用法
2016-06-24 19:07:34
613
原创 java反射机制
1 java反射机制的介绍java反射机制是在运行的状态中,对于任意一个类,能够知道这个类所有的属性和方法;对于任意一个对象,能够调用它的一个方法和属性,这种动态获取信息以及动态调用对象的的功能成为java语言的反射机制。反射就是把java类中的各种成分映射成相应的java类,如变量、方法、构造方法、包等信息,这些信息的相应类的实例对象俩表示,它们是Field,Method,Construtor,P
2016-06-24 11:15:13
431
原创 Android控件架构
Android控件架构Android中控件被大致分类两类: - View - ViewGroup ViewGroup作为父控件可以包含多个View,并管理其中的View控件通过ViewGroup,整个界面上的控件形成了一个树形的结构,这也就是我们常说的控件树,上层控制着下层控件的测量与绘制,并传递交互事件。在Activty中使用findViewById()的方法来查找控件,就是在这个控件树上进行
2016-06-22 15:59:07
469
原创 深入理解AsyncTask
1 AsyncTask介绍Android中有Handler和AsyncTask来实现异步类,Android中UI的更新只能在主线程中完成,为了不阻塞主线程,耗时的操作需要在异步类中完成。AsyncTask是Android提供的轻量级的异步类,可以直接继承AsyncTaask,在类中实现异步操作,并提供结构反馈当前异步执行的程度,简单快捷,进程可控。AsyncTask定义了三种泛型类型参数,Param
2016-06-22 15:56:23
401
原创 同步辅助类-DelayQueue队列研究
* An unbounded {@linkplain BlockingQueue blocking queue} of * Delayed elements, in which an element can only be taken * when its delay has expired. The head of the queue is that * Delayed element
2015-12-18 10:41:30
703
1
转载 java nio
Java NIO提供了与标准IO不同的IO工作方式: Channels and Buffers(通道和缓冲区):标准的IO基于字节流和字符流进行操作的,而NIO是基于通道(Channel)和缓冲区(Buffer)进行操作,数据总是从通道读取到缓冲区中,或者从缓冲区写入到通道中。Asynchronous IO(异步IO):Java NIO可以让你异步的使用IO,例如:当线程从通道读取数据
2015-12-11 10:57:57
351
转载 Synchronized详解
Java synchronized详解第一篇:使用synchronized在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题。在Java中内置了语言级的同步原语--synchronized,这也大大简化了Java中多线程同步的使用。我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一个储蓄账户进行存款、取款操作的。在程序中我们
2015-12-09 11:32:31
446
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人