自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 博客的全站式导航

Android开发必备Android四大组件ActivityServiceBoardCastRecieverContentProviderAndroid基础控件Android自定义ViewAndroid开发进阶

2016-12-11 11:19:39 859

原创 Android开发进阶—Android的消息机制

1.什么是Android的消息机制       提到Android的消息机制大家应该都不会陌生,在日常的开发中不可避免的要涉及到这方面的内容。在开发的角度上来看,Android的消息机制主要是指Handler的运行机制,Handler在运行的过程中需要底层的MessageQueue和Looper的支持,MessageQueue为消息队列,但是它的内部储存结构并不是队列而是链表的结构,毕竟对于M

2017-07-08 23:20:47 486

原创 Android开发进阶—Android中的View

1.什么是View?       View是Android中所有控件的基类,不论是简单的Button还是较为复杂的ListView或者LinearLayout,它们的共同基类都是View。所以说Android中的View是一种界面层的控件的一种抽象。除了View以外还有ViewGroup,从字面意义上来看它是控件组的意思,也就是说它的内部可以包含许多的控件,其实ViewGroup也是继承自Vi

2017-05-24 10:54:47 551

原创 Android开发进阶—线程和线程池

1.Android中的线程       在操作系统中,线程是操作系统能够调度的最小单元,同时线程又是一种受限的系统资源,即线程不能无限制的产生,并且线程的创建和销毁都会有相应的开销。线程在Android开发的过程中是一个很重要的概念,从用途上区分大概可以分为两种主线程和子线程。主线程是指进程所拥有的线程,在Java中默认一个进程只有一个线程,而这个线程就是主线程,主线程又被称为UI线程主要处理

2017-05-05 16:48:05 528

原创 Android基础控件—RecycleView

1.RecycleView是什么?       自Android 5.0之后,谷歌公司推出了RecylerView控件,RecylerView是support-v7包中的新组件,是一个强大的滑动组件,与经典的ListView相比,同样拥有item回收复用的功能,这一点从它的名字recylerview即回收view也可以看出,相对于经典的ListView控件RecyclerView自然拥有Lis

2017-05-02 17:01:12 629

原创 RxJava—创建操作符

1.前言       在前面的一篇文章中介绍了RxJava的一些基本概念和RxJava的最简单用法,如果对这两个不是很清楚的话建议去看看RxJava—入门介绍。从本章开始会开始聊聊RxJava中的操作符(Operators),RxJava之所以强大是因为它提供了丰富且功能强大的操作符,通过使用和组合这些操作符几乎可以完成所有想要完成的任务,RxJava的操作符主要分为:创建操作符、转换操作符、

2017-04-25 22:34:28 542

原创 RxJava—组合操作符

1.前言       在前一篇文章中向大家介绍了过滤操作符,如果对过滤操作符不是很清楚的建议可以去看一下RxJava—过滤操作符。那么在这一章中我们就来介绍RxJava中的组合操作符,这类operators可以同时处理多个Observable来创建我们所需要的Observable。组合操作符主要包括: Merge,StartWith,Concat,Zip,CombineLatest,Swi

2017-04-23 14:50:57 560

原创 RxJava—过滤操作符

1.前言       在前一篇文章中向大家介绍了转换操作符,如果对转换操作符不是很清楚的建议可以去看一下RxJava—转换操作符。那么在这一章中我们就来介绍RxJava中的过滤操作符,顾名思义过滤操作符主要就是对事件数据根据相应的条件进行过滤,只返回满足过滤条件的数据,过滤操作符主要包括:Filter、Take、TakeLast、TakeUntil、Skip、SkipLast、ElementA

2017-04-22 11:34:25 840

原创 RxJava—转换操作符

1.前言       在前面的一篇文章中介绍了RxJava的一些基本概念和RxJava的最简单用法,如果对这两个不是很清楚的话建议去看看RxJava—入门介绍。在本章会开始聊聊RxJava中的操作符(Operators),操作符是为了解决对Observable对象的变换的问题,操作符用于在Observable和最终的Subscriber之间修改Observable发出的事件,RxJava提供了

2017-04-15 23:58:31 497

原创 RxJava—入门介绍

