自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

我的Android合伙人是你么

寻求志同道合之人,一起从事Android开发,你就是我的金牌合伙人!

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

原创 接口实现Fragment、Activity间互调解耦

fragment之间及Fragment与Activity互调使用接口通讯。考虑Fragment的重用,所以必须降低Fragment与Activity的耦合,而且Fragment更不应该直接操作别的Fragment,毕竟Fragment操作应该由它的管理者Activity来决定。

2016-02-24 19:31:14 1380

转载 深入理解Java的接口和抽象类

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

2016-02-24 16:12:57 338

转载 数据存取之SQLite浅析

一、SQLite简介    SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。 1、SQLite的特点    轻量级:SQLite和C/S模式的数据库软件不同,它是进程内的数据库引擎,因此不存在数据库的客户端和服务器。使用SQLite

2016-02-23 15:38:42 465

原创 Fragment之一:封装及生命周期

Fragment是封装逻辑代码和UI的利器,实质上就是一个重写的View,是面向对象编程的重用思想。本文讲述Fragment的生命周期,并介绍了hide,show,add,remove,replace等Fragment操作的具体生命周期,并且阐述了回退栈操作,以及fragment数据保存。

2016-02-23 08:35:20 726

原创 Handler消息(Message)传递机制详解

本文从源码及结构角度,分析Handler消息(Message)传递机制,主要包括Handler、Looper、Message、MessageQueue等之间的关联。

2015-12-16 08:44:29 4877

原创 Thread及Runnable的使用方式简介

Java里面的主线程是main函数,android里面的主线程(UI线程)是ActivityThread,Activity是运行在主线程里面的,google为了保障用户体验,规定主线程(UI界面)5s没响应就报错—ANR异常(Application not Responding),所以较为耗时的操作一般需要开启子线程完成,即Thread,Android中创建子线程有两种方法。    一

2015-12-15 16:17:47 592

原创 Android之Window、WindowManager(一):PopupWindow添加浮动窗口内部过程

通常情况下,如果想显示一个界面,首先想到的是建立一个Activity,然后所有的操作在Activity里面实现,或者是一个Dialog或者Toast。本文通过对PopupWindow的实现过程解析,指出添加界面的另外一种方式:直接用WindowManager显示添加或删除View的过程。一、PopupWindow向Window添加视图的过程PopupWindow是最简单的浮动窗

2015-07-31 18:39:32 3796

原创 Filter实现原理及内部流程

一、Filter简介 APi中对Filter的描述极为精简,就是通过用户设置的过滤条件,通过Filter内部的一系列操作(对数据的过滤处理通常通过线程异步操作)实现过滤条件,最终获得过滤后的结果。一般通过实现Filterable接口调用(自定义的)Filter。1、FilterableFilterable定义一过滤行为,利用Filter对数据进行过滤处理。Filterable通

2015-07-24 11:17:38 1533

原创 自定义控件(二):详解设置view属性内部流程

用代码实现XML布局,可以明确看出Android内部加载View的过程:1、创建view,通过setXXX方法设置view的固有属性,通过layoutparams内部类设置view相对父控件的布局属性。2、利用setContentView(view)绘制view。所以,在界面中绘制出view,实际上可以分为两个阶段,一是设置view属性并将其添加到View的层次结构中,等待androi

2015-07-20 11:05:21 1069

原创 自定义控件(一):View的测量及绘制流程、原理简介

本文简单介绍自定义控件的流程及原理,并从源码角度解读了Measure(),onMeasure(),draw(),onDraw()等方法,并实现了一个简单的显示系统媒体音量变化的自定义控件

2015-07-12 14:10:50 640

原创 Bitmap内存优化--使用BitmapFactory.options及SoftReference解决OutOfMemory问题

解决Bitmap经常出现OutOfMemory: Android手机分配给App的内存并不是无限的(即最大可用内存),而是有固定限制的, Bitmap会非常占用内存,导致OutofMemory问题,有三个策略:策略一:对bitmap进行缩放,直接降低在内存中的存储空间; 策略二:通过SoftReferences(软引用)策略; 策略三:开启线程进行异步加载图片,避免出现卡顿现象。

2015-06-30 09:02:28 719

原创 高级控件AdapterView(二):通过Observer实现数据、视图同步刷新

多条目控件AdapterView子控件,ListView,GridView等利用DataSetObserver(观察者Observer)实现数据、视图动态同步刷新的原理

2015-06-26 16:18:03 1650

原创 高级控件AdapterView(一):Adapte继承体系及BaseAdapter

Adapt是一个接口,是联通多条目控件AdaptView(ViewGroup是其父类,ListView、GridView、SpinnerView是其子类)与数据集的桥梁,主要有两个功能:1)决定多条目控件AdaptView子视图(如ListView)有多少项,即数据集有多少项;2)决定每一项如何显示,即XML视图布局和属性,属性值由数据集提供。

2015-06-26 09:59:18 940

原创 Android学习第四课:Java代码动态创建View及LayoutParams类(二)

可视化一个控件(View或ViewGroup),关键是对控件属性进行设置,确保控件能够正确显示。控件的属性可以分为两类,一类是控件本身自有属性,可以通过View.setXXX或ViewGroup.setXXX进行设置,这些属性是控件固有的;还有一类属性是控件向其父控件传递的,主要是告知父控件其自身的width,height,这些是通过ViewGroup的静态内部类View.ViewGroup.La

2015-06-23 18:46:18 1331 1

原创 Android学习第四课:Java代码实现XML布局

略述XMl布局的一些概念,指出XML布局生成视图的原理,并通过java语言实现xml布局

2015-06-21 12:41:16 855

原创 Android学习第三课:I/O文件读写操作(一)

Android中“字节流”和“字符流”I/O操作梳理,主要包括InputStream/OutputStream +FilterInputStream/FilterOutputStream为代表的字节操作架构,Reader/Writer+FilterReader/FilterWriter为代表的字符流操作架构,以及字符流、字节流相互转化的InputStreamReader/OutPutStreamWriter

2015-06-20 13:26:36 1113

原创 Android学习第二课:Assets资源文件读取及AssetManager介绍

Assets资源介绍,以及AssetManager API小结

2015-06-20 11:34:44 10201

原创 Android学习第一课:自定义日志LogCat输出

对于新手来讲,调试技术是android学习的第一步,Android有强大的日志输出类Log,通过插入Log语句,如Log.i(TAG,MSG),可以方便输出需要查看的信息(String)MSG,通过在LogCat面板查看,从而准确验证程序运行是否正常。    但Log语句在方便的同时,也会导致程序各个地方都会出现散乱的Log语句,程序调试完毕后,需要一一注释掉,但若出现新的问题,这些注释语句可

2015-06-17 23:01:02 665

空空如也

空空如也

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

TA关注的人

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