自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

YS0813的博客

小白到大白

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

原创 浅谈 2017 Google I/O 开发者大会

浅谈 2017 Google I/O 开发者大会 正式从 Mobile First to AI First (移动先行转变为人工只能先行)

2017-05-26 16:20:03 2460

原创 Android 笔记-RecyclerView简单使用

RecyclerView简单使用说起做滚动功能,首先就会想到ListView,但是需要做更强大的功能,ListView就做不到了。所以RecyclerView就孕育而生!实现步骤:1、在布局中添加 RecyclerView 控件:2、定义一个工具类3、定义适配器类4、定义数据源5、创建适配器6、设置布局管理器7、设置适配器 接下来实现ta1、在布局中添加 RecyclerView

2017-09-12 15:25:12 571 1

原创 字符编码 与 解码

字符编码 字符编码,也称字集码,是把字符集中的字符编码为指定集合中某一对象(例如:比特模式、自然数序列、8位组或者电脉冲),以便文本在计算机中存储和通过通信网络的传递。常见的例子包括将拉丁字母表编码成摩斯电码和ASCII。其中,ASCII将字母、数字和其它符号编号,并用7比特的二进制来表示这个整数。通常会额外使用一个扩充的比特,以便于以1个字节的方式存储。 字符是各种文字和符号

2017-07-14 15:21:39 979

原创 MVC 和 MVP 的对比

MVC 和 MVP 的对比 MVC模式的定义:Model-View-Control ,是一种软件设计的典范,把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离。 MVP模式的定义:Model-View-Presenter,MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方,Controller/Presenter 负责逻辑的处

2017-05-30 14:56:19 552

原创 DrawerLayout 侧滑菜单

DrawerLayout 是 Google 官方给我们提供的一个侧滑菜单控件,3.0 以后引入,低版本使用它则需要 v4 兼容包。

2017-05-25 11:03:35 501 1

原创 MVVM 模式

MVVM 模式是 Model View ViewMode 模式的简称。由模型(Model)、视图(View)、视图模型(ViewModel)三部分组成。MVVM 模式把 Presenter 改为 ViewModel,大致上与 MVP 模式一致。两者的区别是,MVVM 采用双向绑定:View 的变动,自动反映在 ViewModel。

2017-05-24 21:21:49 496

原创 Android 双击返回键退出应用

多个按钮实现点击有两种

2017-05-18 10:59:33 416

原创 MVP 模式

MVP 模式MVP 模式是由 MVC 模式衍生而来。MVP 模式将 Controller 改名为 Presenter,同时改变了通信方向。1、各部分之间的通信,都是双向的。2、 View 与 Model 不发生联系,都通过 Presenter 传递。3、 View 非常薄,不部署任何业务逻辑,称为"被动视图"(Passive View),即没有任何主动性,而 Presenter非常厚,

2017-05-13 18:02:59 387

原创 MVC 模式

MVC 模式MVC 的定义: MVC 即 Model View Controller,它是一种软件设计的典范,是把一个应用的输入、处理、输出流程按照 Model、View、Controller 的方式进行分离,也就是将界面和业务逻辑分离。模型(Model):模型是程序的主体部分,它提供要展示的数据,包含数据和行为,主要提供了模型数据查询和模型数据的状态更新等功能。视图(View):视图是显示

2017-05-13 00:44:06 789

原创 设计模式之单例模式

设计模式之单例模式 单例模式(Singleton): 介绍保证一个类仅有一个实例,并提供一个访问它的全局访问点。也就是这些类只能有一个实例;能够自动实例化;对整个系统可见,也就是必须向整个系统提供这个实例。单例模式只应在有真正的“单一实例”的需求时才可使用。用处:当想要控制实例数目,节省系统资源的时候,可以使用单例模式。优点: 1、内存里只有一个实例,减少了内存的开销。 2

2017-04-21 18:54:56 423

原创 HTTP POST 请求