1.前言       最近这段时间公司有一个项目需要重构,需要使用MVP+RxJava+Retrofit+RxBinding这样的模式进行,而最近一年多的时间来国内的技术圈子中也越来越多的开始提到RxJava,在进行项目重构之初经过一段时间的自学之后,我也深深的感受到了RxJava的魅力,RxJava使用的是响应式编程的思想,它能帮我们简化代码的逻辑(代替Android提供的AsyncTask

2017-04-13 22:46:30 980

原创 Android开发进阶—View事件分发机制完全解析(上)

1.前言       在Android开发中,事件分发机制是一块Android比较重要的知识体系,了解并熟悉整套的分发机制有助于更好的分析各种点击滑动失效问题,更好去扩展控件的事件功能和开发自定义控件,总结一句:事件分发机制很重要。对于Android事件分发没有一点点概念的可以先去看看View的事件体系。2.Android事件的分发       在Android的事件分发中只有两个

2017-04-07 23:18:06 448

原创 设计模式—工厂模式

1.工厂模式是什么工厂模式是Java中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式,在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。工厂模式又主要分为三种:简单工厂模式、工厂方法模式和抽象工厂模式2.简单工厂模式

2017-04-02 23:10:03 391

原创 Android基础控件—SearchView

1.SearchView是什么?       SearchView是Android原生的搜索框控件,可以很方便的添加到用户界面中,用于用户的搜索查询功能。但是SearchView的UI是固定的,自定义起来会比较麻烦,如果对SearchView的要求比较高,还是使用EditText和Button自定义实现。2.在代码中具体实现       除此之外,SearchView还有一些简单的属性

2017-03-31 10:02:34 23107

原创 Android开发进阶—跨进程通信(IPC)使用AIDL(上)

1.Android跨进程通信       IPC是Inter-Process Communication的缩写,含义就是进程间通信或者跨进程通信,是指两个进程之间进行数据交互的过程。在说起进程间通信之前我们需要了解什么是进程,什么又是线程。在操作系统中线程指的是CPU调度的最小单元,同时在一个设备中线程是一种有限的系统资源。而进程一般指的是一个执行单元,在PC或者移动设备中指一个程序或者一个应

2017-03-20 17:58:51 508

原创 设计模式—策略模式

1.策略模式是什么?       策略模式属于对象的行为模式,是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使它们之间可以相互替换,此模式在算法的变化下不会影响到使用算法的客户。2.策略模式的结构图       策略模式实际上是对算法的包装,是通过把使用算法和责任算法分开,委派给不同的对象进行管理,通常的做法是把一个系列的算法包转到一系列的策略类中,作为一个抽象策略类

2017-03-12 10:31:20 318

原创 Android开发进阶—View的工作原理

1.前言       在Android的体系中View扮演者很重要的角色,虽然说View不属于Android的四大控件,但是它的作用和四大组件一样重要。简单的说,View是Android在视觉上的呈现,系统给我们提供了一套GUI库,里面有很多控件我们可以直接使用,比如:TextView、EditText、Button等,也可以进行自定义后使用。2.View的绘制流程     首先我们通

2017-03-04 17:46:36 576

原创 Android基础控件—GridView

1.GridView是什么?       GridView又称为网格视图或者九宫格视图,当手机屏幕上需要显示比较多的内容时(包括文字、图片或者其它元素),可以使用GridView。最常见的GridView使用在于早期Android手机的一二级菜单和相册里的照片墙效果,当然如果将GridView的这种布局方式用于软件的主页面用来显示菜单,也是比较好的选择。2.代码中具体实现

2017-02-26 16:41:18 925

原创 Android基础控件—CardView

1.CardView是什么?       CardView最开始是流行在Google+上的,后来越来越多的APP也使用了这样一种新特性引入了Card的这样一种新的布局方式(卡片式布局),因此在Android5.0系统上,随着Material Design的一种设计理念的推出,Google就索性提供了CardView控件,方便开发者的使用。       其实CardView也是一个容器类布局

2017-02-25 10:59:30 615

原创 设计模式—依赖倒转原则

1.依赖倒转原则是什么?       依赖倒转原则也被称为依赖倒置原则,它的原始定义是:High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details sh

2017-02-19 17:09:25 1088

原创 设计模式—单一职责原则

1.单一职责原则是什么?       单一职责原则又被称为单一功能原则,是面向对象的六大基本原则之一,简单的说就是对一个类而言,应该有且只有一个变化的原因。一个类只有一个引起它变化的原因就是一个类只有一个职责。如果说一个类中的每个职责都是变化的一个轴线,如果这个类有一个以上的职责,这些职责就会耦合在一起,这样的设计是脆弱的,当其中的一个职责发生变化时就会有可能影响其它的职责。另外,多个职责耦合

2017-02-18 14:07:57 642

原创 设计模式—Java反射机制

1.Java反射机制是什么?       反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。       反射是Java中一种强大的工具,能够使我们很方便的创建灵活的代码,这些代码可以运行时再装配,无需在组件之间进行源代码链接,但是反射使

2017-02-08 10:47:07 1637

原创 设计模式—开放-封闭原则

1.开放-封闭原则是什么?       开放-封闭原则是说软件实体(类、模块、函数)应该时可以扩展的,但是不可修改。这个原则其实有两个特性,一个是对于扩展是开放的,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况,另一个是说对于更改是封闭的,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。       “需求总是变化”、“世界上没有一个软件是不变的”,这

2017-02-04 10:08:22 613

原创 Android开发进阶—View的滑动

1.前言      在Android设备上由于手机屏幕尺寸的局限性,为了给用户呈现更多的内容就需要使用滑动的操作去隐藏或者显示一些内容。但是不管是多么绚丽的滑动效果,归根结底都是由不同的滑动加上一些特效组成的,因此滑动在Android中具有很重要的效果。View的滑动一般可以通过View本身提供的scrollTo/scrollBy方法实现、通过动画给View添加平移效果、通过改变View的La

2017-01-18 15:31:21 425

原创 设计模式—单例模式

1.单例模式是什么?       单例模式是设计模式中最简单的形式之一,也是一种常见的软件设计模式。这一模式的目的是使得类中的一个对象为系统中的唯一实例并且提供一个全局访问点,这里就要解决如何绕过常规的构造方法,提供一种机制来保证一个类只有一个实例?想要解决这以问题就需要从客户端对其进行实例化开始,因为客户端在调用某一个类进行实例化的过程中,它不会考虑这个类是否只能有一个实例的问题,所有在设计

2017-01-17 10:50:28 707

原创 Android开发进阶—View的事件体系

1.前言View虽然不属于Android的四大控件,但是它的作用和四大组件一样重要。在Android的开发中系统先天的为我们提供了很多的控件,比如:TextView、EditText、Button等。但是很多时候仅仅使用系统定义的控件往往是不能满足需求的,因此就需要自定义新的控件,想要自定义新的控件就需要对View的体系有深入的了解,只有这样才能自定义出完美的控件。2.View是什么?

2017-01-14 17:07:12 520

原创 Android枢纽—Intent

1.前言       初学者看到这里应该感觉到很奇怪,Android的四大组件只有Activity、Service、BroadcastReceiver和ContentProvider并没有Intent,为什么要把Intent放到这里来讨论呢?其实原因很简单Intent是四大组件的枢纽,是Android通信的桥梁,没有Intent我们连最基本的功能都不能完成。2.Intent是什么?

2017-01-06 10:15:22 447

原创 Android四大组件—ContentProvider

1.ContentProvider是什么       ContentProvider从字面上理解是内容提供器的意思,主要是用来实现程序与程序之间实现数据共享的功能,在Android中提供了一套完整的机制,它允许一个程序去访问另一个程序中的数据,同时还能保证数据的安全性。ContentProvider可以选择只对哪一部分的数据进行共享,不进行共享的数据其他的程序就无法访问,从而保证了程序中重要的

2016-12-25 16:08:07 557

原创 Android四大组件—BroadcastReceiver

1.BroadcastReceiver是什么?       BroadcastReceiver从字面意思上看是广播接收者的意思,Android系统中利用广播作为一种通信的手段。这里举一个很形象的例子,在我们上学期间想必都参加过开学典礼吧,在每年的开学典礼中都会有表扬上学期成绩优秀的学生这一环节,这时候就会在讲台上广播上台领奖学生的姓名班级,下面的学生听到自己的名字后就上台领奖。其实这就是And

2016-12-17 12:55:09 727

原创 Android四大组件—Service

1.Service是什么?       Service是一种在后台运行的组件,用于执行长时间运行的操作或为远程进程执行作业。是Android中实现程序后台运行的解决方案,它不提供用户界面,因此非常适用于那些不需要和用户进行交互而且还要求长期运行的任务。例如,当用户位于其他应用中时,服务可能位于后台播放音乐或者通过网络获取数据,但不会阻断用户和当前Activity的交互。Service默认不会运

2016-12-12 21:56:43 499

原创 Android四大组件—Activity

1.Activity是什么?       Activity是一种可以包含用户界面的组件,在我们使用APP的过程中主要就是和Activity进行交互,一个APP中可以包含零个或者多个Activity,但是不包含任何Activity的应用很少见,毕竟所有的APP开发者都不会让自己的辛辛苦苦写出来的应用这么没有存在感吧。Activity作为四大组件中使用频率最高的一个组件,做为开发者的我们来说。了解

2016-12-11 16:22:43 533

原创 Android自定义View—ClockView

1.前言前面的文章中介绍了绘制基本几何图案的方法,其实只要灵活的运用这些方法就可以自定义出我们想要的VIew。最近观察到家中墙上挂的圆形时钟,于是就在思考怎样用自定义View的方法去实现一个圆形时钟,并且可以记录时间。今天就为大家带来一个自定义的圆形时钟。2.实现分析按类型来划分自定义View的实现方式大概可以分为三种,自绘控件、组合控件和继承控件。当Android自带的View满

2016-12-04 11:44:43 660

原创 Android自定义View—RulerView

1.前言在日常的生活中我们有时会用到刻度尺去测量某些东西,但是我们又不可能随身携带一把尺子,那么接下来我们就利用自定义View的方式,去在手机上画一把标准的刻度尺2.实现分析在前面的文章中已经介绍了怎样画出简单的图形和直线,其实画出标准的刻度尺也很容易,需要先画出一个矩形作为尺子的轮廓,然后在上边缘画出刻度和数值即可。这里要注意的就是屏幕适配的问题,因为在安卓中会有屏幕大小不同,分

2016-11-21 14:26:00 1855

原创 Android绘图初步—Path

1.前言Path是Android中用来封装几何路径的一个类,Path主要用于绘制复杂的图形轮廓,比如折线,圆弧以及各种复杂图案。2.实现分析Android为我们提供的Path类是一个非常有用的类,它可以预先在View上将N个点按照顺序,将这N个点依次连接成一条“路径”,然后使用Canvas的drawPath(Path path, Paint paint)方法即可沿着路径进行绘制,事实上

2016-10-31 14:45:13 709

原创 Android绘图初步—Canvas

1.前言在Android中如果我们想进行比较复杂的自定义View或者游戏控件,我们就要使用到绘图的API,同时这些也是我们自定义View的基础。2.实现分析Android是通过graphics类来显示2D图形,其中graphics中又包括了Canvas、Paint、Colcr、Bitmap等类。graphics是具有绘制点、线、颜色、2D几何图形、图像处理等功能。本节主要为大家介绍Pa

2016-10-19 11:16:20 531

原创 Android解析数据—JSON格式数据

1.前言      上一篇文章向大家介绍了XML数据的解析,那么接下来我们要去学习如何解析JSON格式的数据,相对于XML,JSON的主要优势在于它的体积更小,在网络上传输的时候可以更省流量。但缺点在于,它的语义性较差,看起来不如XML直观。2.数据分析     (1)JSON格式JSON(JavaScript Object Notation)与XML格式相比较是一种轻量级的数据交

2016-10-02 17:59:29 901

原创 Android解析数据—XML格式数据

1.前言  目前的绝大多数移动端的应用都需要访问网络,既然需要访问网络就必须有一个自己的服务器,应用可以向服务器提交数据也可以从服务器上获取数据。这个时候就会出现一个问题,这些数据到是是以什么样的格式与服务器进行交流呢?随随便便的一段文本肯定不行,因此,一般我们会在网络上传输一些有着一定的结构和语义的的数据,当一方接收到这种数据后就可以按照相应的结构和语义进行解析,读取到相应的内容。在网络

2016-09-03 09:44:53 1006

原创 Android自定义View—KeyboardView

1.背景最近在做把枪项目的过程中遇到这样一个需求,有一个客户在用把枪的过程中嫌把枪屏幕太小了,于是就用把枪连接pad使用,在pad上看商品的信息。这是就遇到一个问题,当把枪与pad连接上以后系统键盘无法弹出,试了一下别的第三方键盘也是无法弹出,于是只能用一个自定义View的方式去写一个简单的键盘(包括0~9,回车键和删除键)去解决这个问题。2

2016-08-16 16:36:28 1759

原创 Android自定义View—CouponsView

1.前言          最近在有的团购APP上见到有的订单会使用卡券的效果,其实要实现这种卡券效果无外乎两种方式,第一种是使用现成的图片做背景,第二种是自定义View来实现。由于自己觉得用现成的图片来做会导致在适配的过程中出现问题,所以用自定义View的方式来实现是一个比较理想的办法。        2.实现分析       实现的效果图就跟上面的图

2016-08-16 16:22:19 381

空空如也

空空如也

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

TA关注的人

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