HTTP POST 请求public class HttpPostRequest { /** * 向指定 URL 发送 POST 方法的请求 * * @return 返回响应结果 */ public static String sendPost(String url, String param) { PrintWriter o

2017-04-21 18:38:39 411

原创 HTTP GET 请求

Http GET 请求HTTP 请求方法: 1、OPTIONS - 返回服务器针对特定资源所支持的HTTP请求方法。 2、HEAD - 请求页面的首部。 3、GET - 从指定的资源请求数据。 4、POST - 向指定的资源提交要被处理的数据 5、PUT - 从客户端向服务器传送的数据取代指定的文档的内容。 6、DELETE - 请求服务器删除指定的

2017-04-21 18:22:29 645

原创 设计模式之代理模式

设计模式之代理模式 代理模式就是一个类代表另一个类的功能。代理模式给某一个对象提供一个代理对象,并由代理对象控制对源对象的引用。代理就如一个人或一个机构代表另一个人或者一个机构采取行动。某些情况下,客户不想或者不能够直接引用一个对象,代理对象可以在客户和目标对象直接起到中介的作用。用处:想在访问一个类时做一些控制可以使用代理模式。优点: 1、职责清晰。 2、高扩展性。

2017-04-17 23:48:41 336

原创 设计模式之工厂模式

设计模式之工厂模式 工厂模式是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。用处:当我们明确地计划不同条件下创建不同实例时,就可以使用工厂模式。优点: 1、一个调用者想创建一个对象,只要知道其名称就可以了。 2、扩展性高,如果想增

2017-04-17 21:48:48 288

原创 设计模式之装饰器模式

设计模式之装饰器模式 装饰器模式是一种动态地向一个类添加新的行为的一种设计模式,就功能而言,装饰器模式相比生成子类更为灵活。它是作为现有的类的一个包装。 用处:当你想要在不想增加很多子类的情况下可以使用此模式来扩展。 优点:装饰类和被装饰类可以独立发展,不会相互耦合。装饰器模式可以动态扩展一个实现类的功能。 缺点:多层装饰会比较复杂。举一个新老版本播放器的

2017-04-17 16:59:28 417

原创 23 种设计模式

23 种设计模式一、设计模式的分类:总体分为三大类: 1、创建型模式:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。五种 2、结构型模式:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。七种 3、行为型模式:策略模式、模板方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。 十一种

2017-04-17 10:18:12 1227

原创 数据结构 —— 数组

数据结构 —— 数组 数组结构其实就是一排紧密相邻的可数内存,在编程中算是常见的结构,用于存储多个数据。每个数组元素存放一个数据,可通过数组元素的索引访问、赋值以及取出元素的值。数组的声明通常包含以下属性:1、起始地址:表示数组名所在内存中的起始地址。2、维度:表示几维数组。(如一维数组、二维数组等)3、索引上限和下限:是指元素在数组中内存所存储位置的上标和下标。4、数组元素个数:是指索引上

2017-04-05 19:43:32 909

原创 数据结构 —— 线性表

数据结构 —— 线性表 线性表(有序表 - Ordered List),它是数学概念应用在计算机科学中一种相当基本的数据结构。简单来说就是 N 个元素的有限序列(N>= 0),例如 26 个英文字表就是一个线性表。线性表数据元素可以是任何一种类型,同一线性表中的元素必须属于同一类型。有序列表可以空集合(n = 0 时称为空表),或者可以写成(X1, X2, X3, … ,Xn-1, Xn)

2017-04-04 22:45:01 804

原创 面向对象 与 面向过程 的区别

面向对象 与 面向过程 的区别 面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。 下面我们用小例子来说明 相比面向过程,面向对象的优越性: 生活中比如饭点到了,出去吃饭:面向过程:

2017-03-26 15:32:39 779 1

原创 JAVA 的垃圾回收机制

JAVA 的垃圾回收机制对于 JAVA 垃圾回收机制,刚学 JAVA 就学过,挺长时间不用了,现在重新记一下,方便以后查阅。 如果一些分配出去的内存空间不需要时没有及时回收,就会引起内存泄漏,也就是会引起系统运行速度的下降,严重的话甚至会导致整个程序瘫痪。所以回收这些内存空间,以节省宝贵的内存资源就显得尤为重要。 JAVA 提供了一个系统级的线程(JAVA 垃圾收集器线程)来

2017-03-25 11:24:24 360

原创 TCP 协议三次握手

TCP 协议三次握手 所谓三次握手(Three-way Handshake)是指建立 TCP 连接时客户端与服务端一共要发送三次报文。(客户端发送 SYN 报文 --> 服务端发送 SYN + ACK 报文 --> 客户端发送 ACK 报文)第一次握手: 客户端发送一个 TCP 的 SYN 标志位置 1 的报文(SYN = 1)用来指明打算连接的服务器的端口号,以及初始化端口号 X (

2017-03-24 23:50:10 310

原创 TCP 和 UDP 的区别

TCP 和 UDP 的区别 TCP 和 UDP 协议是属于 OSI 模型中的传输层协议。 TCP 提供 IP 环境下的数据可靠传输,它具有有效流控、全双工操作、多路复以及端到端和可靠的数据包发送。UDP 提供面向事务的简单不可靠信息传送服务.对可靠性要求低、传输经济的应用。TCP TCP 是基于连接的协议,也就是在正式收发数据前,必须和对方建立可靠的连接(在通信的两端各建立一个

2017-03-21 20:27:31 352

原创 脚本语言和JAVA语言运行机制的区别

脚本语言和JAVA语言运行机制的区别脚本语言 脚本语言一般都有相应的脚本引擎来解释执行,需要解释器才能运行。脚本语言有很多种,解释器也有很多种,所以不同的脚本需要不同的解释器,只有脚本与解释器对应,才能正确解释脚本。 python 为例: python 源码不需要编译成二进制代码,它可以直接从源代码运行程序。当我们运行 python 文件程序的时候,python 解释器将源代码转

2017-03-20 23:45:51 4912

原创 线程死锁

线程死锁 线程死锁是指两个或两个以上的进程在执行过程中,双方都在等待对方停止运行,以获取系统资源,但是没有一方提前退出时,就称为死锁,若无外部处理,将无限等待下去。死锁问题不仅在计算机系统中存在,在我们日常生活中它也广泛存在。例如:过窄桥。把桥喻作资源,把汽车喻为进程。窄桥无法两辆汽车并行。如果A、B两辆汽车在桥的两端相向行驶,当A、B在桥上相遇时(也就是A、B都拥有了桥的一部分资源),想要过

2017-03-19 23:09:20 406

原创 TCP/IP 协议分层

OSI 曾试图变成全世界计算机网络都遵循的统一标准。但是它的结构复杂,开发周期长以及分层不合理等方面导致被淘汰。而非国际标准 TCP/IP 协议却得到了全世界的认可。 TCP/IP 通常被分为四层系统协议,分别是应用层、运输层、网际层和网络接口层。第一层:网络接口层 网络接口层是 TCP/IP 协议的底层,是整个体系结构的基础部分。与 OSI 的物理层和数据链路层相对应。主要负责接收

2017-03-12 17:28:41 456

原创 对 面向对象 的理解

先来说一下面向过程,面向过程是分析出解决问题所需要的步骤,然后用把这些步骤一步一步实现。而面向对象强调的对象,把这些步骤封装在对象里,只需要操作接口就可以了。面向对象的三大特征:封装、继承以及多态。封装:对对象的属性和实现的细节进行封装,仅对外提供访问方式。提高了代码的复用性和安全性。继承:类与类之间产生父与子的关系(子类继承(extends)父类),子类具有了父类的所有特征,同时,子类也可以

2017-03-12 01:10:17 540

原创 什么是脚本语言?什么是编译语言?二者区别在哪?

什么是脚本语言? 脚本语言是一种介于标记语言和编程语言之间的语言,没有编程语言复杂、严谨的语法和规则。 脚本语法比较简单,比较容易掌握,与编程语言也有许多相似之处,其函数与编程语言比较相似一些。与编程语言之间最大的区别是编程语言的语法和规则更为严格和复杂一些。 脚本语言是解释性的语言,例如Python、javascript(目前接触过)等等,它不象c\c++等可以编译成二进制代

2017-03-11 15:10:08 7912

原创 Android 四种点击事件的方法

今天做 UI 用到 Button ,就来说一下 Android Button 的几种点击方法! 点击事件的方法有四种:1、内部类2、匿名内部类3、布局文件夹添加 Onclick 属性,并在 activity 中声明方法4、在主类中实现 OncickListener 接口,并在主类中实现未实现的方法。接下来我们一一细说第一种:内部类xml代码:JAVA 代码:————————-分割

2017-03-02 23:47:28 797

原创 工程目录

工程目录:

2017-02-27 19:51:01 390

原创 JAVA 的 for 循环语句

for 循环分为两种结构,基本 for 循环 和 增强型 for 循环。先来看看两种的语法结构: 1、简单 for 循环: for(表达式1; 表达式2; 表达式3){ 循环体; } 流程:先执行表达式1,再判断表达式2,若表达式2为 true,则执行循环体。执行完循环体后就执行表达式3,然后再判断表达式2,如果为 true,就继续执行,若为

2017-02-27 19:08:54 429

原创 JAVA 的 do-while 循环语句

do-while 语句和 while 语句类似,不过 do-while 是先执行循环体重的语句,然后再判断表达式的值。当表达式的值为 true,则继续执行循环体的语句,当表达式的值为 false 时,才退出循环。也就是说,do-while 语句循环体中的语句至少会执行一次。看一下 do-while 的执行流程: do-while 的格式如下:do{ 循环体语句;}while(循环条件);

2017-02-27 16:49:10 755

原创 JAVA 的 while 循环语句

while 语句是一种循环结构,当条件满足时,反复执行代码块。我们可以理解为“当...”的意思while 语句的格式: while(循环条件) { 循环体; }循环条件是布尔表达式,取值只能是 true 或 false。来看一下 while 语句的流程图: 当表达式为 true 时,则执行循环体中的语句,执行完后再次判断循环条件,若为 true ,再次执行,

2017-02-27 13:08:53 1079

原创 JAVA 控制流程之分支语句 (switch)

switch 和 if 都是分支语句,if 一般用于简单的分支判断,而 switch 常用于多分支判断。我们就来说一下 switch 分支语句。 switch 语句由一个控制表达式和多个case 标签组成。 switch 控制表达式支持的类型有 byte、short、char、int、enum、String。 default 在当前 switch 找不到匹配的 case 时才执

2017-02-26 15:16:12 1706

原创 JAVA 控制流程之分支语句 (if -else)

JAVA 的分支语句 if-else 和 switch 。分支语句的作用是可以让程序根据不同的情况、不同条件进行不同操作,从而让程序更灵活。下面来了解一下流程图: if - else 语句的基本格式:if(表达式1) { 语句1;}else if(表达式2){ 语句2;}else if(表达式n){ 语句n;}else{ 语句n+1;}使用的时候要注意以下几

2017-02-26 13:45:34 2781

原创 AutoCompleteTextView —— 自动完成文本框

AutoCompleteTextViewAutoCompleteTextView 是 EditText 的子类。它是一个自动提示内容的文本框。顾名思义,它可以在当用户输入一定的字符时 AutoCompleteTextView 会显示一个下拉框,让用户选择,选择后 AutoCompleteTextView 就会自动将内容填入文本框。选择后自动填入文本框 —>AutoCompleteTextView

2017-02-20 15:22:51 781

原创 Android 常用的UI组件 2

Android 常用的UI组件 2【继续昨天没完成的内容~】 讲到 Button,那就讲讲 Button 派生出来的 ToggleButton (开关按钮)和 Switch (开关)。他们都提供两种状态。【1】ToggleButtonToggleButton的XML属性和方法:android:checked --> setChecked(boolean) [设置控件是否被选中]and

2017-02-19 13:12:06 419

原创 Android 常用的UI组件

Android 常用的UI组件 1 上一篇说了 Android的布局,今天我们来说一说Android 中一些常用的 IU组件。 我们平时用的APP,界面如此之美观,都是先创建布局容器,然后向容器里添加界面组件,最后才形成一个美观的UI界面。【1】 文本框(TextView) TextView 是在 Android 用的比较多的一个组件,其作用是用来显示一些需要显示的信息,但不能

2017-02-18 11:36:38 610

原创 Android界面布局

Android界面布局 Android提供了布局管理器来管理Android应用的用户界面里的各组件。通常推荐使用布局管理器来管理组件的分布、大小,而不是直接设置位置和大小。为了让组件在不同分辨率的手机屏幕上都能运行,布局管理器可以根据运行平台来调整组件的大小。我们要做的只是为容器选择适合的布局管理器就OK啦!【1】线性布局( LinearLayout ) 线性布局线性布局是一种让视图水

2017-02-17 13:38:13 421

原创 Android四大组件

Android四大组件(Activity 活动,Service 服务,Content Provider 内容提供者,Broadcast Receiver 广播接收器)Activity概述Activity是Android组件中最常见的四大组件之一。Activity是一个应用程序组件,提供一个屏幕,用户可以通过交互来完成某项任务。Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可

2017-02-05 21:11:45 603

原创 进程和线程的区别

进程: 进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元,在传统的操作系统中,进程是基本的分配单元,也是基本的执行单元。(简单来说就是在操作系统中运行的程序,它是操作系统资源管理的最小单位。)进程的基本状态: 1、就绪(Ready)状态: 当进程已分配到除CPU以外的所有必要资源后,只要在获得CPU,便可立即执行,进程这时的状态就称为就

2017-02-04 14:55:10 305

空空如也

空空如也

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

TA关注的人

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